PAPI_set_granularity3
Set the default counting granularity for eventsets bound to the cpu component.
Detailed Description
C Prototype:
#include <papi.h>
int PAPI_set_granularity( int granularity );
Parameters
-- granularity one of the following constants as defined in the papi.h header file
•
|
PAPI_GRN_THR -- Count each individual thread |
|---|---|
•
|
PAPI_GRN_PROC -- Count each individual process |
•
|
PAPI_GRN_PROCG -- Count each individual process group |
•
|
PAPI_GRN_SYS -- Count the current CPU |
•
|
PAPI_GRN_SYS_CPU -- Count all CPUs individually |
•
|
PAPI_GRN_MIN -- The finest available granularity |
•
|
PAPI_GRN_MAX -- The coarsest available granularity |
Return values
PAPI_OK
PAPI_EINVAL One or more of the arguments is invalid.
PAPI_set_granularity sets the default counting granularity for all new event sets created by PAPI_create_eventset. This call implicitly sets the granularity for the cpu component (component 0) and is included to preserve backward compatibility.
Example:
int ret;
// Initialize the library
ret = PAPI_library_init(PAPI_VER_CURRENT);
if (ret > 0 && ret != PAPI_VER_CURRENT) {
fprintf(stderr,"PAPI library version mismatch!\n");
exit(1);
}
if (ret < 0) handle_error(ret);
// Set the default granularity for the cpu component
ret = PAPI_set_granularity(PAPI_GRN_PROC);
if (ret != PAPI_OK) handle_error(ret);
ret = PAPI_create_eventset(&EventSet);
if (ret != PAPI_OK) handle_error(ret);
See also
PAPI_set_cmp_granularity PAPI_set_domain PAPI_set_opt PAPI_get_opt
Releases
6 releases since Debian 8 (Jessie); the text changed 5 times.