Blame man/man3/PAPI_num_cmp_hwctrs.3

Packit 577717
.TH "PAPI_num_cmp_hwctrs" 3 "Mon Dec 18 2017" "Version 5.6.0.0" "PAPI" \" -*- nroff -*-
Packit 577717
.ad l
Packit 577717
.nh
Packit 577717
.SH NAME
Packit 577717
PAPI_num_cmp_hwctrs \- 
Packit 577717
.PP
Packit 577717
Return the number of hardware counters for the specified component\&.  
Packit 577717
Packit 577717
.SH SYNOPSIS
Packit 577717
.br
Packit 577717
.PP
Packit 577717
.SH "Detailed Description"
Packit 577717
.PP 
Packit 577717
\fBPAPI_num_cmp_hwctrs()\fP returns the number of counters present in the specified component\&. By convention, component 0 is always the cpu\&.
Packit 577717
.PP
Packit 577717
On some components, especially for CPUs, the value returned is a theoretical maximum for estimation purposes only\&. It might not be possible to easily create an EventSet that contains the full number of events\&. This can be due to a variety of reasons: 1)\&. Some CPUs (especially Intel and POWER) have the notion of fixed counters that can only measure one thing, usually cycles\&. 2)\&. Some CPUs have very explicit rules about which event can run in which counter\&. In this case it might not be possible to add a wanted event even if counters are free\&. 3)\&. Some CPUs halve the number of counters available when running with SMT (multiple CPU threads) enabled\&. 4)\&. Some operating systems 'steal' a counter to use for things such as NMI Watchdog timers\&. The only sure way to see if events will fit is to attempt adding events to an EventSet, and doing something sensible if an error is generated\&.
Packit 577717
.PP
Packit 577717
\fBPAPI_library_init()\fP must be called in order for this function to return anything greater than 0\&.
Packit 577717
.PP
Packit 577717
\fBC Interface:\fP
Packit 577717
.RS 4
Packit 577717
#include <\fBpapi\&.h\fP> 
Packit 577717
.br
Packit 577717
 int \fBPAPI_num_cmp_hwctrs(int  cidx )\fP;
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
\fBParameters:\fP
Packit 577717
.RS 4
Packit 577717
\fIcidx\fP -- An integer identifier for a component\&. By convention, component 0 is always the cpu component\&.
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
\fBExample\fP
Packit 577717
.RS 4
Packit 577717
Packit 577717
.PP
Packit 577717
.nf
Packit 577717
* // Query the cpu component for the number of counters\&.
Packit 577717
* printf(\"%d hardware counters found\&.\\n\", PAPI_num_cmp_hwctrs(0));
Packit 577717
* 
Packit 577717
Packit 577717
.fi
Packit 577717
.PP
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
\fBReturns:\fP
Packit 577717
.RS 4
Packit 577717
On success, this function returns a value greater than zero\&.
Packit 577717
.br
Packit 577717
 A zero result usually means the library has not been initialized\&.
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
Packit 577717
Packit 577717
.SH "Author"
Packit 577717
.PP 
Packit 577717
Generated automatically by Doxygen for PAPI from the source code\&.