PAPI_set_granularity - Man Page

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 );


-- 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_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.


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");
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


Generated automatically by Doxygen for PAPI from the source code.


Thu Jan 25 2024 00:00:00 Version PAPI