Difference between revisions of "PAPI"
Moskalenko (talk | contribs) (Created page with "__NOTOC__ __NOEDITSECTION__ Category:SoftwareCategory:Programming <!-- ######## Template Configuration ######## --> <!--Edit definitions of the variables used in templat...") |
|||
(15 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
− | [[Category:Software]][[Category:Programming]] | + | [[Category:Software]][[Category:Performance Analysis]][[Category:Programming]] |
− | + | {|<!--Main settings - REQUIRED--> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {| | ||
− | <!--Main settings - REQUIRED--> | ||
|{{#vardefine:app|papi}} | |{{#vardefine:app|papi}} | ||
|{{#vardefine:url|http://icl.cs.utk.edu/papi/index.html}} | |{{#vardefine:url|http://icl.cs.utk.edu/papi/index.html}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|{{#vardefine:exe|}} <!--Present manual instructions for running the software --> | |{{#vardefine:exe|}} <!--Present manual instructions for running the software --> | ||
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF--> | |{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF--> | ||
Line 31: | Line 16: | ||
<!--Description--> | <!--Description--> | ||
{{#if: {{#var: url}}| | {{#if: {{#var: url}}| | ||
− | {{App_Description|app={{#var:app}}|url={{#var:url}}}}|}} | + | {{App_Description|app={{#var:app}}|url={{#var:url}}|name={{#var:app}}}}|}} |
+ | |||
The Performance API (PAPI) project specifies a standard application programming interface (API) for accessing hardware performance counters available on most modern microprocessors. These counters exist as a small set of registers that count Events, occurrences of specific signals related to the processor's function. Monitoring these events facilitates correlation between the structure of source/object code and the efficiency of the mapping of that code to the underlying architecture. This correlation has a variety of uses in performance analysis including hand tuning, compiler optimization, debugging, benchmarking, monitoring and performance modeling. In addition, it is hoped that this information will prove useful in the development of new compilation technology as well as in steering architectural development towards alleviating commonly occurring bottlenecks in high performance computing. | The Performance API (PAPI) project specifies a standard application programming interface (API) for accessing hardware performance counters available on most modern microprocessors. These counters exist as a small set of registers that count Events, occurrences of specific signals related to the processor's function. Monitoring these events facilitates correlation between the structure of source/object code and the efficiency of the mapping of that code to the underlying architecture. This correlation has a variety of uses in performance analysis including hand tuning, compiler optimization, debugging, benchmarking, monitoring and performance modeling. In addition, it is hoped that this information will prove useful in the development of new compilation technology as well as in steering architectural development towards alleviating commonly occurring bottlenecks in high performance computing. | ||
− | <!-- | + | |
− | + | <!--Modules--> | |
− | = | + | ==Environment Modules== |
− | + | Run <code>module spider {{#var:app}}</code> to find out what environment modules are available for this application. | |
− | < | + | ==System Variables== |
− | + | * HPC_{{uc:{{#var:app}}}}_DIR - installation directory | |
− | {{ | ||
{{#if: {{#var: exe}}|==How To Run== | {{#if: {{#var: exe}}|==How To Run== | ||
WRITE INSTRUCTIONS ON RUNNING THE ACTUAL BINARY|}} | WRITE INSTRUCTIONS ON RUNNING THE ACTUAL BINARY|}} | ||
Line 46: | Line 31: | ||
{{#if: {{#var: pbs}}|==PBS Script Examples== | {{#if: {{#var: pbs}}|==PBS Script Examples== | ||
See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.|}} | See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.|}} | ||
− | {{#if: {{#var: policy}}|==Usage | + | {{#if: {{#var: policy}}|==Usage Policy== |
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}} | WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}} | ||
{{#if: {{#var: testing}}|==Performance== | {{#if: {{#var: testing}}|==Performance== |
Latest revision as of 16:36, 21 August 2022
Description
The Performance API (PAPI) project specifies a standard application programming interface (API) for accessing hardware performance counters available on most modern microprocessors. These counters exist as a small set of registers that count Events, occurrences of specific signals related to the processor's function. Monitoring these events facilitates correlation between the structure of source/object code and the efficiency of the mapping of that code to the underlying architecture. This correlation has a variety of uses in performance analysis including hand tuning, compiler optimization, debugging, benchmarking, monitoring and performance modeling. In addition, it is hoped that this information will prove useful in the development of new compilation technology as well as in steering architectural development towards alleviating commonly occurring bottlenecks in high performance computing.
Environment Modules
Run module spider papi
to find out what environment modules are available for this application.
System Variables
- HPC_PAPI_DIR - installation directory