X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b05a0ed4f5fb7b81f96777af37b8f7fc5a4bf160..42052ec087f4e5c10bef91863cf0c63e3d60b0d7:/src/smpi/smpi_mpi.c diff --git a/src/smpi/smpi_mpi.c b/src/smpi/smpi_mpi.c index 483bbf5bd1..bb04f50876 100644 --- a/src/smpi/smpi_mpi.c +++ b/src/smpi/smpi_mpi.c @@ -5,6 +5,7 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "private.h" +#include "simgrid/sg_config.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_mpi, smpi, "Logging specific to SMPI (mpi)"); @@ -13,6 +14,18 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_mpi, smpi, int MPI_Init(int *argc, char ***argv) { + int alltoall_id = find_coll_description(mpi_coll_alltoall_description, + sg_cfg_get_string("smpi/alltoall")); + mpi_coll_alltoall_fun = (int (*)(void *, int, MPI_Datatype, + void*, int, MPI_Datatype, MPI_Comm)) + mpi_coll_alltoall_description[alltoall_id].coll; + + int allgather_id = find_coll_description(mpi_coll_allgather_description, + sg_cfg_get_string("smpi/allgather")); + mpi_coll_allgather_fun = (int (*)(void *, int, MPI_Datatype, + void*, int, MPI_Datatype, MPI_Comm)) + mpi_coll_allgather_description[allgather_id].coll; + return PMPI_Init(argc, argv); } @@ -61,6 +74,11 @@ int MPI_Type_free(MPI_Datatype * datatype) return PMPI_Type_free(datatype); } +int MPI_Pcontrol(const int level ) +{ + return PMPI_Pcontrol(level); +} + int MPI_Type_size(MPI_Datatype datatype, int *size) { return PMPI_Type_size(datatype, size); @@ -169,6 +187,11 @@ int MPI_Comm_size(MPI_Comm comm, int *size) return PMPI_Comm_size(comm, size); } +int MPI_Comm_get_attr (MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag) +{ + return PMPI_Comm_get_attr (comm, comm_keyval, attribute_val, flag); +} + int MPI_Comm_get_name (MPI_Comm comm, char* name, int* len) { return PMPI_Comm_get_name(comm, name, len);