File: PAPI_set_cmp_granularity.3

package info (click to toggle)
papi 7.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 31,272 kB
  • sloc: ansic: 485,669; cpp: 7,483; fortran: 3,138; makefile: 2,501; xml: 2,460; f90: 1,374; python: 1,062; sh: 780; perl: 242; pascal: 167; asm: 5
file content (93 lines) | stat: -rw-r--r-- 2,388 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
.TH "PAPI_set_cmp_granularity" 3 "Wed Jun 25 2025 19:30:49" "Version 7.2.0.0" "PAPI" \" -*- nroff -*-
.ad l
.nh
.SH NAME
PAPI_set_cmp_granularity \- Set the default counting granularity for eventsets bound to the specified component\&.  

.SH SYNOPSIS
.br
.PP
.SH "Detailed Description"
.PP 

.PP
\fBC Prototype:\fP
.RS 4
#include <\fBpapi\&.h\fP> 
.br
 int PAPI_set_cmp_granularity( int granularity, int cidx );
.RE
.PP
\fBParameters\fP
.RS 4
\fIgranularity\fP one of the following constants as defined in the \fBpapi\&.h\fP header file 
.PD 0
.IP "\(bu" 1
PAPI_GRN_THR Count each individual thread 
.IP "\(bu" 1
PAPI_GRN_PROC Count each individual process 
.IP "\(bu" 1
PAPI_GRN_PROCG Count each individual process group 
.IP "\(bu" 1
PAPI_GRN_SYS Count the current CPU 
.IP "\(bu" 1
PAPI_GRN_SYS_CPU Count all CPUs individually 
.IP "\(bu" 1
PAPI_GRN_MIN The finest available granularity 
.IP "\(bu" 1
PAPI_GRN_MAX The coarsest available granularity
.PP
.br
\fIcidx\fP An integer identifier for a component\&. By convention, component 0 is always the cpu component\&.  
    
.RE
.PP
\fBReturn values\fP
.RS 4
\fIPAPI_OK\fP 
.br
\fIPAPI_EINVAL\fP One or more of the arguments is invalid\&. 
.br
\fIPAPI_ENOCMP\fP The argument cidx is not a valid component\&.  
    
.RE
.PP
\fBPAPI_set_cmp_granularity\fP sets the default counting granularity for all new event sets, and requires an explicit component argument\&. Event sets that are already in existence are not affected\&.
.PP
To change the granularity of an existing event set, please see \fBPAPI_set_opt\fP\&. The reader should note that the granularity of an event set affects only the mode in which the counter continues to run\&.
.PP
\fBExample:\fP
.RS 4

.PP
.nf
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_cmp_granularity(PAPI_GRN_PROC, 0);
if (ret != PAPI_OK) handle_error(ret);
ret = PAPI_create_eventset(&EventSet);
if (ret != PAPI_OK) handle_error(ret);

.fi
.PP
.RE
.PP
\fBSee also\fP
.RS 4
\fBPAPI_set_granularity\fP \fBPAPI_set_domain\fP \fBPAPI_set_opt\fP \fBPAPI_get_opt\fP 
.RE
.PP


.SH "Author"
.PP 
Generated automatically by Doxygen for PAPI from the source code\&.