Scroll to navigation

PAPI_set_multiplex(3) PAPI PAPI_set_multiplex(3)

NAME

PAPI_get_multiplex - get the multiplexing status of specified event set PAPI_set_multiplex - convert a standard event set to a multiplexed event set

SYNOPSIS

C Interface

#include <papi.h>
int PAPI_get_multiplex(int EventSet);
int PAPI_set_multiplex(int EventSet);

Fortran Interface

#include fpapi.h
PAPIF_get_multiplex(C_INT EventSet, C_INT check)
PAPIF_set_multiplex(C_INT EventSet, C_INT check)

DESCRIPTION

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.

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() , 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.

ARGUMENTS

EventSet -- an integer handle for a PAPI event set as created by PAPI_create_eventset(3)

RETURN VALUES

PAPI_get_multiplex returns either TRUE (positive non-zero) if multiplexing is enabled for this event set, FALSE (zero) if multiplexing is not enabled, or PAPI_ENOEVST if the specified event set cannot be found.

On success, PAPI_get_multiplex returns PAPI_OK. On error, a non-zero error code is returned, as described below.

ERRORS

One or more of the arguments is invalid, or the EventSet is already multiplexed.
The EventSet specified does not exist.
The EventSet is currently counting events.
Insufficient memory to complete the operation.

EXAMPLES


retval = PAPI_get_multiplex(EventSet);
if (retval > 0) printf("This event set is ready for multiplexing0")
if (retval == 0) printf("This event set is not enabled for multiplexing0")
if (retval < 0) handle_error(retval);

retval = PAPI_set_multiplex(EventSet);
if ((retval == PAPI_EINVAL) && (PAPI_get_multiplex(EventSet) > 0))
printf("This event set already has multiplexing enabled0);
else if (retval != PAPI_OK) handle_error(retval);

BUGS

This function has no known bugs.

SEE ALSO

PAPI_multiplex_init(3),PAPI_set_opt(3),PAPI_create_eventset(3)

September, 2004 PAPI Programmer's Reference