Arm MAP es un generador de perfiles de aplicaciones producido por Allinea Software, ahora parte de Arm . [1] [2] de Warwick , Reino Unido , para generar perfiles de rendimiento de software C , C++ , Fortran 90 y Python . Es ampliamente utilizado por sus capacidades multiproceso y multihilo, como el perfilado de aplicaciones paralelas de interfaz de paso de mensajes (MPI) u OpenMP , incluidas las que se ejecutan en clústeres de máquinas Linux , y para código escalar (secuencial). [3]
Es uno de los primeros generadores de perfiles capaces de analizar y mostrar visualmente el rendimiento cuando se ejecuta a gran escala (incluidos muchos miles de núcleos). Arm MAP también se está utilizando para examinar aplicaciones que se están preparando para escalar a 1 ExaFLOP/s [4].
El generador de perfiles utiliza métodos de muestreo adaptativos para identificar contadores de procesos y actividades, y combina datos de múltiples procesos que pueden estar ejecutándose en varios nodos de servidores informáticos. Analiza el rendimiento y las causas de los cuellos de botella, entre ellos:
Esto permite a los desarrolladores identificar puntos críticos y áreas de mejora potencial.
La herramienta es escalable y combina datos de rendimiento utilizando la arquitectura escalable utilizada por primera vez en Arm DDT para depurar Petascale (normalmente más de 100.000 procesos). Arm MAP comparte una interfaz de usuario común con Arm DDT, que en conjunto forman el conjunto de herramientas Arm Forge. Esta es ampliamente utilizada por científicos investigadores y desarrolladores de aplicaciones científicas paralelas.
El generador de perfiles Arm MAP se utiliza en supercomputadoras de gran tamaño y también en clústeres o estaciones de trabajo más pequeños. Entre los sitios con instalaciones se incluyen el Centro Nacional de Computación Científica para la Investigación Energética (NERSC), la Universidad de Cambridge y el Laboratorio Nacional de Los Álamos .