In some scenarios, a sequential re-run of a parallel node is desired. One
example is instruction-level accurate architecture simulations, in which case
the user may wish to repeat the execution of a node in a parallel run in the
sequential simulator. AMPI provides support for such needs by logging the change
in the MPI environment on a certain processors. To activate the feature, build
AMPI module with variable ``AMPIMSGLOG'' defined, like the following command in
charm directory. (Linking with zlib ``-lz'' might be required with this, for
generating compressed log file.)
> ./build AMPI net-linux -DAMPIMSGLOG
The feature is used in two phases: writing (logging) the environment and
repeating the run. The first logging phase is invoked by a parallel run of the
AMPI program with some additional command line options.
In the above example, a parallel run with 4 processors and 4 VPs will be
executed, and the changes in the MPI environment of processor 2 (also VP 2,
starting from 0) will get logged into diskfile "msg2.log".
Unlike the first run, the re-run is a sequential program, so it is not invoked
by charmrun (and omitting charmrun options like +p4 and +vp4), and additional
comamnd line options are required as well.