PAPI  5.0.1.0
PAPI_get_multiplex Class Reference

Get the multiplexing status of specified event set. More...


Detailed Description

C Interface:
#include <papi.h>
int PAPI_get_multiplex( int EventSet );
Fortran Interface:
#include fpapi.h
PAPIF_get_multiplex( C_INT EventSet, C_INT check )
Parameters:
EventSetan integer handle for a PAPI event set as created by PAPI_create_eventset
Return values:
PAPI_OK
PAPI_EINVALOne or more of the arguments is invalid, or the EventSet is already multiplexed.
PAPI_ENOEVSTThe EventSet specified does not exist.
PAPI_EISRUNThe EventSet is currently counting events.
PAPI_ENOMEMInsufficient memory to complete the operation.

PAPI_get_multiplex tests the state of the PAPI_MULTIPLEXING flag in the specified event set, returning TRUE if a PAPI event set is multiplexed, or FALSE if not.

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_multiplex_init
PAPI_set_opt
PAPI_create_eventset

The documentation for this class was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines