CodeAnalyst de AMD - AMD CodeAnalyst
AMD CodeAnalyst es un generador de perfiles de código basado en GUI para máquinas basadas en x86 y x86-64 . CodeAnalyst tiene una apariencia similar en las plataformas Linux y Microsoft Windows . CodeAnalyst utiliza técnicas de creación de perfiles de hardware específicas que están diseñadas para funcionar con procesadores AMD, así como una técnica de creación de perfiles basada en temporizador que no requiere soporte de hardware específico; esto permite que un subconjunto de funciones de creación de perfiles funcione en procesadores que no son AMD, como los procesadores Intel .
En marzo de 2013, CodeAnalyst ha sido reemplazado por AMD CodeXL .
Optimización de código
CodeAnalyst se basa en OProfile para la plataforma Linux y está disponible como descarga gratuita. La GUI ayuda en varios tipos de perfiles de código, incluidos perfiles basados en el tiempo, perfiles basados en eventos de hardware, perfiles basados en instrucciones y otros. Esto produce estadísticas sobre detalles como el tiempo empleado en cada subrutina, que se pueden desglosar hasta el código fuente o el nivel de instrucción . El tiempo que tardan las instrucciones puede ser indicativo de paradas en la tubería durante la ejecución de la instrucción. La optimización podría ser tan simple como reordenar las instrucciones para la utilización máxima de una caché de línea de datos o alterar / eliminar las ramas y bucles para que se utilice el número máximo de unidades de ejecución (unidades de carga / almacenamiento, ALU , unidad de ejecución FP ...) en paralelo.
Se agregó compatibilidad con PERF en CodeAnalyst 3.4, lo que permite a los usuarios elegir entre OProfile y PERF como backend de creación de perfiles.
Muestreo basado en instrucciones
CodeAnalyst es compatible con IBS (muestreo basado en instrucciones) que se introdujo en los procesadores AMD de la familia 10h (Barcelona). Con el soporte de IBS, CodeAnalyst puede identificar con mayor precisión las instrucciones que provocan bloqueos de canalización y fallas de caché.
Fuente abierta
La versión Linux de CodeAnalyst está disponible bajo GNU General Public License 2.0.
CodeAnalyst también utiliza otros componentes de código abierto, incluido el marco Qt , libdwarf , libelf y la biblioteca Binary File Descriptor .