papi_counters

the PAPI performance counter events used with CrayPat

Author:

Hewlett Packard Enterprise Development LP.

Copyright:

Copyright 2019,2021,2023-2024 Hewlett Packard Enterprise Development LP.

Manual section:

5

DESCRIPTION

To find the names of the PAPI performance counter events on your system, use the papi_avail and papi_native_avail utilities.

Use the papi_avail utility to list the actual and derived PAPI counters supported on your HPE Cray system. These counters correspond to the fields in the PAPI_event_info_t structure.

Use the papi_native_avail utility to list the processor native events and hardware information values available on your HPE Cray system. These correspond to the fields in the PAPI_event_info_t structure.

Note: To return valid output, these commands must be run using the aprun or srun utility, to run as applications on the particular type of compute node for which counter information is desired. If simply launched from the command line without using the aprun or srun utility, these programs will run on the service node, and return accurate but entirely irrelevant information about the service node’s processor.

Alternatively, when the perftools-base module is loaded, PAPI CPU, GPU, Uncore, energy, power and network NIC information can be found in the pat_help system under the topic of counters.

EXAMPLES

To use the PAPI utilities to return information about compute nodes, enter these commands:

$ module load PrgEnv-compiler
$ module load perftools-base
$ srun papi_avail
$ srun papi_native_avail

Alternatively, you can load the papi modulefile instead of the perftools-base module file. However, you cannot load both the papi and perftools-base modulefiles at the same time.

NOTES

The papi_component_avail utility provides detailed information on the PAPI components configured for and available on the system.

The papi_command_line utility tests performance counter events that verify they exist and serves as a way to see if events can be counted together, and if they give reasonable results for known work.

The papi_native_avail utility lists the names of all the performance counter events available for selection and use with the environment variable PAT_RT_PERFCTR. In most cases, the event name may take on one or more event attributes further detailing how the counts for the event are collected. The unit masks are one such attribute, shown as another name. If the name of the unit mask is not specified (appended with a :uname to the event name) and there is no implied unit mask default defined, the event will be accepted as valid but the resulting count will reflect the number of CPU cycles. Unfortunately, the papi_native_avail utility gives no indication of what the default unit mask is for a given event. The papi_utility utility also accepts such a specified event as valid, but returns cycle counts for the given command. This anomaly also occurs when using the PAPI API directly, such as with PAPI_create_eventset, PAPI_add_event, and PAPI_read. Users are encouraged to always append a unit mask name (if one exists for the event) to the event name, to ensure that the proper counts are collected. PAT_RT_PERFCTR cannot be set to the name of a derived metric, only to the names of counter events or groups of counter events. A derived metric appears in the report if all of the events required for that metric are collected.

SEE ALSO

app2(1), intro_craypat(1), pat_build(1), pat_help(1), pat_report(1), pat_run(1)

accpc(5), cray_pm(5), cray_rapl(5), hwpc(5), cray_cassini(5), uncore(5), papi_counters(5)

http://icl.cs.utk.edu/papi/

(link to URL http://icl.cs.utk.edu/papi/)