X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e5c854e45299864d618f3a522046db9d24e2e28b..eb8ccfc173fea34bbb00377623da7fdfb4411df7:/docs/source/app_smpi.rst diff --git a/docs/source/app_smpi.rst b/docs/source/app_smpi.rst index 513bfa1be7..a62509fd42 100644 --- a/docs/source/app_smpi.rst +++ b/docs/source/app_smpi.rst @@ -74,9 +74,9 @@ If you use cmake, set the variables ``MPI_C_COMPILER``, ``MPI_CXX_COMPILER`` and ``MPI_Fortran_COMPILER`` to the full path of smpicc, smpicxx and smpiff (or smpif90), respectively. Example: -.. code-block:: shell +.. code-block:: console - cmake -DMPI_C_COMPILER=/opt/simgrid/bin/smpicc -DMPI_CXX_COMPILER=/opt/simgrid/bin/smpicxx -DMPI_Fortran_COMPILER=/opt/simgrid/bin/smpiff . + $ cmake -DMPI_C_COMPILER=/opt/simgrid/bin/smpicc -DMPI_CXX_COMPILER=/opt/simgrid/bin/smpicxx -DMPI_Fortran_COMPILER=/opt/simgrid/bin/smpiff . .................... Simulating your Code @@ -84,9 +84,9 @@ Simulating your Code Use the ``smpirun`` script as follows: -.. code-block:: shell +.. code-block:: console - smpirun -hostfile my_hostfile.txt -platform my_platform.xml ./program -blah + $ smpirun -hostfile my_hostfile.txt -platform my_platform.xml ./program -blah - ``my_hostfile.txt`` is a classical MPI hostfile (that is, this file lists the machines on which the processes must be dispatched, one @@ -120,10 +120,10 @@ 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. -.. code-block:: shell +.. code-block:: console - smpirun -wrapper valgrind ...other args... - smpirun -wrapper "gdb --args" --cfg=contexts/factory:thread ...other args... + $ smpirun -wrapper valgrind ...other args... + $ smpirun -wrapper "gdb --args" --cfg=contexts/factory:thread ...other args... Some shortcuts are available: @@ -783,10 +783,10 @@ functional or that you are cross-compiling, try to define the ``SMPI_PRETEND_CC`` environment variable before running the configuration. -.. code-block:: shell +.. code-block:: console - SMPI_PRETEND_CC=1 ./configure # here come the configure parameters - make + $ SMPI_PRETEND_CC=1 ./configure # here come the configure parameters + $ make Indeed, the programs compiled with ``smpicc`` cannot be executed without ``smpirun`` (they are shared libraries and do weird things on @@ -808,10 +808,10 @@ fail without ``smpirun``. In addition to the previous answers, some projects also need to be explicitly told what compiler to use, as follows: -.. code-block:: shell +.. code-block:: console - SMPI_PRETEND_CC=1 ./configure CC=smpicc # here come the other configure parameters - make + $ SMPI_PRETEND_CC=1 ./configure CC=smpicc # here come the other configure parameters + $ make Maybe your configure is using another variable, such as ``cc`` (in lower case) or similar. Just check the logs. @@ -847,7 +847,7 @@ SimGrid uses time-independent traces, in which each actor is given a script of the actions to do sequentially. These trace files can actually be captured with the online version of SMPI, as follows: -.. code-block:: shell +.. code-block:: console $ smpirun -trace-ti --cfg=tracing/filename:LU.A.32 -np 32 -platform ../cluster_backbone.xml bin/lu.A.32 @@ -860,12 +860,14 @@ To replay this with SMPI, you need to first compile the provided `simgrid/examples/smpi/replay `_. -.. code-block:: shell +.. code-block:: console $ smpicxx ../replay.cpp -O3 -o ../smpi_replay Afterward, you can replay your trace in SMPI as follows: +.. code-block:: console + $ smpirun -np 32 -platform ../cluster_torus.xml -ext smpi_replay ../smpi_replay LU.A.32 All the outputs are gone, as the application is not really simulated