@tableofcontents
-[TOC]
-
SMPI enables the study of MPI application by emulating them on top of
the SimGrid simulator. This is particularly interesting to study
existing MPI applications within the comfort of the simulator. The
- @ref SMPI_use
- @ref SMPI_use_compile
- @ref SMPI_use_exec
+ - @ref SMPI_use_debug
- @ref SMPI_use_colls
- @ref SMPI_use_colls_algos
- @ref SMPI_use_colls_tracing
smpirun -help
@endverbatim
+@subsection SMPI_use_debug Debugging your code on top of SMPI
+
+If you want to explore the automatic platform and deployment files
+that are generated by @c smpirun, add @c -keep-temps to the command
+line.
+
+You can also run your simulation within valgrind or gdb using the
+following commands. Once in GDB, each MPI ranks will be represented as
+a regular thread, and you can explore the state of each of them as
+usual.
+@verbatim
+smpirun -wrapper valgrind ...other args...
+smpirun -wrapper "gdb --args" --cfg=contexts/factory:thread ...other args...
+@endverbatim
+
@subsection SMPI_use_colls Simulating collective operations
MPI collective operations are crucial to the performance of MPI
- 2dmesh: organizes the nodes as a two dimensional mesh, and perform allgather
along the dimensions
- 3dmesh: adds a third dimension to the previous algorithm
- - rdb: recursive doubling : extends the mesh to a nth dimension, each one
+ - rdb: recursive doubling: extends the mesh to a nth dimension, each one
containing two nodes
- pair: pairwise exchange, only works for power of 2 procs, size-1 steps,
each process sends and receives from the same process at each step