Commit 44a814ec authored by Podhorszki Norbert's avatar Podhorszki Norbert
Browse files

Added 'timeout <value>' option to the adios reader, so that a rerun can...

Added 'timeout <value>' option to the adios reader, so that a rerun can concurrently run with the first simulation
parent 95d3b9e7
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -43,7 +43,9 @@ Syntax
       *format* values = format of dump file, must be last keyword if used
         *native* = native LAMMPS dump file
         *xyz* = XYZ file
         *adios* = dump file written by the :doc:`dump adios <dump_adios>` command
         *adios* [*timeout* value] = dump file written by the :doc:`dump adios <dump_adios>` command
           *timeout* = specify waiting time for the arrival of the timestep when running concurrently.
                     The value is a float number and is interpreted in seconds.
         *molfile* style path = VMD molfile plugin interface
           style = *dcd* or *xyz* or others supported by molfile plugins
           path = optional path for location of molfile plugins
@@ -67,6 +69,7 @@ Examples
   read_dump dump.dcd 0 x y z format molfile dcd
   read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile
   read_dump dump.bp 5000 x y z vx vy vz format adios
   read_dump dump.bp 5000 x y z vx vy vz format adios timeout 60.0

Description
"""""""""""
@@ -144,7 +147,10 @@ entire dump is read in parallel across all the processes, dividing
the atoms evenly amongs the processes. The number of writers that
has written the dump file does not matter. Using the adios style for
dump and read_dump is a convenient way to dump all atoms from *N* 
writers and read it back by *M* readers.
writers and read it back by *M* readers. If one is running two 
LAMMPS instances concurrently where one dumps data and the other is 
reading it with the rerun command, the timeout option can be specified 
to wait on the reader side for the arrival of the requested step. 

Support for other dump format readers may be added in the future.

+2 −0
Original line number Diff line number Diff line
@@ -44,6 +44,8 @@ Examples
   rerun dump.vels dump x y z vx vy vz box yes format molfile lammpstrj
   rerun dump.dcd dump x y z box no format molfile dcd
   rerun ../run7/dump.file.gz skip 2 dump x y z box yes
   rerun dump.bp dump x y z box no format adios 
   rerun dump.bp dump x y z vx vy vz format adios timeout 10.0

Description
"""""""""""
+8 −0
Original line number Diff line number Diff line
@@ -36,3 +36,11 @@ $ bpls -l lj_dump.bp -d atoms -n 8 --format "%g" | less -S
    (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.

$ mpirun -n 2 lmp -in in.first
$ mpirun -n 4 lmp -in in.rerun 
+0 −1
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@

    <io name="read_dump">
        <engine type="BP4">
            <parameter key="OpenTimeoutSecs" value="10.0"/>
        </engine>
    </io>

+1 −1
Original line number Diff line number Diff line
@@ -25,5 +25,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
                dump x y z vx vy vz format adios timeout 10.0
Loading