CInterface:
#include <papi.h>
int PAPI_hl_region_begin(constchar*region);
Parametersregion -- a unique region name
ReturnvaluesPAPI_OKPAPI_ENOTRUN -- EventSet is currently not running or could not determined.
PAPI_ESYS -- A system or C library call failed inside PAPI, see the errno variable.
PAPI_EMISC -- PAPI has been deactivated due to previous errors.
PAPI_ENOMEM -- Insufficient memory.
PAPI_hl_region_begin reads performance events and stores them internally at the beginning of an
instrumented code region. If not specified via the environment variable PAPI_EVENTS, default events are
used. The first call sets all counters implicitly to zero and starts counting. Note that if PAPI_EVENTS
is not set or cannot be interpreted, default performance events are recorded.
Example:
export PAPI_EVENTS="PAPI_TOT_INS,PAPI_TOT_CYC"
int retval;
retval = PAPI_hl_region_begin("computation");
if ( retval != PAPI_OK )
handle_error(1);
//Do some computation here
retval = PAPI_hl_region_end("computation");
if ( retval != PAPI_OK )
handle_error(1);
SeealsoPAPI_hl_readPAPI_hl_region_endPAPI_hl_stop