PAPI_num_cmp_hwctrs(3)
π NAME π
PAPI_num_cmp_hwctrs β return the number of hardware counters for the specified component. This is the PAPI manual, section 3, bestie π«Ά
β¨ SYNOPSIS β¨
πΈ Detailed Description πΈ
Okay so PAPI_num_cmp_hwctrs() returns the number of counters present in the specified component. By convention, component 0 is always the cpu. Slay.
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:
- Some CPUs (especially Intel and POWER) have the notion of fixed counters that can only measure one thing, usually cycles.
- 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.
- Some CPUs halve the number of counters available when running with
SMT(multiple CPU threads) enabled. - Some operating systems 'steal' a counter to use for things such as
NMI Watchdogtimers.
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. No cap, that's the vibe check. π₯
PAPI_library_init() must be called in order for this function to return anything greater than 0.
π» C Interface π»
#include <papi.h>
int PAPI_num_cmp_hwctrs(int cidx );
π Parameters π
cidxβ An integer identifier for a component. By convention, component0is always the cpu component.
π Example π
// Query the cpu component for the number of counters.
printf(\"%d hardware counters found.\\n\", PAPI_num_cmp_hwctrs(0));
π Returns π
On success, this function returns a value greater than zero. A zero result usually means the library has not been initialized.
π Author π
Generated automatically by Doxygen for PAPI from the source code.
okay that's the whole page, bestie! π This is from PAPI version 7.2.0.0, dated Wed Jun 25 2025 19:30:48, page PAPI_num_cmp_hwctrs(3) β mwah, bye! π«Άβ¨
π¦ where this page comes from
- nixos 26.05: papi 7.2.0
- nixpkgs unstable: papi 7.2.0
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- ubuntu resolute: libpapi-dev 7.2.0-2 Β· BSD-3-Clause
- ubuntu stonking: libpapi-dev 7.2.0-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms