X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/85b6c08c26f9da9041c315d3e9cbd4f20f8db9ff..dc122c0fb3802061bc2fdb4abd50bf02a224cfdc:/include/smpi/smpi.h diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index e5209d4131..0322577b82 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -17,6 +17,7 @@ #include #ifdef __cplusplus +#include #include #endif @@ -1048,8 +1049,9 @@ MPI_CALL(XBT_PUBLIC int, MPI_Dist_graph_create, (MPI_Comm comm_old, int n, const const int* weights, MPI_Info info, int reorder, MPI_Comm* comm_dist_graph)); MPI_CALL(XBT_PUBLIC int, MPI_Dist_graph_create_adjacent, (MPI_Comm comm_old, int indegree, const int* sources, const int* sourceweights, int outdegree, const int* destinations, const int* destweights, MPI_Info info, int reorder, MPI_Comm* comm_dist_graph)); -MPI_CALL(XBT_PUBLIC int, MPI_Dist_graph_neighbors, (MPI_Comm comm, int maxindegree, int* sources, int* sourceweights, - int maxoutdegree, int* destinations, int* destweights)); +MPI_CALL(XBT_PUBLIC int, MPI_Dist_graph_neighbors, + (MPI_Comm comm, int maxindegree, int* sources, int* sourceweights, int maxoutdegree, int* destinations, + int* destweights)); MPI_CALL(XBT_PUBLIC int, MPI_Dist_graph_neighbors_count, (MPI_Comm comm, int *indegree, int *outdegree, int *weighted)); MPI_CALL(XBT_PUBLIC int, MPI_Win_test, (MPI_Win win, int* flag)); @@ -1252,6 +1254,27 @@ std::vector> merge_private_blocks(const std::vector; +/** @brief SMPI functions that accept cost functions */ +enum class SmpiOperation { RECV = 2, SEND = 1, ISEND = 0 }; +/** + * @brief Register a cost callback for some SMPI function (MPI_Send, MPI_ISend or MPI_Recv) + * + * @param op SMPI function + * @param cb User's callback + */ +XBT_PUBLIC void smpi_register_op_cost_callback(SmpiOperation op, const SmpiOpCostCb& cb); #endif -#endif +#endif