From 50062d6a446cf0e6914388bf4b96b6413275f02c Mon Sep 17 00:00:00 2001 From: Podhorszki Norbert Date: Mon, 20 Jan 2020 11:23:18 -0500 Subject: [PATCH] Added rerun example for ADIOS dump/read_dump to examples/USER/adios/rerun. Moved the balance example under examples/USER/adios/balance --- .../adios/{ => balance}/adios2_config.xml | 0 .../USER/adios/{ => balance}/in.adios_balance | 0 .../adios/{ => balance}/in.adios_balance2 | 0 examples/USER/adios/{ => balance}/log.balance | 0 examples/USER/adios/rerun/README | 38 ++++++ examples/USER/adios/rerun/adios2_config.xml | 54 ++++++++ examples/USER/adios/rerun/in.first | 34 +++++ examples/USER/adios/rerun/in.read_dump | 37 ++++++ examples/USER/adios/rerun/in.rerun | 29 +++++ .../adios/rerun/log.20Jan20.first.g++.7.4 | 100 +++++++++++++++ .../adios/rerun/log.20Jan20.read_dump.g++.7.4 | 120 ++++++++++++++++++ .../adios/rerun/log.20Jan20.rerun.g++.7.4 | 88 +++++++++++++ 12 files changed, 500 insertions(+) rename examples/USER/adios/{ => balance}/adios2_config.xml (100%) rename examples/USER/adios/{ => balance}/in.adios_balance (100%) rename examples/USER/adios/{ => balance}/in.adios_balance2 (100%) rename examples/USER/adios/{ => balance}/log.balance (100%) create mode 100644 examples/USER/adios/rerun/README create mode 100644 examples/USER/adios/rerun/adios2_config.xml create mode 100644 examples/USER/adios/rerun/in.first create mode 100644 examples/USER/adios/rerun/in.read_dump create mode 100644 examples/USER/adios/rerun/in.rerun create mode 100644 examples/USER/adios/rerun/log.20Jan20.first.g++.7.4 create mode 100644 examples/USER/adios/rerun/log.20Jan20.read_dump.g++.7.4 create mode 100644 examples/USER/adios/rerun/log.20Jan20.rerun.g++.7.4 diff --git a/examples/USER/adios/adios2_config.xml b/examples/USER/adios/balance/adios2_config.xml similarity index 100% rename from examples/USER/adios/adios2_config.xml rename to examples/USER/adios/balance/adios2_config.xml diff --git a/examples/USER/adios/in.adios_balance b/examples/USER/adios/balance/in.adios_balance similarity index 100% rename from examples/USER/adios/in.adios_balance rename to examples/USER/adios/balance/in.adios_balance diff --git a/examples/USER/adios/in.adios_balance2 b/examples/USER/adios/balance/in.adios_balance2 similarity index 100% rename from examples/USER/adios/in.adios_balance2 rename to examples/USER/adios/balance/in.adios_balance2 diff --git a/examples/USER/adios/log.balance b/examples/USER/adios/balance/log.balance similarity index 100% rename from examples/USER/adios/log.balance rename to examples/USER/adios/balance/log.balance diff --git a/examples/USER/adios/rerun/README b/examples/USER/adios/rerun/README new file mode 100644 index 0000000000..2c15574009 --- /dev/null +++ b/examples/USER/adios/rerun/README @@ -0,0 +1,38 @@ +Examples of how to use the rerun and read_dump commands with ADIOS + +in.first - run on any number of procs for any size problem +in.rerun - run on same or different proc count for same size problem +in.read_dump - ditto to in.rerun + +The thermo output on the same timesteps should be identical exactly, +or to within compression accuracy errors if compression is used. + +$ grep "^ *[2468]00 " log.20Jan20.first.g++.7.4 + 200 0.75953175 -5.7618892 0 -4.6226272 0.20910575 + 400 0.74155675 -5.7343359 0 -4.6220356 0.3777989 + 600 0.72087255 -5.7029314 0 -4.6216563 0.55730354 + 800 0.70876958 -5.6840594 0 -4.6209382 0.66822293 +$ grep "^ *[2468]00 " log.20Jan20.rerun.g++.7.4 + 200 0.75953175 -5.7618892 0 -4.6226272 0.20910575 + 400 0.74155675 -5.7343359 0 -4.6220356 0.3777989 + 600 0.72087255 -5.7029314 0 -4.6216563 0.55730354 + 800 0.70876958 -5.6840594 0 -4.6209382 0.66822293 +$ grep "^ *[2468]00 " log.20Jan20.read_dump.g++.7.4 | sort -n + 200 0.75953175 -5.7618892 0 -4.6226272 0.20910575 + 400 0.74155675 -5.7343359 0 -4.6220356 0.3777989 + 600 0.72087255 -5.7029314 0 -4.6216563 0.55730354 + 800 0.70876958 -5.6840594 0 -4.6209382 0.66822293 + +To dump the atom table from the lj_dump.bp, use the ADIOS bpls utility + +$ bpls -l lj_dump.bp -d atoms -n 8 --format "%g" | less -S + double atoms 11*{32000, 8} = -3.97451 / 32000 + ( 0, 0,0) 1 1 0 0 0 -0.145828 -0.669946 -2.01722 + ( 0, 1,0) 2 1 0.839798 0.839798 0 -1.2587 1.4644 1.58791 + ( 0, 2,0) 3 1 0.839798 0 0.839798 -1.26427 -0.661341 1.11072 + ... + (10,31997,0) 32000 1 31.7633 32.7835 33.2632 -0.32891 0.00446725 0.478541 + (10,31998,0) 31994 1 31.1663 32.7753 32.3628 -1.45085 0.668693 0.339836 + (10,31999,0) 31924 1 32.8007 32.8736 32.5882 -0.980419 -0.237448 -1.21369 + + diff --git a/examples/USER/adios/rerun/adios2_config.xml b/examples/USER/adios/rerun/adios2_config.xml new file mode 100644 index 0000000000..bbdfe6b232 --- /dev/null +++ b/examples/USER/adios/rerun/adios2_config.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/USER/adios/rerun/in.first b/examples/USER/adios/rerun/in.first new file mode 100644 index 0000000000..b12b52851b --- /dev/null +++ b/examples/USER/adios/rerun/in.first @@ -0,0 +1,34 @@ +# 3d Lennard-Jones melt + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 20*$x +variable yy equal 20*$y +variable zz equal 20*$z + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve + +#dump 1 all custom 100 lj.dump id type x y z vx vy vz +dump 1 all custom/adios 100 lj_dump.bp id type x y z vx vy vz + +thermo 100 +run 1000 diff --git a/examples/USER/adios/rerun/in.read_dump b/examples/USER/adios/rerun/in.read_dump new file mode 100644 index 0000000000..8ac371bb37 --- /dev/null +++ b/examples/USER/adios/rerun/in.read_dump @@ -0,0 +1,37 @@ +# 3d Lennard-Jones melt + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 20*$x +variable yy equal 20*$y +variable zz equal 20*$z + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin + +thermo 100 + +read_dump lj_dump.bp 200 x y z vx vy vz format adios +run 0 post no + +read_dump lj_dump.bp 800 x y z vx vy vz format adios +run 0 post no + +read_dump lj_dump.bp 600 x y z vx vy vz format adios +run 0 post no + +read_dump lj_dump.bp 400 x y z vx vy vz format adios +run 0 post no diff --git a/examples/USER/adios/rerun/in.rerun b/examples/USER/adios/rerun/in.rerun new file mode 100644 index 0000000000..ad726173a4 --- /dev/null +++ b/examples/USER/adios/rerun/in.rerun @@ -0,0 +1,29 @@ +# 3d Lennard-Jones melt + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 20*$x +variable yy equal 20*$y +variable zz equal 20*$z + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin + +thermo 100 + +rerun lj_dump.bp first 200 last 800 every 200 & + dump x y z vx vy vz format adios + diff --git a/examples/USER/adios/rerun/log.20Jan20.first.g++.7.4 b/examples/USER/adios/rerun/log.20Jan20.first.g++.7.4 new file mode 100644 index 0000000000..0e8894977f --- /dev/null +++ b/examples/USER/adios/rerun/log.20Jan20.first.g++.7.4 @@ -0,0 +1,100 @@ +LAMMPS (09 Jan 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 20*$x +variable xx equal 20*1 +variable yy equal 20*$y +variable yy equal 20*1 +variable zz equal 20*$z +variable zz equal 20*1 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +region box block 0 20 0 ${yy} 0 ${zz} +region box block 0 20 0 20 0 ${zz} +region box block 0 20 0 20 0 20 +create_box 1 box +Created orthogonal box = (0 0 0) to (33.5919 33.5919 33.5919) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 32000 atoms + create_atoms CPU = 0.00244845 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve + +#dump 1 all custom 100 lj.dump id type x y z vx vy vz +dump 1 all custom/adios 100 lj_dump.bp id type x y z vx vy vz + +thermo 100 +run 1000 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 24 24 24 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.869 | 6.869 | 6.869 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6134356 -5.0197073 + 100 0.7574531 -5.7585055 0 -4.6223613 0.20726105 + 200 0.75953175 -5.7618892 0 -4.6226272 0.20910575 + 300 0.74624286 -5.741962 0 -4.6226327 0.32016436 + 400 0.74155675 -5.7343359 0 -4.6220356 0.3777989 + 500 0.73249345 -5.7206946 0 -4.6219887 0.44253023 + 600 0.72087255 -5.7029314 0 -4.6216563 0.55730354 + 700 0.71489947 -5.693532 0 -4.6212164 0.61322381 + 800 0.70876958 -5.6840594 0 -4.6209382 0.66822293 + 900 0.70799522 -5.6828388 0 -4.6208791 0.66961272 + 1000 0.70325878 -5.6750833 0 -4.6202281 0.7112575 +Loop time of 15.1503 on 4 procs for 1000 steps with 32000 atoms + +Performance: 28514.269 tau/day, 66.005 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 12.936 | 13.166 | 13.291 | 3.7 | 86.90 +Neigh | 1.1655 | 1.1802 | 1.1882 | 0.8 | 7.79 +Comm | 0.37464 | 0.50485 | 0.75152 | 20.5 | 3.33 +Output | 0.022504 | 0.022534 | 0.022602 | 0.0 | 0.15 +Modify | 0.24633 | 0.24883 | 0.2527 | 0.5 | 1.64 +Other | | 0.02831 | | | 0.19 + +Nlocal: 8000 ave 8049 max 7942 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 8632.5 ave 8685 max 8591 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 299934 ave 303105 max 295137 min +Histogram: 1 0 0 0 0 0 1 1 0 1 + +Total # of neighbors = 1199738 +Ave neighs/atom = 37.4918 +Neighbor list builds = 50 +Dangerous builds not checked +Total wall time: 0:00:15 diff --git a/examples/USER/adios/rerun/log.20Jan20.read_dump.g++.7.4 b/examples/USER/adios/rerun/log.20Jan20.read_dump.g++.7.4 new file mode 100644 index 0000000000..1b6f507efc --- /dev/null +++ b/examples/USER/adios/rerun/log.20Jan20.read_dump.g++.7.4 @@ -0,0 +1,120 @@ +LAMMPS (09 Jan 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 20*$x +variable xx equal 20*1 +variable yy equal 20*$y +variable yy equal 20*1 +variable zz equal 20*$z +variable zz equal 20*1 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +region box block 0 20 0 ${yy} 0 ${zz} +region box block 0 20 0 20 0 ${zz} +region box block 0 20 0 20 0 20 +create_box 1 box +Created orthogonal box = (0 0 0) to (33.5919 33.5919 33.5919) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 32000 atoms + create_atoms CPU = 0.00378291 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin + +thermo 100 + +read_dump lj_dump.bp 200 x y z vx vy vz format adios + orthogonal box = (0 0 0) to (33.5919 33.5919 33.5919) + 32000 atoms before read + 32000 atoms in snapshot + 0 atoms purged + 32000 atoms replaced + 0 atoms trimmed + 0 atoms added + 32000 atoms after read +run 0 post no +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:52) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 24 24 24 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.841 | 6.843 | 6.846 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.75953175 -5.7618892 0 -4.6226272 0.20910575 +Loop time of 2.35651e-06 on 4 procs for 0 steps with 32000 atoms + + +read_dump lj_dump.bp 800 x y z vx vy vz format adios + orthogonal box = (0 0 0) to (33.5919 33.5919 33.5919) + 32000 atoms before read + 32000 atoms in snapshot + 0 atoms purged + 32000 atoms replaced + 0 atoms trimmed + 0 atoms added + 32000 atoms after read +run 0 post no +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:52) +Per MPI rank memory allocation (min/avg/max) = 6.841 | 6.843 | 6.846 Mbytes +Step Temp E_pair E_mol TotEng Press + 800 0.70876958 -5.6840594 0 -4.6209382 0.66822293 +Loop time of 2.1345e-06 on 4 procs for 0 steps with 32000 atoms + + +read_dump lj_dump.bp 600 x y z vx vy vz format adios + orthogonal box = (0 0 0) to (33.5919 33.5919 33.5919) + 32000 atoms before read + 32000 atoms in snapshot + 0 atoms purged + 32000 atoms replaced + 0 atoms trimmed + 0 atoms added + 32000 atoms after read +run 0 post no +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:52) +Per MPI rank memory allocation (min/avg/max) = 6.841 | 6.843 | 6.846 Mbytes +Step Temp E_pair E_mol TotEng Press + 600 0.72087255 -5.7029314 0 -4.6216563 0.55730354 +Loop time of 2.58526e-06 on 4 procs for 0 steps with 32000 atoms + + +read_dump lj_dump.bp 400 x y z vx vy vz format adios + orthogonal box = (0 0 0) to (33.5919 33.5919 33.5919) + 32000 atoms before read + 32000 atoms in snapshot + 0 atoms purged + 32000 atoms replaced + 0 atoms trimmed + 0 atoms added + 32000 atoms after read +run 0 post no +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:52) +Per MPI rank memory allocation (min/avg/max) = 6.841 | 6.843 | 6.846 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.74155675 -5.7343359 0 -4.6220356 0.3777989 +Loop time of 2.05977e-06 on 4 procs for 0 steps with 32000 atoms + +Total wall time: 0:00:00 diff --git a/examples/USER/adios/rerun/log.20Jan20.rerun.g++.7.4 b/examples/USER/adios/rerun/log.20Jan20.rerun.g++.7.4 new file mode 100644 index 0000000000..b8f2de1566 --- /dev/null +++ b/examples/USER/adios/rerun/log.20Jan20.rerun.g++.7.4 @@ -0,0 +1,88 @@ +LAMMPS (09 Jan 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 20*$x +variable xx equal 20*1 +variable yy equal 20*$y +variable yy equal 20*1 +variable zz equal 20*$z +variable zz equal 20*1 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +region box block 0 20 0 ${yy} 0 ${zz} +region box block 0 20 0 20 0 ${zz} +region box block 0 20 0 20 0 20 +create_box 1 box +Created orthogonal box = (0 0 0) to (33.5919 33.5919 33.5919) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 32000 atoms + create_atoms CPU = 0.00374608 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin + +thermo 100 + +rerun lj_dump.bp first 200 last 800 every 200 dump x y z vx vy vz format adios +WARNING: No fixes defined, atoms won't move (src/verlet.cpp:52) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 24 24 24 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.716 | 6.718 | 6.721 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.75953175 -5.7618892 0 -4.6226272 0.20910575 + 400 0.74155675 -5.7343359 0 -4.6220356 0.3777989 + 600 0.72087255 -5.7029314 0 -4.6216563 0.55730354 + 800 0.70876958 -5.6840594 0 -4.6209382 0.66822293 +Loop time of 0.236006 on 4 procs for 4 steps with 32000 atoms + +Performance: 7321.841 tau/day, 16.949 timesteps/s +94.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.236 | | |100.00 + +Nlocal: 8000 ave 8073 max 7933 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 8693.25 ave 8731 max 8658 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +Neighs: 299786 ave 302951 max 293883 min +Histogram: 1 0 0 0 0 0 0 1 1 1 + +Total # of neighbors = 1199144 +Ave neighs/atom = 37.4733 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00