En informática , la Interfaz de Programación de Aplicaciones de Rendimiento (PAPI) es una interfaz portátil (en forma de biblioteca ) para contadores de rendimiento de hardware en microprocesadores modernos . Se utiliza ampliamente para recopilar métricas de rendimiento de bajo nivel (por ejemplo, recuento de instrucciones , ciclos de reloj , fallos de caché ) de sistemas informáticos que ejecutan sistemas operativos UNIX / Linux .
PAPI proporciona eventos de hardware de alto nivel predefinidos, resumidos de procesadores populares, y acceso directo a eventos nativos de bajo nivel de un procesador en particular. También admite la multiplexación de contadores y el manejo de desbordamientos .
Para utilizar PAPI, es necesario que el sistema operativo admita el acceso a los contadores de hardware.
Por ejemplo, antes de 2010, era necesario parchear el kernel de Linux/x86 con un controlador de contadores de monitorización del rendimiento ( enlace a perfctr ) para que fuera compatible con PAPI. Desde la versión 2.6.32 de Linux y las versiones de PAPI 2010, PAPI puede aprovechar el subsistema perf existente en Linux y, por lo tanto, ya no necesita ningún controlador externo para funcionar.
Los sistemas operativos compatibles y los requisitos se enumeran en la documentación del repositorio oficial INSTALL.txt .
Véase también
Lecturas adicionales
- Una interfaz de programación portátil para la evaluación del rendimiento en procesadores modernos / Archivo de la Revista Internacional de Aplicaciones de Computación de Alto Rendimiento, Volumen 14, Número 3, agosto de 2000, páginas 189–204 doi:10.1177/109434200001400303 (en inglés)
- Dongarra, Jack, et al. " Uso de PAPI para la monitorización del rendimiento del hardware en sistemas Linux " // Conferencia sobre clústeres Linux: La revolución de la computación de alto rendimiento. Vol. 5. Linux Clusters Institute, 2001.
Enlaces externos
- Sitio oficial
- Repositorio oficial en GitHub
- Philip Mucci, Monitoreo del rendimiento con PAPI / Dr. Dobbs, 1 de junio de 2005
- Desarrollo de un backend PAPI para el procesador Sun Niagara 2 , 2009
- Esbozos de biblioteca informática
- Perfiladores
- Optimización de software