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
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,