5 #ifndef GEOPM_PMPI_H_INCLUDE
6 #define GEOPM_PMPI_H_INCLUDE
30 #define GEOPM_PMPI_ENTER_MACRO(FUNC) \
31 static unsigned is_once = 1; \
32 static uint64_t func_rid = 0; \
33 if (is_once || func_rid == 0) { \
34 func_rid = geopm_mpi_func_rid(FUNC); \
37 geopm_mpi_region_enter(func_rid);
39 #define GEOPM_PMPI_EXIT_MACRO geopm_mpi_region_exit(func_rid);
int geopm_pmpi_finalize(void)
Definition: geopm_pmpi_helper.cpp:297
MPI_Comm geopm_swap_comm_world(MPI_Comm comm)
Definition: geopm_pmpi_helper.cpp:233
void geopm_mpi_region_enter(uint64_t func_rid)
Mark entry of a wrapped MPI region.
Definition: geopm_pmpi_helper.cpp:86
int geopm_pmpi_init_thread(int *argc, char **argv[], int required, int *provided)
Definition: geopm_pmpi_helper.cpp:261
void geopm_mpi_region_exit(uint64_t func_rid)
Mark exit of a wrapped MPI region.
Definition: geopm_pmpi_helper.cpp:93
uint64_t geopm_mpi_func_rid(const char *func_name)
Create a unique region_id from a MPI function name.
Definition: geopm_pmpi_helper.cpp:100
MPI_Fint geopm_swap_comm_world_f(MPI_Fint comm)
Swap out COMM_WORLD with our internally modified comm (fortran only)
Definition: geopm_pmpi_helper.cpp:255