]> AND Public Git Repository - simgrid.git/blobdiff - docs/source/app_smpi.rst
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Hint about how to configure with ninja instead of make
[simgrid.git] / docs / source / app_smpi.rst
index 01bc627a14746b49fa3bf1eda18f6abcd3ac899a..24f8bf73aec6d764c34e1a4e233ccfba500e40bf 100644 (file)
@@ -177,7 +177,7 @@ of the targeted MPI implementations.
 You can switch the automatic selector through the
 ``smpi/coll-selector`` configuration item. Possible values:
 
 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
  - **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|
 ``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|
 ``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|
 ``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|
 ``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
 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 <http://lists.gforge.inria.fr/mailman/listinfo/simgrid-devel>`_.
+user mailing list <https://sympa.inria.fr/sympa/info/simgrid-community>`_,
+or on `>Mattermost <https://framateam.org/simgrid/channels/town-square>`_.
 
 Example: adding a "pair" version of the Alltoall collective.
 
 
 Example: adding a "pair" version of the Alltoall collective.
 
@@ -746,11 +749,11 @@ them on top of SMPI.
 Troubleshooting with 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.
 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::
 
 
 .. 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.
 
   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
 
 
 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
    $ make
 
 Maybe your configure is using another variable, such as ``cc`` (in