PAPI

Interfața de programare a aplicațiilor de performanță ( PAPI , Performance Analysis Application Programming Interface) este o interfață portabilă , implementată ca bibliotecă , pentru accesarea contoarelor de performanță hardware pe diverse microprocesoare moderne . Este utilizat pe scară largă pentru a colecta valori de performanță de nivel scăzut (de exemplu, număr de instrucțiuni , cicluri per instrucțiune , rateuri de cache ) pe sisteme de computer care rulează sisteme de operare UNIX sau Linux . Biblioteca PAPI este disponibilă pentru utilizare din programe în C, C++, Fortran, Java, Matlab [1] .

Descriere

PAPI oferă evenimente hardware de nivel înalt predefinite pentru cele mai comune procesoare și acces direct la evenimente native de nivel scăzut pentru multe procesoare. De asemenea, sunt acceptate multiplexarea seturilor de contoare și controlul depășirii contoarelor pentru a obține un semnal periodic ( eșantionare ) . De exemplu, biblioteca poate fi folosită pentru a număra numărul de operații în virgulă mobilă [2] .

Utilizare

Pe baza PAPI, au fost implementate mai multe sisteme software pentru studiul performanței programelor, în special [3] :

Suport procesor

PAPI acceptă mai multe evenimente de procesor, inclusiv: [3]

Suport pentru sistemul de operare

Sistemul de operare trebuie să accepte accesul la contoarele hardware, care este necesar pentru a utiliza PAPI. De exemplu, nucleul Linux/x86 poate oferi acces la contoare printr-un patch pentru driverul de monitorizare hardware ( perfctr ), prin driverul de acces MSR (pe procesoarele din familia x86) sau prin subsistemul perf_events pentru a introduce suportul PAPI.

Nucleele Linux moderne au adăugat o interfață simplificată perf_events în scopuri similare.

Vezi și

Note

  1. Philip Mucci, Performance Monitoring with PAPI Arhivat 24 septembrie 2016 la Wayback Machine / Dr.Dobbs, 01 iunie 2005
  2. Monitorizarea și optimizarea performanței software offline ATLAS / Journal of Physics: Conference Series 513 (2014) 052022 doi:10.1088/1742-6596/513/5/052022
  3. 1 2 Philip J. Mucci, An Introduction to Hardware Performance Analysis and PAPI Arhivat 12 octombrie 2016 la Wayback Machine / SIAM Parallel Processing 2004  

Literatură

Link -uri