table of contents
PAPI_set_multiplex(3) | PAPI | PAPI_set_multiplex(3) |
NAME¶
PAPI_set_multiplex - Convert a standard event set to a multiplexed event set.
SYNOPSIS¶
Detailed Description¶
C Interface:
int PAPI_set_multiplex( int EventSet );
Parameters
Return values
PAPI_EINVAL -- One or more of the arguments is invalid, or the EventSet is already multiplexed.
PAPI_ENOCMP -- The EventSet specified is not yet bound to a component.
PAPI_ENOEVST -- The EventSet specified does not exist.
PAPI_EISRUN -- The EventSet is currently counting events.
PAPI_ENOMEM -- Insufficient memory to complete the operation.
PAPI_set_multiplex converts a standard PAPI event set created by a call to PAPI_create_eventset into an event set capable of handling multiplexed events. This must be done after calling PAPI_multiplex_init, and either PAPI_add_event or PAPI_assign_eventset_component, but prior to calling PAPI_start().
Events can be added to an event set either before or after converting it into a multiplexed set, but the conversion must be done prior to using it as a multiplexed set.
Note
Example:
int EventSet = PAPI_NULL; int ret;
// Create an empty EventSet ret = PAPI_create_eventset(&EventSet); if (ret != PAPI_OK) handle_error(ret); // Bind it to the CPU component ret = PAPI_assign_eventset_component(EventSet, 0); if (ret != PAPI_OK) handle_error(ret); // Check current multiplex status ret = PAPI_get_multiplex(EventSet); if (ret == TRUE) printf("This event set is ready for multiplexing\n.") if (ret == FALSE) printf("This event set is not enabled for multiplexing\n.") if (ret < 0) handle_error(ret); // Turn on multiplexing ret = PAPI_set_multiplex(EventSet); if ((ret == PAPI_EINVAL) && (PAPI_get_multiplex(EventSet) == TRUE))
printf("This event set already has multiplexing enabled\n"); else if (ret != PAPI_OK) handle_error(ret);
See also
PAPI_get_multiplex
PAPI_set_opt
PAPI_create_eventset
Author¶
Generated automatically by Doxygen for PAPI from the source code.
Thu Dec 14 2023 | Version 7.1.0.0 |