update example for dynamically loading LAMMPS with current library API

This commit is contained in:
Axel Kohlmeyer
2021-09-11 11:54:28 -04:00
parent 1c21560c70
commit bd225e2484
6 changed files with 383 additions and 276 deletions

View File

@ -13,7 +13,7 @@ like below.
mpicc -c -O -Wall -g -I$HOME/lammps/src liblammpsplugin.c mpicc -c -O -Wall -g -I$HOME/lammps/src liblammpsplugin.c
mpicc -c -O -Wall -g simple.c mpicc -c -O -Wall -g simple.c
mpicc simple.o liblammsplugin.o -ldl -o simpleC mpicc simple.o liblammpsplugin.o -ldl -o simpleC
You also need to build LAMMPS as a shared library You also need to build LAMMPS as a shared library
(see examples/COUPLE/README), e.g. (see examples/COUPLE/README), e.g.

View File

@ -31,51 +31,105 @@ liblammpsplugin_t *liblammpsplugin_load(const char *lib)
if (lib == NULL) return NULL; if (lib == NULL) return NULL;
handle = dlopen(lib,RTLD_NOW|RTLD_GLOBAL); handle = dlopen(lib,RTLD_NOW|RTLD_GLOBAL);
if (handle == NULL) return NULL; if (handle == NULL) return NULL;
lmp = (liblammpsplugin_t *) malloc(sizeof(liblammpsplugin_t)); lmp = (liblammpsplugin_t *) malloc(sizeof(liblammpsplugin_t));
lmp->handle = handle; lmp->handle = handle;
#define ADDSYM(symbol) lmp->symbol = dlsym(handle,"lammps_" #symbol) #define ADDSYM(symbol) lmp->symbol = dlsym(handle,"lammps_" #symbol)
ADDSYM(open); ADDSYM(open);
ADDSYM(open_no_mpi); ADDSYM(open_no_mpi);
ADDSYM(open_fortran);
ADDSYM(close); ADDSYM(close);
ADDSYM(version);
ADDSYM(mpi_init);
ADDSYM(mpi_finalize);
ADDSYM(kokkos_finalize);
ADDSYM(python_finalize);
ADDSYM(file); ADDSYM(file);
ADDSYM(command); ADDSYM(command);
ADDSYM(commands_list); ADDSYM(commands_list);
ADDSYM(commands_string); ADDSYM(commands_string);
ADDSYM(free);
ADDSYM(extract_setting); ADDSYM(get_natoms);
ADDSYM(extract_global); ADDSYM(get_thermo);
ADDSYM(extract_box); ADDSYM(extract_box);
ADDSYM(reset_box);
ADDSYM(memory_usage);
ADDSYM(get_mpi_comm);
ADDSYM(extract_setting);
ADDSYM(extract_global_datatype);
ADDSYM(extract_global);
ADDSYM(extract_atom_datatype);
ADDSYM(extract_atom); ADDSYM(extract_atom);
ADDSYM(extract_compute); ADDSYM(extract_compute);
ADDSYM(extract_fix); ADDSYM(extract_fix);
ADDSYM(extract_variable); ADDSYM(extract_variable);
ADDSYM(get_thermo);
ADDSYM(get_natoms);
ADDSYM(set_variable); ADDSYM(set_variable);
ADDSYM(reset_box);
ADDSYM(gather_atoms); ADDSYM(gather_atoms);
ADDSYM(gather_atoms_concat); ADDSYM(gather_atoms_concat);
ADDSYM(gather_atoms_subset); ADDSYM(gather_atoms_subset);
ADDSYM(scatter_atoms); ADDSYM(scatter_atoms);
ADDSYM(scatter_atoms_subset); ADDSYM(scatter_atoms_subset);
ADDSYM(gather_bonds);
ADDSYM(set_fix_external_callback); ADDSYM(create_atoms);
ADDSYM(config_has_package); ADDSYM(find_pair_neighlist);
ADDSYM(config_package_count); ADDSYM(find_fix_neighlist);
ADDSYM(config_package_name); ADDSYM(find_compute_neighlist);
ADDSYM(neighlist_num_elements);
ADDSYM(neighlist_element_neighbors);
ADDSYM(version);
ADDSYM(get_os_info);
ADDSYM(config_has_mpi_support);
ADDSYM(config_has_gzip_support); ADDSYM(config_has_gzip_support);
ADDSYM(config_has_png_support); ADDSYM(config_has_png_support);
ADDSYM(config_has_jpeg_support); ADDSYM(config_has_jpeg_support);
ADDSYM(config_has_ffmpeg_support); ADDSYM(config_has_ffmpeg_support);
ADDSYM(config_has_exceptions); ADDSYM(config_has_exceptions);
ADDSYM(create_atoms);
ADDSYM(config_has_package);
ADDSYM(config_package_count);
ADDSYM(config_package_name);
ADDSYM(config_accelerator);
ADDSYM(has_gpu_device);
ADDSYM(get_gpu_device_info);
ADDSYM(has_style);
ADDSYM(style_count);
ADDSYM(style_name);
ADDSYM(has_id);
ADDSYM(id_count);
ADDSYM(id_name);
ADDSYM(plugin_count);
ADDSYM(plugin_name);
ADDSYM(set_fix_external_callback);
ADDSYM(fix_external_get_force);
ADDSYM(fix_external_set_energy_global);
ADDSYM(fix_external_set_energy_peratom);
ADDSYM(fix_external_set_virial_global);
ADDSYM(fix_external_set_virial_peratom);
ADDSYM(fix_external_set_vector_length);
ADDSYM(fix_external_set_vector);
ADDSYM(free);
ADDSYM(is_running);
ADDSYM(force_timeout);
#ifdef LAMMPS_EXCEPTIONS #ifdef LAMMPS_EXCEPTIONS
lmp->has_exceptions = 1; lmp->has_exceptions = 1;
ADDSYM(has_error); ADDSYM(has_error);

View File

@ -39,75 +39,121 @@ extern "C" {
#if defined(LAMMPS_BIGBIG) #if defined(LAMMPS_BIGBIG)
typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **);
#elif defined(LAMMPS_SMALLBIG) #elif defined(LAMMPS_SMALLSMALL)
typedef void (*FixExternalFnPtr)(void *, int64_t, int, int *, double **, double **);
#else
typedef void (*FixExternalFnPtr)(void *, int, int, int *, double **, double **); typedef void (*FixExternalFnPtr)(void *, int, int, int *, double **, double **);
#else
typedef void (*FixExternalFnPtr)(void *, int64_t, int, int *, double **, double **);
#endif #endif
struct _liblammpsplugin { struct _liblammpsplugin {
int abiversion; int abiversion;
int has_exceptions; int has_exceptions;
void *handle; void *handle;
void (*open)(int, char **, MPI_Comm, void **); void *(*open)(int, char **, MPI_Comm, void **);
void (*open_no_mpi)(int, char **, void **); void *(*open_no_mpi)(int, char **, void **);
void *(*open_fortran)(int, char **, void **, int);
void (*close)(void *); void (*close)(void *);
int (*version)(void *);
void (*mpi_init)();
void (*mpi_finalize)();
void (*kokkos_finalize)();
void (*python_finalize)();
void (*file)(void *, char *); void (*file)(void *, char *);
char *(*command)(void *, char *); char *(*command)(void *, const char *);
void (*commands_list)(void *, int, char **); void (*commands_list)(void *, int, const char **);
void (*commands_string)(void *, char *); void (*commands_string)(void *, const char *);
void (*free)(void *);
int (*extract_setting)(void *, char *);
void *(*extract_global)(void *, char *);
void (*extract_box)(void *, double *, double *,
double *, double *, double *, int *, int *);
void *(*extract_atom)(void *, char *);
void *(*extract_compute)(void *, char *, int, int);
void *(*extract_fix)(void *, char *, int, int, int, int);
void *(*extract_variable)(void *, char *, char *);
double (*get_natoms)(void *);
double (*get_thermo)(void *, char *); double (*get_thermo)(void *, char *);
int (*get_natoms)(void *);
int (*set_variable)(void *, char *, char *); void (*extract_box)(void *, double *, double *,
double *, double *, double *, int *, int *);
void (*reset_box)(void *, double *, double *, double, double, double); void (*reset_box)(void *, double *, double *, double, double, double);
void (*memory_usage)(void *, double *);
int (*get_mpi_comm)(void *);
int (*extract_setting)(void *, const char *);
int *(*extract_global_datatype)(void *, const char *);
void *(*extract_global)(void *, const char *);
void *(*extract_atom_datatype)(void *, const char *);
void *(*extract_atom)(void *, const char *);
void *(*extract_compute)(void *, const char *, int, int);
void *(*extract_fix)(void *, const char *, int, int, int, int);
void *(*extract_variable)(void *, const char *, char *);
int (*set_variable)(void *, char *, char *);
void (*gather_atoms)(void *, char *, int, int, void *); void (*gather_atoms)(void *, char *, int, int, void *);
void (*gather_atoms_concat)(void *, char *, int, int, void *); void (*gather_atoms_concat)(void *, char *, int, int, void *);
void (*gather_atoms_subset)(void *, char *, int, int, int, int *, void *); void (*gather_atoms_subset)(void *, char *, int, int, int, int *, void *);
void (*scatter_atoms)(void *, char *, int, int, void *); void (*scatter_atoms)(void *, char *, int, int, void *);
void (*scatter_atoms_subset)(void *, char *, int, int, int, int *, void *); void (*scatter_atoms_subset)(void *, char *, int, int, int, int *, void *);
void (*set_fix_external_callback)(void *, char *, FixExternalFnPtr, void*); void (*gather_bonds)(void *, void *);
// lammps_create_atoms() takes tagint and imageint as args
// ifdef insures they are compatible with rest of LAMMPS
// caller must match to how LAMMPS library is built
int (*config_has_package)(char * package_name); #ifndef LAMMPS_BIGBIG
int (*config_package_count)(); void (*create_atoms)(void *, int, int *, int *, double *,
int (*config_package_name)(int index, char * buffer, int max_size); double *, int *, int);
#else
void (*create_atoms)(void *, int, int64_t *, int *, double *,
double *, int64_t *, int);
#endif
int (*find_pair_neighlist)(void *, const char *, int, int, int);
int (*find_fix_neighlist)(void *, const char *, int);
int (*find_compute_neighlist)(void *, char *, int);
int (*neighlist_num_elements)(void *, int);
void (*neighlist_element_neighbors)(void *, int, int, int *, int *, int **);
int (*version)(void *);
void (*get_os_info)(char *, int);
int (*config_has_mpi_support)();
int (*config_has_gzip_support)(); int (*config_has_gzip_support)();
int (*config_has_png_support)(); int (*config_has_png_support)();
int (*config_has_jpeg_support)(); int (*config_has_jpeg_support)();
int (*config_has_ffmpeg_support)(); int (*config_has_ffmpeg_support)();
int (*config_has_exceptions)(); int (*config_has_exceptions)();
int (*find_pair_neighlist)(void* ptr, char * style, int exact, int nsub, int request); int (*config_has_package)(const char *);
int (*find_fix_neighlist)(void* ptr, char * id, int request); int (*config_package_count)();
int (*find_compute_neighlist)(void* ptr, char * id, int request); int (*config_package_name)(int, char *, int);
int (*neighlist_num_elements)(void* ptr, int idx);
void (*neighlist_element_neighbors)(void * ptr, int idx, int element, int * iatom, int * numneigh, int ** neighbors);
// lammps_create_atoms() takes tagint and imageint as args int (*config_accelerator)(const char *, const char *, const char *);
// ifdef insures they are compatible with rest of LAMMPS int (*has_gpu_device)();
// caller must match to how LAMMPS library is built void (*get_gpu_device_info)(char *, int);
#ifdef LAMMPS_BIGBIG int (*has_style)(void *, const char *, const char *);
void (*create_atoms)(void *, int, int64_t *, int *, int (*style_count)(void *, const char *);
double *, double *, int64_t *, int); int (*style_name)(void *, const char *, int, char *, int);
#else
void (*create_atoms)(void *, int, int *, int *, int (*has_id)(void *, const char *, const char *);
double *, double *, int *, int); int (*id_count)(void *, const char *);
#endif int (*id_name)(void *, const char *, int, char *, int);
int (*plugin_count)();
int (*plugin_name)(int, char *, char *, int);
void (*set_fix_external_callback)(void *, const char *, FixExternalFnPtr, void*);
void (*fix_external_get_force)(void *, const char *);
void (*fix_external_set_energy_global)(void *, const char *, double);
void (*fix_external_set_energy_peratom)(void *, const char *, double *);
void (*fix_external_set_virial_global)(void *, const char *, double *);
void (*fix_external_set_virial_peratom)(void *, const char *, double **);
void (*fix_external_set_vector_length)(void *, const char *, int);
void (*fix_external_set_vector)(void *, const char *, int, double);
void (*free)(void *);
void (*is_running)(void *);
void (*force_timeout)(void *);
int (*has_error)(void *); int (*has_error)(void *);
int (*get_last_error_message)(void *, char *, int); int (*get_last_error_message)(void *, char *, int);
@ -117,7 +163,7 @@ typedef struct _liblammpsplugin liblammpsplugin_t;
liblammpsplugin_t *liblammpsplugin_load(const char *); liblammpsplugin_t *liblammpsplugin_load(const char *);
int liblammpsplugin_release(liblammpsplugin_t *); int liblammpsplugin_release(liblammpsplugin_t *);
#undef LAMMPS #undef LAMMPS
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -1,9 +1,12 @@
LAMMPS (18 Feb 2020) LAMMPS (31 Aug 2021)
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
Created orthogonal box = (0 0 0) to (6.71838 6.71838 6.71838) using 1 OpenMP thread(s) per MPI task
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (6.7183848 6.7183848 6.7183848)
1 by 1 by 1 MPI processor grid 1 by 1 by 1 MPI processor grid
Created 256 atoms Created 256 atoms
create_atoms CPU = 0.000297844 secs using lattice units in orthogonal box = (0.0000000 0.0000000 0.0000000) to (6.7183848 6.7183848 6.7183848)
create_atoms CPU = 0.001 seconds
Neighbor list info ... Neighbor list info ...
update every 20 steps, delay 0 steps, check no update every 20 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000 max neighbors/atom: 2000, page size: 100000
@ -14,108 +17,108 @@ Neighbor list info ...
(1) pair lj/cut, perpetual (1) pair lj/cut, perpetual
attributes: half, newton on attributes: half, newton on
pair build: half/bin/atomonly/newton pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton stencil: half/bin/3d
bin: standard bin: standard
Setting up Verlet run ... Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 0 Current step : 0
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
0 1.44 -6.7733681 0 -4.6218056 -5.0244179 0 1.44 -6.7733681 0 -4.6218056 -5.0244179
10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175
Loop time of 0.00164276 on 1 procs for 10 steps with 256 atoms Loop time of 0.00239712 on 1 procs for 10 steps with 256 atoms
Performance: 2629719.113 tau/day, 6087.313 timesteps/s Performance: 1802163.347 tau/day, 4171.674 timesteps/s
93.7% CPU use with 1 MPI tasks x no OpenMP threads 97.2% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0014956 | 0.0014956 | 0.0014956 | 0.0 | 91.04 Pair | 0.0020572 | 0.0020572 | 0.0020572 | 0.0 | 85.82
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 8.045e-05 | 8.045e-05 | 8.045e-05 | 0.0 | 4.90 Comm | 0.00018731 | 0.00018731 | 0.00018731 | 0.0 | 7.81
Output | 1.1399e-05 | 1.1399e-05 | 1.1399e-05 | 0.0 | 0.69 Output | 4.478e-05 | 4.478e-05 | 4.478e-05 | 0.0 | 1.87
Modify | 3.7431e-05 | 3.7431e-05 | 3.7431e-05 | 0.0 | 2.28 Modify | 6.3637e-05 | 6.3637e-05 | 6.3637e-05 | 0.0 | 2.65
Other | | 1.789e-05 | | | 1.09 Other | | 4.419e-05 | | | 1.84
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1431 ave 1431 max 1431 min Nghost: 1431.00 ave 1431 max 1431 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9984 ave 9984 max 9984 min Neighs: 9984.00 ave 9984 max 9984 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9984 Total # of neighbors = 9984
Ave neighs/atom = 39 Ave neighs/atom = 39.000000
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 10 Current step : 10
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175
20 0.6239063 -5.557644 0 -4.6254403 0.97451173 20 0.6239063 -5.557644 0 -4.6254403 0.97451173
Loop time of 0.00199768 on 1 procs for 10 steps with 256 atoms Loop time of 0.00329271 on 1 procs for 10 steps with 256 atoms
Performance: 2162504.180 tau/day, 5005.797 timesteps/s Performance: 1311987.619 tau/day, 3037.008 timesteps/s
99.8% CPU use with 1 MPI tasks x no OpenMP threads 96.4% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0018518 | 0.0018518 | 0.0018518 | 0.0 | 92.70 Pair | 0.0029015 | 0.0029015 | 0.0029015 | 0.0 | 88.12
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 7.9768e-05 | 7.9768e-05 | 7.9768e-05 | 0.0 | 3.99 Comm | 0.00021807 | 0.00021807 | 0.00021807 | 0.0 | 6.62
Output | 1.1433e-05 | 1.1433e-05 | 1.1433e-05 | 0.0 | 0.57 Output | 4.9163e-05 | 4.9163e-05 | 4.9163e-05 | 0.0 | 1.49
Modify | 3.6904e-05 | 3.6904e-05 | 3.6904e-05 | 0.0 | 1.85 Modify | 7.0573e-05 | 7.0573e-05 | 7.0573e-05 | 0.0 | 2.14
Other | | 1.773e-05 | | | 0.89 Other | | 5.339e-05 | | | 1.62
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1431 ave 1431 max 1431 min Nghost: 1431.00 ave 1431 max 1431 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9952 ave 9952 max 9952 min Neighs: 9952.00 ave 9952 max 9952 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9952 Total # of neighbors = 9952
Ave neighs/atom = 38.875 Ave neighs/atom = 38.875000
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 20 Current step : 20
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
20 0.6239063 -5.5404291 0 -4.6082254 1.0394285 20 0.6239063 -5.5404291 0 -4.6082254 1.0394285
21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278
Loop time of 0.000304321 on 1 procs for 1 steps with 256 atoms Loop time of 0.000638039 on 1 procs for 1 steps with 256 atoms
Performance: 1419553.695 tau/day, 3286.004 timesteps/s Performance: 677074.599 tau/day, 1567.302 timesteps/s
98.9% CPU use with 1 MPI tasks x no OpenMP threads 98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.00027815 | 0.00027815 | 0.00027815 | 0.0 | 91.40 Pair | 0.00042876 | 0.00042876 | 0.00042876 | 0.0 | 67.20
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 8.321e-06 | 8.321e-06 | 8.321e-06 | 0.0 | 2.73 Comm | 5.2872e-05 | 5.2872e-05 | 5.2872e-05 | 0.0 | 8.29
Output | 1.0513e-05 | 1.0513e-05 | 1.0513e-05 | 0.0 | 3.45 Output | 0.00012218 | 0.00012218 | 0.00012218 | 0.0 | 19.15
Modify | 3.968e-06 | 3.968e-06 | 3.968e-06 | 0.0 | 1.30 Modify | 1.3762e-05 | 1.3762e-05 | 1.3762e-05 | 0.0 | 2.16
Other | | 3.365e-06 | | | 1.11 Other | | 2.047e-05 | | | 3.21
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1431 ave 1431 max 1431 min Nghost: 1431.00 ave 1431 max 1431 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9705 ave 9705 max 9705 min Neighs: 9705.00 ave 9705 max 9705 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9705 Total # of neighbors = 9705
Ave neighs/atom = 37.9102 Ave neighs/atom = 37.910156
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Force on 1 atom via extract_atom: 26.9581 Force on 1 atom via extract_atom: 26.9581
@ -124,136 +127,136 @@ Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 21 Current step : 21
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278
31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597
Loop time of 0.00196027 on 1 procs for 10 steps with 256 atoms Loop time of 0.00281277 on 1 procs for 10 steps with 256 atoms
Performance: 2203779.175 tau/day, 5101.341 timesteps/s Performance: 1535852.558 tau/day, 3555.214 timesteps/s
99.7% CPU use with 1 MPI tasks x no OpenMP threads 92.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0018146 | 0.0018146 | 0.0018146 | 0.0 | 92.57 Pair | 0.0024599 | 0.0024599 | 0.0024599 | 0.0 | 87.45
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 8.0268e-05 | 8.0268e-05 | 8.0268e-05 | 0.0 | 4.09 Comm | 0.00020234 | 0.00020234 | 0.00020234 | 0.0 | 7.19
Output | 1.0973e-05 | 1.0973e-05 | 1.0973e-05 | 0.0 | 0.56 Output | 3.6436e-05 | 3.6436e-05 | 3.6436e-05 | 0.0 | 1.30
Modify | 3.6913e-05 | 3.6913e-05 | 3.6913e-05 | 0.0 | 1.88 Modify | 6.7542e-05 | 6.7542e-05 | 6.7542e-05 | 0.0 | 2.40
Other | | 1.756e-05 | | | 0.90 Other | | 4.655e-05 | | | 1.65
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1431 ave 1431 max 1431 min Nghost: 1431.00 ave 1431 max 1431 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9688 ave 9688 max 9688 min Neighs: 9688.00 ave 9688 max 9688 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9688 Total # of neighbors = 9688
Ave neighs/atom = 37.8438 Ave neighs/atom = 37.843750
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 31 Current step : 31
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597
51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681
Loop time of 0.00433063 on 1 procs for 20 steps with 256 atoms Loop time of 0.00560916 on 1 procs for 20 steps with 256 atoms
Performance: 1995088.941 tau/day, 4618.261 timesteps/s Performance: 1540338.414 tau/day, 3565.598 timesteps/s
99.3% CPU use with 1 MPI tasks x no OpenMP threads 99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0035121 | 0.0035121 | 0.0035121 | 0.0 | 81.10 Pair | 0.0044403 | 0.0044403 | 0.0044403 | 0.0 | 79.16
Neigh | 0.00050258 | 0.00050258 | 0.00050258 | 0.0 | 11.61 Neigh | 0.00056186 | 0.00056186 | 0.00056186 | 0.0 | 10.02
Comm | 0.00019444 | 0.00019444 | 0.00019444 | 0.0 | 4.49 Comm | 0.00036797 | 0.00036797 | 0.00036797 | 0.0 | 6.56
Output | 1.2092e-05 | 1.2092e-05 | 1.2092e-05 | 0.0 | 0.28 Output | 3.676e-05 | 3.676e-05 | 3.676e-05 | 0.0 | 0.66
Modify | 7.2917e-05 | 7.2917e-05 | 7.2917e-05 | 0.0 | 1.68 Modify | 0.00011282 | 0.00011282 | 0.00011282 | 0.0 | 2.01
Other | | 3.647e-05 | | | 0.84 Other | | 8.943e-05 | | | 1.59
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1421 ave 1421 max 1421 min Nghost: 1421.00 ave 1421 max 1421 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9700 ave 9700 max 9700 min Neighs: 9700.00 ave 9700 max 9700 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9700 Total # of neighbors = 9700
Ave neighs/atom = 37.8906 Ave neighs/atom = 37.890625
Neighbor list builds = 1 Neighbor list builds = 1
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 51 Current step : 51
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681
61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941
Loop time of 0.00196567 on 1 procs for 10 steps with 256 atoms Loop time of 0.00373815 on 1 procs for 10 steps with 256 atoms
Performance: 2197727.285 tau/day, 5087.332 timesteps/s Performance: 1155650.623 tau/day, 2675.117 timesteps/s
99.7% CPU use with 1 MPI tasks x no OpenMP threads 98.0% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0018222 | 0.0018222 | 0.0018222 | 0.0 | 92.70 Pair | 0.0030908 | 0.0030908 | 0.0030908 | 0.0 | 82.68
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 7.8285e-05 | 7.8285e-05 | 7.8285e-05 | 0.0 | 3.98 Comm | 0.00038189 | 0.00038189 | 0.00038189 | 0.0 | 10.22
Output | 1.0862e-05 | 1.0862e-05 | 1.0862e-05 | 0.0 | 0.55 Output | 4.1615e-05 | 4.1615e-05 | 4.1615e-05 | 0.0 | 1.11
Modify | 3.6719e-05 | 3.6719e-05 | 3.6719e-05 | 0.0 | 1.87 Modify | 0.00013851 | 0.00013851 | 0.00013851 | 0.0 | 3.71
Other | | 1.764e-05 | | | 0.90 Other | | 8.533e-05 | | | 2.28
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1421 ave 1421 max 1421 min Nghost: 1421.00 ave 1421 max 1421 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9700 ave 9700 max 9700 min Neighs: 9700.00 ave 9700 max 9700 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9700 Total # of neighbors = 9700
Ave neighs/atom = 37.8906 Ave neighs/atom = 37.890625
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 61 Current step : 61
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941
81 0.77743907 -5.7735004 0 -4.6118971 0.090822641 81 0.77743907 -5.7735004 0 -4.6118971 0.090822641
Loop time of 0.00430528 on 1 procs for 20 steps with 256 atoms Loop time of 0.00612177 on 1 procs for 20 steps with 256 atoms
Performance: 2006838.581 tau/day, 4645.460 timesteps/s Performance: 1411356.519 tau/day, 3267.029 timesteps/s
99.8% CPU use with 1 MPI tasks x no OpenMP threads 98.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0034931 | 0.0034931 | 0.0034931 | 0.0 | 81.13 Pair | 0.0047211 | 0.0047211 | 0.0047211 | 0.0 | 77.12
Neigh | 0.00050437 | 0.00050437 | 0.00050437 | 0.0 | 11.72 Neigh | 0.00083088 | 0.00083088 | 0.00083088 | 0.0 | 13.57
Comm | 0.0001868 | 0.0001868 | 0.0001868 | 0.0 | 4.34 Comm | 0.00032716 | 0.00032716 | 0.00032716 | 0.0 | 5.34
Output | 1.1699e-05 | 1.1699e-05 | 1.1699e-05 | 0.0 | 0.27 Output | 3.9891e-05 | 3.9891e-05 | 3.9891e-05 | 0.0 | 0.65
Modify | 7.3308e-05 | 7.3308e-05 | 7.3308e-05 | 0.0 | 1.70 Modify | 0.00010926 | 0.00010926 | 0.00010926 | 0.0 | 1.78
Other | | 3.604e-05 | | | 0.84 Other | | 9.346e-05 | | | 1.53
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1405 ave 1405 max 1405 min Nghost: 1405.00 ave 1405 max 1405 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9701 ave 9701 max 9701 min Neighs: 9701.00 ave 9701 max 9701 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9701 Total # of neighbors = 9701
Ave neighs/atom = 37.8945 Ave neighs/atom = 37.894531
Neighbor list builds = 1 Neighbor list builds = 1
Dangerous builds not checked Dangerous builds not checked
Deleted 256 atoms, new total = 0 Deleted 256 atoms, new total = 0
@ -261,34 +264,34 @@ Setting up Verlet run ...
Unit style : lj Unit style : lj
Current step : 81 Current step : 81
Time step : 0.005 Time step : 0.005
Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes Per MPI rank memory allocation (min/avg/max) = 2.630 | 2.630 | 2.630 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
81 0.6239063 -5.5404291 0 -4.6082254 1.0394285 81 0.6239063 -5.5404291 0 -4.6082254 1.0394285
91 0.75393007 -5.7375259 0 -4.6110484 0.39357367 91 0.75393007 -5.7375259 0 -4.6110484 0.39357367
Loop time of 0.00195843 on 1 procs for 10 steps with 256 atoms Loop time of 0.00319065 on 1 procs for 10 steps with 256 atoms
Performance: 2205851.941 tau/day, 5106.139 timesteps/s Performance: 1353954.393 tau/day, 3134.154 timesteps/s
99.7% CPU use with 1 MPI tasks x no OpenMP threads 99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0018143 | 0.0018143 | 0.0018143 | 0.0 | 92.64 Pair | 0.0027828 | 0.0027828 | 0.0027828 | 0.0 | 87.22
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 7.8608e-05 | 7.8608e-05 | 7.8608e-05 | 0.0 | 4.01 Comm | 0.00023286 | 0.00023286 | 0.00023286 | 0.0 | 7.30
Output | 1.0786e-05 | 1.0786e-05 | 1.0786e-05 | 0.0 | 0.55 Output | 4.0459e-05 | 4.0459e-05 | 4.0459e-05 | 0.0 | 1.27
Modify | 3.7106e-05 | 3.7106e-05 | 3.7106e-05 | 0.0 | 1.89 Modify | 7.3576e-05 | 7.3576e-05 | 7.3576e-05 | 0.0 | 2.31
Other | | 1.762e-05 | | | 0.90 Other | | 6.094e-05 | | | 1.91
Nlocal: 256 ave 256 max 256 min Nlocal: 256.000 ave 256 max 256 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1431 ave 1431 max 1431 min Nghost: 1431.00 ave 1431 max 1431 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9705 ave 9705 max 9705 min Neighs: 9705.00 ave 9705 max 9705 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9705 Total # of neighbors = 9705
Ave neighs/atom = 37.9102 Ave neighs/atom = 37.910156
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Total wall time: 0:00:00 Total wall time: 0:00:00

View File

@ -1,9 +1,12 @@
LAMMPS (18 Feb 2020) LAMMPS (31 Aug 2021)
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
Created orthogonal box = (0 0 0) to (6.71838 6.71838 6.71838) using 1 OpenMP thread(s) per MPI task
Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (6.7183848 6.7183848 6.7183848)
1 by 1 by 2 MPI processor grid 1 by 1 by 2 MPI processor grid
Created 256 atoms Created 256 atoms
create_atoms CPU = 0.000265157 secs using lattice units in orthogonal box = (0.0000000 0.0000000 0.0000000) to (6.7183848 6.7183848 6.7183848)
create_atoms CPU = 0.003 seconds
Neighbor list info ... Neighbor list info ...
update every 20 steps, delay 0 steps, check no update every 20 steps, delay 0 steps, check no
max neighbors/atom: 2000, page size: 100000 max neighbors/atom: 2000, page size: 100000
@ -14,7 +17,7 @@ Neighbor list info ...
(1) pair lj/cut, perpetual (1) pair lj/cut, perpetual
attributes: half, newton on attributes: half, newton on
pair build: half/bin/atomonly/newton pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton stencil: half/bin/3d
bin: standard bin: standard
Setting up Verlet run ... Setting up Verlet run ...
Unit style : lj Unit style : lj
@ -24,30 +27,30 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
0 1.44 -6.7733681 0 -4.6218056 -5.0244179 0 1.44 -6.7733681 0 -4.6218056 -5.0244179
10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175
Loop time of 0.00115264 on 2 procs for 10 steps with 256 atoms Loop time of 0.00330899 on 2 procs for 10 steps with 256 atoms
Performance: 3747912.946 tau/day, 8675.724 timesteps/s Performance: 1305535.501 tau/day, 3022.073 timesteps/s
94.5% CPU use with 2 MPI tasks x no OpenMP threads 75.7% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.00074885 | 0.00075021 | 0.00075156 | 0.0 | 65.09 Pair | 0.0013522 | 0.0013813 | 0.0014104 | 0.1 | 41.74
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.00031829 | 0.00031943 | 0.00032056 | 0.0 | 27.71 Comm | 0.00049139 | 0.00054241 | 0.00059342 | 0.0 | 16.39
Output | 9.306e-06 | 2.6673e-05 | 4.4041e-05 | 0.0 | 2.31 Output | 3.6986e-05 | 0.00056588 | 0.0010948 | 0.0 | 17.10
Modify | 2.0684e-05 | 2.0891e-05 | 2.1098e-05 | 0.0 | 1.81 Modify | 4.3909e-05 | 4.3924e-05 | 4.3939e-05 | 0.0 | 1.33
Other | | 3.544e-05 | | | 3.07 Other | | 0.0007755 | | | 23.44
Nlocal: 128 ave 128 max 128 min Nlocal: 128.000 ave 128 max 128 min
Histogram: 2 0 0 0 0 0 0 0 0 0 Histogram: 2 0 0 0 0 0 0 0 0 0
Nghost: 1109 ave 1109 max 1109 min Nghost: 1109.00 ave 1109 max 1109 min
Histogram: 2 0 0 0 0 0 0 0 0 0 Histogram: 2 0 0 0 0 0 0 0 0 0
Neighs: 4992 ave 4992 max 4992 min Neighs: 4992.00 ave 4992 max 4992 min
Histogram: 2 0 0 0 0 0 0 0 0 0 Histogram: 2 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9984 Total # of neighbors = 9984
Ave neighs/atom = 39 Ave neighs/atom = 39.000000
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
@ -58,30 +61,30 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175
20 0.6239063 -5.557644 0 -4.6254403 0.97451173 20 0.6239063 -5.557644 0 -4.6254403 0.97451173
Loop time of 0.00120443 on 2 procs for 10 steps with 256 atoms Loop time of 0.00648485 on 2 procs for 10 steps with 256 atoms
Performance: 3586761.860 tau/day, 8302.689 timesteps/s Performance: 666168.017 tau/day, 1542.056 timesteps/s
95.5% CPU use with 2 MPI tasks x no OpenMP threads 44.3% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.00087798 | 0.00091359 | 0.0009492 | 0.0 | 75.85 Pair | 0.0022373 | 0.0024405 | 0.0026437 | 0.4 | 37.63
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.00016739 | 0.00020368 | 0.00023997 | 0.0 | 16.91 Comm | 0.0024446 | 0.0026464 | 0.0028481 | 0.4 | 40.81
Output | 1.0124e-05 | 3.0513e-05 | 5.0901e-05 | 0.0 | 2.53 Output | 3.9069e-05 | 0.00059734 | 0.0011556 | 0.0 | 9.21
Modify | 1.89e-05 | 1.9812e-05 | 2.0725e-05 | 0.0 | 1.64 Modify | 4.869e-05 | 4.912e-05 | 4.9551e-05 | 0.0 | 0.76
Other | | 3.683e-05 | | | 3.06 Other | | 0.0007515 | | | 11.59
Nlocal: 128 ave 134 max 122 min Nlocal: 128.000 ave 134 max 122 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 1109 ave 1115 max 1103 min Nghost: 1109.00 ave 1115 max 1103 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 4976 ave 5205 max 4747 min Neighs: 4976.00 ave 5205 max 4747 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 9952 Total # of neighbors = 9952
Ave neighs/atom = 38.875 Ave neighs/atom = 38.875000
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
@ -92,34 +95,34 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
20 0.6239063 -5.5404291 0 -4.6082254 1.0394285 20 0.6239063 -5.5404291 0 -4.6082254 1.0394285
21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278
Loop time of 0.000206062 on 2 procs for 1 steps with 256 atoms Loop time of 0.00128072 on 2 procs for 1 steps with 256 atoms
Performance: 2096456.406 tau/day, 4852.908 timesteps/s Performance: 337310.921 tau/day, 780.812 timesteps/s
94.1% CPU use with 2 MPI tasks x no OpenMP threads 60.2% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.00012947 | 0.00013524 | 0.00014101 | 0.0 | 65.63 Pair | 0.00047351 | 0.00049064 | 0.00050777 | 0.0 | 38.31
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.858e-05 | 2.4113e-05 | 2.9647e-05 | 0.0 | 11.70 Comm | 7.6767e-05 | 9.3655e-05 | 0.00011054 | 0.0 | 7.31
Output | 8.699e-06 | 2.4204e-05 | 3.9708e-05 | 0.0 | 11.75 Output | 5.4217e-05 | 0.00026297 | 0.00047172 | 0.0 | 20.53
Modify | 2.34e-06 | 2.3705e-06 | 2.401e-06 | 0.0 | 1.15 Modify | 1.1554e-05 | 1.2026e-05 | 1.2498e-05 | 0.0 | 0.94
Other | | 2.013e-05 | | | 9.77 Other | | 0.0004214 | | | 32.91
Nlocal: 128 ave 135 max 121 min Nlocal: 128.000 ave 135 max 121 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 1109 ave 1116 max 1102 min Nghost: 1109.00 ave 1116 max 1102 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 4852.5 ave 5106 max 4599 min Neighs: 4852.50 ave 5106 max 4599 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 9705 Total # of neighbors = 9705
Ave neighs/atom = 37.9102 Ave neighs/atom = 37.910156
Force on 1 atom via extract_atom: -18.109
Force on 1 atom via extract_variable: -18.109
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Force on 1 atom via extract_atom: -18.109
Force on 1 atom via extract_variable: -18.109
Force on 1 atom via extract_atom: 26.9581 Force on 1 atom via extract_atom: 26.9581
Force on 1 atom via extract_variable: 26.9581 Force on 1 atom via extract_variable: 26.9581
Setting up Verlet run ... Setting up Verlet run ...
@ -130,30 +133,30 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278
31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597
Loop time of 0.00119048 on 2 procs for 10 steps with 256 atoms Loop time of 0.00784933 on 2 procs for 10 steps with 256 atoms
Performance: 3628802.105 tau/day, 8400.005 timesteps/s Performance: 550365.761 tau/day, 1273.995 timesteps/s
98.0% CPU use with 2 MPI tasks x no OpenMP threads 59.6% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.00085276 | 0.00089699 | 0.00094123 | 0.0 | 75.35 Pair | 0.0019235 | 0.0033403 | 0.0047572 | 2.5 | 42.56
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.00016896 | 0.00021444 | 0.00025992 | 0.0 | 18.01 Comm | 0.0016948 | 0.003118 | 0.0045411 | 2.5 | 39.72
Output | 9.413e-06 | 2.5939e-05 | 4.2465e-05 | 0.0 | 2.18 Output | 3.6445e-05 | 0.00064636 | 0.0012563 | 0.0 | 8.23
Modify | 1.8977e-05 | 2.0009e-05 | 2.1042e-05 | 0.0 | 1.68 Modify | 6.2842e-05 | 6.3209e-05 | 6.3577e-05 | 0.0 | 0.81
Other | | 3.31e-05 | | | 2.78 Other | | 0.0006814 | | | 8.68
Nlocal: 128 ave 135 max 121 min Nlocal: 128.000 ave 135 max 121 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 1109 ave 1116 max 1102 min Nghost: 1109.00 ave 1116 max 1102 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 4844 ave 5096 max 4592 min Neighs: 4844.00 ave 5096 max 4592 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 9688 Total # of neighbors = 9688
Ave neighs/atom = 37.8438 Ave neighs/atom = 37.843750
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
@ -164,30 +167,30 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597
51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681
Loop time of 0.00252603 on 2 procs for 20 steps with 256 atoms Loop time of 0.00696051 on 2 procs for 20 steps with 256 atoms
Performance: 3420382.192 tau/day, 7917.551 timesteps/s Performance: 1241287.730 tau/day, 2873.351 timesteps/s
99.2% CPU use with 2 MPI tasks x no OpenMP threads 79.2% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0016245 | 0.0017014 | 0.0017784 | 0.2 | 67.36 Pair | 0.0028267 | 0.0036088 | 0.004391 | 1.3 | 51.85
Neigh | 0.00025359 | 0.0002563 | 0.00025901 | 0.0 | 10.15 Neigh | 0.00040272 | 0.00040989 | 0.00041707 | 0.0 | 5.89
Comm | 0.00036863 | 0.00045124 | 0.00053385 | 0.0 | 17.86 Comm | 0.00081061 | 0.0015825 | 0.0023544 | 1.9 | 22.74
Output | 9.839e-06 | 2.8031e-05 | 4.6223e-05 | 0.0 | 1.11 Output | 3.6006e-05 | 0.00062106 | 0.0012061 | 0.0 | 8.92
Modify | 3.7027e-05 | 3.9545e-05 | 4.2063e-05 | 0.0 | 1.57 Modify | 6.8937e-05 | 7.1149e-05 | 7.336e-05 | 0.0 | 1.02
Other | | 4.948e-05 | | | 1.96 Other | | 0.0006671 | | | 9.58
Nlocal: 128 ave 132 max 124 min Nlocal: 128.000 ave 132 max 124 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 1100 ave 1101 max 1099 min Nghost: 1100.00 ave 1101 max 1099 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 4850 ave 4953 max 4747 min Neighs: 4850.00 ave 4953 max 4747 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 9700 Total # of neighbors = 9700
Ave neighs/atom = 37.8906 Ave neighs/atom = 37.890625
Neighbor list builds = 1 Neighbor list builds = 1
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
@ -198,30 +201,30 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681
61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941
Loop time of 0.00115444 on 2 procs for 10 steps with 256 atoms Loop time of 0.00155862 on 2 procs for 10 steps with 256 atoms
Performance: 3742065.976 tau/day, 8662.190 timesteps/s Performance: 2771678.197 tau/day, 6415.922 timesteps/s
96.5% CPU use with 2 MPI tasks x no OpenMP threads 95.0% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.00087346 | 0.00089311 | 0.00091275 | 0.0 | 77.36 Pair | 0.0012369 | 0.001266 | 0.001295 | 0.1 | 81.22
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.00016192 | 0.0001823 | 0.00020269 | 0.0 | 15.79 Comm | 0.00019462 | 0.00022315 | 0.00025169 | 0.0 | 14.32
Output | 9.49e-06 | 2.6234e-05 | 4.2978e-05 | 0.0 | 2.27 Output | 2.0217e-05 | 2.1945e-05 | 2.3673e-05 | 0.0 | 1.41
Modify | 1.9095e-05 | 1.9843e-05 | 2.0591e-05 | 0.0 | 1.72 Modify | 2.562e-05 | 2.5759e-05 | 2.5898e-05 | 0.0 | 1.65
Other | | 3.296e-05 | | | 2.85 Other | | 2.181e-05 | | | 1.40
Nlocal: 128 ave 132 max 124 min Nlocal: 128.000 ave 132 max 124 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 1100 ave 1101 max 1099 min Nghost: 1100.00 ave 1101 max 1099 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 4850 ave 4953 max 4747 min Neighs: 4850.00 ave 4953 max 4747 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 9700 Total # of neighbors = 9700
Ave neighs/atom = 37.8906 Ave neighs/atom = 37.890625
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Setting up Verlet run ... Setting up Verlet run ...
@ -232,30 +235,30 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941
81 0.77743907 -5.7735004 0 -4.6118971 0.090822641 81 0.77743907 -5.7735004 0 -4.6118971 0.090822641
Loop time of 0.00244325 on 2 procs for 20 steps with 256 atoms Loop time of 0.00351607 on 2 procs for 20 steps with 256 atoms
Performance: 3536279.919 tau/day, 8185.833 timesteps/s Performance: 2457288.612 tau/day, 5688.168 timesteps/s
99.0% CPU use with 2 MPI tasks x no OpenMP threads 97.9% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0016916 | 0.0017038 | 0.001716 | 0.0 | 69.73 Pair | 0.0023896 | 0.0024147 | 0.0024397 | 0.1 | 68.67
Neigh | 0.00025229 | 0.00025512 | 0.00025795 | 0.0 | 10.44 Neigh | 0.00037331 | 0.00040456 | 0.0004358 | 0.0 | 11.51
Comm | 0.00035772 | 0.00036918 | 0.00038064 | 0.0 | 15.11 Comm | 0.00050571 | 0.00051343 | 0.00052116 | 0.0 | 14.60
Output | 1.0858e-05 | 2.7875e-05 | 4.4891e-05 | 0.0 | 1.14 Output | 2.6424e-05 | 5.6547e-05 | 8.667e-05 | 0.0 | 1.61
Modify | 3.817e-05 | 3.9325e-05 | 4.048e-05 | 0.0 | 1.61 Modify | 5.0287e-05 | 5.1071e-05 | 5.1856e-05 | 0.0 | 1.45
Other | | 4.796e-05 | | | 1.96 Other | | 7.58e-05 | | | 2.16
Nlocal: 128 ave 128 max 128 min Nlocal: 128.000 ave 128 max 128 min
Histogram: 2 0 0 0 0 0 0 0 0 0 Histogram: 2 0 0 0 0 0 0 0 0 0
Nghost: 1088.5 ave 1092 max 1085 min Nghost: 1088.50 ave 1092 max 1085 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 4850.5 ave 4851 max 4850 min Neighs: 4850.50 ave 4851 max 4850 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 9701 Total # of neighbors = 9701
Ave neighs/atom = 37.8945 Ave neighs/atom = 37.894531
Neighbor list builds = 1 Neighbor list builds = 1
Dangerous builds not checked Dangerous builds not checked
Deleted 256 atoms, new total = 0 Deleted 256 atoms, new total = 0
@ -267,30 +270,30 @@ Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes
Step Temp E_pair E_mol TotEng Press Step Temp E_pair E_mol TotEng Press
81 0.6239063 -5.5404291 0 -4.6082254 1.0394285 81 0.6239063 -5.5404291 0 -4.6082254 1.0394285
91 0.75393007 -5.7375259 0 -4.6110484 0.39357367 91 0.75393007 -5.7375259 0 -4.6110484 0.39357367
Loop time of 0.00118092 on 2 procs for 10 steps with 256 atoms Loop time of 0.0109747 on 2 procs for 10 steps with 256 atoms
Performance: 3658158.625 tau/day, 8467.960 timesteps/s Performance: 393631.731 tau/day, 911.185 timesteps/s
98.6% CPU use with 2 MPI tasks x no OpenMP threads 53.5% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.0008476 | 0.00089265 | 0.00093771 | 0.0 | 75.59 Pair | 0.0012057 | 0.0012732 | 0.0013407 | 0.2 | 11.60
Neigh | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.00016335 | 0.00020946 | 0.00025557 | 0.0 | 17.74 Comm | 0.00018882 | 0.00025686 | 0.00032489 | 0.0 | 2.34
Output | 8.87e-06 | 2.5733e-05 | 4.2595e-05 | 0.0 | 2.18 Output | 2.1943e-05 | 0.0047067 | 0.0093915 | 6.8 | 42.89
Modify | 1.8755e-05 | 1.9814e-05 | 2.0872e-05 | 0.0 | 1.68 Modify | 2.4614e-05 | 2.5439e-05 | 2.6264e-05 | 0.0 | 0.23
Other | | 3.326e-05 | | | 2.82 Other | | 0.004712 | | | 42.94
Nlocal: 128 ave 135 max 121 min Nlocal: 128.000 ave 135 max 121 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 1109 ave 1116 max 1102 min Nghost: 1109.00 ave 1116 max 1102 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 4852.5 ave 5106 max 4599 min Neighs: 4852.50 ave 5106 max 4599 min
Histogram: 1 0 0 0 0 0 0 0 0 1 Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 9705 Total # of neighbors = 9705
Ave neighs/atom = 37.9102 Ave neighs/atom = 37.910156
Neighbor list builds = 0 Neighbor list builds = 0
Dangerous builds not checked Dangerous builds not checked
Total wall time: 0:00:00 Total wall time: 0:00:00

View File

@ -87,7 +87,7 @@ int main(int narg, char **arg)
MPI_Abort(MPI_COMM_WORLD,1); MPI_Abort(MPI_COMM_WORLD,1);
} }
} }
if (lammps == 1) plugin->open(0,NULL,comm_lammps,&lmp); if (lammps == 1) lmp = plugin->open(0,NULL,comm_lammps,NULL);
while (1) { while (1) {
if (me == 0) { if (me == 0) {
@ -139,7 +139,7 @@ int main(int narg, char **arg)
cmds[0] = (char *)"run 10"; cmds[0] = (char *)"run 10";
cmds[1] = (char *)"run 20"; cmds[1] = (char *)"run 20";
if (lammps == 1) plugin->commands_list(lmp,2,cmds); if (lammps == 1) plugin->commands_list(lmp,2,(const char **)cmds);
/* delete all atoms /* delete all atoms
create_atoms() to create new ones with old coords, vels create_atoms() to create new ones with old coords, vels
@ -164,12 +164,13 @@ int main(int narg, char **arg)
if (lammps == 1) { if (lammps == 1) {
plugin->close(lmp); plugin->close(lmp);
MPI_Barrier(comm_lammps);
MPI_Comm_free(&comm_lammps);
liblammpsplugin_release(plugin); liblammpsplugin_release(plugin);
} }
/* close down MPI */ /* close down MPI */
if (lammps == 1) MPI_Comm_free(&comm_lammps);
MPI_Barrier(MPI_COMM_WORLD); MPI_Barrier(MPI_COMM_WORLD);
MPI_Finalize(); MPI_Finalize();
} }