X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3dd753cd9e46d794e00629d03183250aec4a17e4..3fafdab4bb94b48cb16c80690408a18f472e202b:/docs/source/app_smpi.rst diff --git a/docs/source/app_smpi.rst b/docs/source/app_smpi.rst index 01bc627a14..ddea04e9ef 100644 --- a/docs/source/app_smpi.rst +++ b/docs/source/app_smpi.rst @@ -106,7 +106,7 @@ tracing during the simulation. You can get the full list by running Finally, you can pass :ref:`any valid SimGrid parameter ` to your program. In particular, you can pass ``--cfg=network/model:ns-3`` to -switch to use :ref:`model_ns3`. These parameters should be placed after +switch to use :ref:`models_ns3`. These parameters should be placed after the name of your binary on the command line. ............................... @@ -177,7 +177,7 @@ of the targeted MPI implementations. You can switch the automatic selector through the ``smpi/coll-selector`` configuration item. Possible values: - - **ompi:** default selection logic of OpenMPI (version 3.1.2) + - **ompi:** default selection logic of OpenMPI (version 4.1.2) - **mpich**: default selection logic of MPICH (version 3.3b) - **mvapich2**: selection logic of MVAPICH2 (version 1.9) tuned on the Stampede cluster @@ -294,6 +294,7 @@ MPI_Scatter ``impi``: use intel mpi selector for the scatter operations. |br| ``automatic (experimental)``: use an automatic self-benchmarking algorithm. |br| ``ompi_basic_linear``: basic linear scatter. |br| +``ompi_linear_nb``: linear scatter, non blocking sends. |br| ``ompi_binomial``: binomial tree scatter. |br| ``mvapich2_two_level_direct``: SMP aware algorithm, with an intra-node stage (default set to mpich selector), and then a basic linear inter node stage. Use mvapich2 selector to change these to tuned algorithms for Stampede cluster. |br| ``mvapich2_two_level_binomial``: SMP aware algorithm, with an intra-node stage (default set to mpich selector), and then a binomial phase. Use mvapich2 selector to change these to tuned algorithms for Stampede cluster. |br| @@ -359,6 +360,7 @@ MPI_Reduce_scatter ``automatic (experimental)``: use an automatic self-benchmarking algorithm. |br| ``ompi_basic_recursivehalving``: recursive halving version from OpenMPI. |br| ``ompi_ring``: ring version from OpenMPI. |br| +``ompi_butterfly``: butterfly version from OpenMPI. |br| ``mpich_pair``: pairwise exchange version from MPICH. |br| ``mpich_rdb``: recursive doubling version from MPICH. |br| ``mpich_noncomm``: only works for power of 2 procs, recursive doubling for noncommutative ops. |br| @@ -456,7 +458,8 @@ can't be done, so algorithms have to be changed to use smpi version of the calls instead (MPI_Send will become smpi_mpi_send). Some functions may have different signatures than their MPI counterpart, please check the other algorithms or contact us using the `>SimGrid -developers mailing list `_. +user mailing list `_, +or on `>Mattermost `_. Example: adding a "pair" version of the Alltoall collective. @@ -746,11 +749,11 @@ them on top of SMPI. Troubleshooting with SMPI ------------------------- -................................. -./configure refuses to use smpicc -................................. +......................................... +./configure or cmake refuse to use smpicc +......................................... -If your ``./configure`` reports that the compiler is not +If your configuration script (such as ``./configure`` or ``cmake``) reports that the compiler is not functional or that you are cross-compiling, try to define the ``SMPI_PRETEND_CC`` environment variable before running the configuration. @@ -769,20 +772,20 @@ fail without ``smpirun``. .. warning:: - Make sure that SMPI_PRETEND_CC is only set when calling ./configure, + Make sure that SMPI_PRETEND_CC is only set when calling the configuration script but not during the actual execution, or any program compiled with smpicc will stop before starting. -.............................................. -./configure does not pick smpicc as a compiler -.............................................. +..................................................... +./configure or cmake do not pick smpicc as a compiler +..................................................... In addition to the previous answers, some projects also need to be explicitly told what compiler to use, as follows: .. code-block:: console - $ SMPI_PRETEND_CC=1 ./configure CC=smpicc # here come the other configure parameters + $ SMPI_PRETEND_CC=1 cmake CC=smpicc # here come the other configure parameters $ make Maybe your configure is using another variable, such as ``cc`` (in