|
EPIK
Scalable runtime performance measurement system
|
Registration of MPI regions. More...
Data Structures | |
| struct | EpkMPItype |
| MPI operation event type. More... | |
Functions | |
| static int | epk_mycmp (const void *v1, const void *v2) |
| Compare function for binary search. | |
| void | epk_mpi_enable_init () |
| Enable measurement for specific subgroups of MPI functions. | |
| void | epk_mpi_register () |
| Register MPI functions and initialize data structures. | |
| elg_ui1 | epk_is_mpi_collective (const char *str) |
| Check if region is flagged collective. | |
| elg_ui1 | epk_is_mpi_point2point (const char *str) |
| Check if region is flagged point-to-point. | |
| elg_ui1 | epk_mpi_eventtype (const char *str) |
| Check if region is flagged either point-to-point or collective. | |
Variables | |
| static const EpkMPItype | epk_mpi_pt2pt [] |
| MPI point-to-point function types. | |
| static const EpkMPItype | epk_mpi_colls [] |
| MPI collective function types. | |
| int | epk_mpi_regid [EPK__MPI_NUMFUNCS+1] |
| Region IDs of MPI functions. | |
| static const EpkMPItype | epk_mpi_enable_groups [] |
| Mapping of string keys to enabling group IDs. | |
| elg_ui4 | epk_mpi_enabled = 0 |
| Bit vector for runtime measurement wrapper enabling/disabling. | |
Request handling for MPI adapter.
| elg_ui1 epk_is_mpi_collective | ( | const char * | str | ) |
| str | Region name |
| elg_ui1 epk_is_mpi_point2point | ( | const char * | str | ) |
| str | Region name |
| elg_ui1 epk_mpi_eventtype | ( | const char * | str | ) |
| str | Region name |
| void epk_mpi_register | ( | ) |
Artificial root for MPI-only experiments when no user-code instrumenation is available
| static int epk_mycmp | ( | const void * | v1, |
| const void * | v2 | ||
| ) | [static] |
| v1 | string to checked |
| v2 | pointer to EpkMPItype structure |
strcasecmp result of two strings const EpkMPItype epk_mpi_colls[] [static] |
const EpkMPItype epk_mpi_enable_groups[] [static] |
{
{ "ALL", EPK_MPI_ENABLED_ALL },
{ "CG", EPK_MPI_ENABLED_CG },
{ "COLL", EPK_MPI_ENABLED_COLL },
{ "DEFAULT", EPK_MPI_ENABLED_DEFAULT },
{ "ENV", EPK_MPI_ENABLED_ENV },
{ "ERR", EPK_MPI_ENABLED_ERR },
{ "EXT", EPK_MPI_ENABLED_EXT },
{ "IO", EPK_MPI_ENABLED_IO },
{ "MISC", EPK_MPI_ENABLED_MISC },
{ "P2P", EPK_MPI_ENABLED_P2P },
{ "PERF", EPK_MPI_ENABLED_PERF },
{ "RMA", EPK_MPI_ENABLED_RMA },
{ "SPAWN", EPK_MPI_ENABLED_SPAWN },
{ "TOPO", EPK_MPI_ENABLED_TOPO },
{ "TYPE", EPK_MPI_ENABLED_TYPE },
{ "XNONBLOCK", EPK_MPI_ENABLED_XNONBLOCK },
{ "XREQTEST", EPK_MPI_ENABLED_XREQTEST }
}
const EpkMPItype epk_mpi_pt2pt[] [static] |
{
{ "MPI_Bsend", EPK_MPI_TYPE__SEND },
{ "MPI_Ibsend", EPK_MPI_TYPE__SEND },
{ "MPI_Irsend", EPK_MPI_TYPE__SEND },
{ "MPI_Isend", EPK_MPI_TYPE__SEND },
{ "MPI_Issend", EPK_MPI_TYPE__SEND },
{ "MPI_Recv", EPK_MPI_TYPE__RECV },
{ "MPI_Rsend", EPK_MPI_TYPE__SEND },
{ "MPI_Send", EPK_MPI_TYPE__SEND },
{ "MPI_Sendrecv", EPK_MPI_TYPE__SEND + EPK_MPI_TYPE__RECV },
{ "MPI_Sendrecv_replace", EPK_MPI_TYPE__SEND + EPK_MPI_TYPE__RECV },
{ "MPI_Ssend", EPK_MPI_TYPE__SEND },
{ "MPI_Start", EPK_MPI_TYPE__SEND },
{ "MPI_Startall", EPK_MPI_TYPE__SEND },
{ "MPI_Test", EPK_MPI_TYPE__RECV },
{ "MPI_Testall", EPK_MPI_TYPE__RECV },
{ "MPI_Testany", EPK_MPI_TYPE__RECV },
{ "MPI_Testsome", EPK_MPI_TYPE__RECV },
{ "MPI_Wait", EPK_MPI_TYPE__RECV },
{ "MPI_Waitall", EPK_MPI_TYPE__RECV },
{ "MPI_Waitany", EPK_MPI_TYPE__RECV },
{ "MPI_Waitsome", EPK_MPI_TYPE__RECV },
}
![]() |
Copyright © 1998–2012 Forschungszentrum Jülich GmbH, Jülich Supercomputing Centre |