Added rerun example for ADIOS dump/read_dump to examples/USER/adios/rerun.

Moved the balance example under examples/USER/adios/balance
This commit is contained in:
Podhorszki Norbert
2020-01-20 11:23:18 -05:00
parent 18c16b4b39
commit 50062d6a44
12 changed files with 500 additions and 0 deletions

View File

@ -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

View File

@ -0,0 +1,54 @@
<?xml version="1.0"?>
<adios-config>
<!-- example engines
<engine type="BPFile">
<parameter key="substreams" value="10"/>
</engine>
<engine type="HDF5">
The 'substreams' parameter in BPFile controls how many
files on disk are created. This number should be proportional
to the number of servers in the parallel file system,
NOT to the number of processes.
substreams=1 is generally a very inefficient setting for large parallel runs.
To compress the atoms table, add a <variable...> element to <io>
Note, outside the <engine> element!
Supported compression methods are:
lossless: bzip2, blosc
lossy: sz, zfp, mgard
ADIOS must be built with the corresponding compression library.
<variable name="atoms">
<operation type="sz">
<parameter key="accuracy" value="0.001"/>
</operation>
</variable>
-->
<!--====================================================
Configuration for the dump atom/adios command
====================================================-->
<io name="atom">
<engine type="BPFile">
<parameter key="substreams" value="1"/>
</engine>
</io>
<!--====================================================
Configuration for the dump custom/adios command
====================================================-->
<io name="custom">
<engine type="BPFile">
<parameter key="substreams" value="1"/>
</engine>
</io>
</adios-config>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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