*** empty log message ***
authorChao Huang <chuang10@uiuc.edu>
Sat, 12 May 2007 20:53:03 +0000 (20:53 +0000)
committerChao Huang <chuang10@uiuc.edu>
Sat, 12 May 2007 20:53:03 +0000 (20:53 +0000)
doc/ampi/manual.tex

index 6bf656ddab7728cd0caae6d79993402e492d3c1e..51a64289b400e9aa070362c5ac0a43aa214c362f 100644 (file)
@@ -785,6 +785,40 @@ ierr = MPI_Recv(InitialTime, 1, MPI_DOUBLE, tag,
                 \emph{36, MPI_Comm_Universe(Solids_Comm)}, &stat);
 \end{alltt}
 
+\subsection{Extensions for Sequential Re-run of a Parallel Node}
+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.)
+
+\begin{alltt}
+> ./build AMPI net-linux -DAMPIMSGLOG
+\end{alltt}
+
+The feature is used in two phases: writing (logging) the environment and
+repeating the run. The first logging phase is inovked by a parallel run of the
+AMPI program with some additional command line options. 
+
+\begin{alltt}
+> ./charmrun ./pgm +p4 +vp4 +msgLogWrite +msgLogRank 2 +msgLogFilename "msg2.log"
+\end{alltt}
+
+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. 
+
+\begin{alltt}
+> ./pgm +msgLogRead +msgLogRank 2 +msgLogFilename "msg2.log"
+\end{alltt}
+
 \subsection{Communication Optimizations for AMPI}
 AMPI is powered by the \charmpp{} communication optimization support now!
 Currently the user needs to specify the communication pattern by command