52 lines
2.4 KiB
Plaintext
52 lines
2.4 KiB
Plaintext
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
|
|
|
|
|
|
|
|
Concurrent rerun use case
|
|
=========================
|
|
|
|
The ADIOS BP4 engine allows for reading from the dump file (completed steps)
|
|
while the writer is still running (and dumping new steps). In two terminals,
|
|
one can run the in.first and in.rerun examples concurrently. The second
|
|
simulation will blocking wait for the steps from the first up to the timeout
|
|
specified in the rerun command.
|
|
|
|
$ mpirun -n 2 lmp -in in.first
|
|
$ mpirun -n 4 lmp -in in.rerun
|
|
|