Skip to content
Snippets Groups Projects
Commit 5fa36adf authored by Jan Siwiec's avatar Jan Siwiec
Browse files

Update papi.md

parent f783e1e7
No related branches found
No related tags found
4 merge requests!368Update prace.md to document the change from qprace to qprod as the default...,!367Update prace.md to document the change from qprace to qprod as the default...,!366Update prace.md to document the change from qprace to qprod as the default...,!323extended-acls-storage-section
......@@ -4,19 +4,19 @@
Performance Application Programming Interface (PAPI) is a portable interface to access hardware performance counters (such as instruction counts and cache misses) found in most modern architectures. With the new component framework, PAPI is not limited only to CPU counters, but offers also components for CUDA, network, Infiniband, etc.
PAPI provides two levels of interface - a simpler high-level interface and more detailed low-level interface.
PAPI provides two levels of interface: a simpler high-level interface and more detailed low-level interface.
PAPI can be used with parallel as well as serial programs.
## Usage
To use PAPI, load the papi [module][1]:
To use PAPI, load the `papi` [module][1]:
```console
$ ml papi
```
This will load the default version. Execute ml av papi for the list of installed versions.
This will load the default version. Execute `ml av papi` for the list of installed versions.
## Utilities
......@@ -86,7 +86,7 @@ To use PAPI in your application, you need to link the appropriate include file.
* f90papi.h for Fortran 90
* fpapi.h for Fortran with preprocessor
The include path is automatically added by´the papi module to $INCLUDE.
The include path is automatically added by the `papi` module to `$INCLUDE`.
### High-Level API
......@@ -193,7 +193,7 @@ $ ./matrix
!!! note
PAPI currently supports only a subset of counters on the Intel Xeon Phi processor compared to Intel Xeon, for example the floating point operations counter is missing.
To use PAPI in [Intel Xeon Phi][2] native applications, you need to load the module with " -mic" suffix, for example " papi/5.3.2-mic":
To use PAPI in [Intel Xeon Phi][2] native applications, you need to load the module with the `-mic` suffix, for example `papi/5.3.2-mic`:
```console
$ ml papi/5.3.2-mic
......@@ -206,7 +206,7 @@ $ ml intel
$ icc -mmic -Wl,-rpath,/apps/intel/composer_xe_2013.5.192/compiler/lib/mic matrix-mic.c -o matrix-mic -lpapi -lpfm
```
To execute the application on MIC, you need to manually set LD_LIBRARY_PATH:
To execute the application on MIC, you need to manually set `LD_LIBRARY_PATH`:
```console
$ qsub -q qmic -A NONE-0-0 -I
......@@ -215,7 +215,7 @@ $ export LD_LIBRARY_PATH="/apps/tools/papi/5.4.0-mic/lib/"
$ ./matrix-mic
```
Alternatively, you can link PAPI statically (-static flag), then LD_LIBRARY_PATH does not need to be set.
Alternatively, you can link PAPI statically (`-static` flag), then `LD_LIBRARY_PATH` does not need to be set.
You can also execute the PAPI tools on MIC :
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment