From 414839787a24ee470f3124f95659a5f6569a2cd5 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 23 Nov 2023 23:51:02 +0100 Subject: [PATCH] More doc for SMPI --- docs/source/app_smpi.rst | 4 +++- src/smpi/colls/smpi_coll.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/source/app_smpi.rst b/docs/source/app_smpi.rst index a168562f74..84bb4fc09d 100644 --- a/docs/source/app_smpi.rst +++ b/docs/source/app_smpi.rst @@ -618,7 +618,9 @@ Mixing S4U and MPI simulation Mixing both interfaces is very easy. This can be useful to easily implement a service in S4U that is provided by your infrastructure in some way, and test how your MPI application interacts with this service. Or you can use it to start more than -one MPI application in your simulation, and study their interactions. +one MPI application in your simulation, and study their interactions. For that, you just need to use +:cpp:ref:`SMPI_app_instance_register` in a regular S4U program, as shown in the example below. Compile it as usual (with gcc or +g++, **not** smpicc) and execute it directly (**not** with smpirun). .. doxygenfunction:: SMPI_app_instance_start diff --git a/src/smpi/colls/smpi_coll.cpp b/src/smpi/colls/smpi_coll.cpp index c2c0000c81..cf22e98031 100644 --- a/src/smpi/colls/smpi_coll.cpp +++ b/src/smpi/colls/smpi_coll.cpp @@ -284,7 +284,8 @@ static s_mpi_coll_description_t* find_coll_description(const std::string& collec std::string name_list = table->at(0).name; for (unsigned long i = 1; i < table->size(); i++) name_list = name_list + ", " + table->at(i).name; - xbt_die("Collective '%s' has no algorithm '%s'! Valid algorithms: %s.", collective.c_str(), algo.c_str(), name_list.c_str()); + xbt_die("Collective '%s' has no algorithm '%s'! Valid algorithms: %s. Please use --help-coll for details.", + collective.c_str(), algo.c_str(), name_list.c_str()); } int (*colls::gather)(const void* send_buff, int send_count, MPI_Datatype send_type, void* recv_buff, int recv_count, -- 2.20.1