Analista de código AMD - AMD CodeAnalyst
| Desenvolvedor (s) | AMD |
|---|---|
| Sistema operacional | Linux , Windows |
| Tipo | analisador |
| Licença | Software proprietário , GNU General Public License |
| Local na rede Internet | desenvolvedor |
AMD CodeAnalyst é um criador de perfil de código baseado em GUI para máquinas baseadas em x86 e x86-64 . CodeAnalyst tem aparência e comportamento semelhantes nas plataformas Linux e Microsoft Windows . O CodeAnalyst usa técnicas específicas de criação de perfil de hardware projetadas para funcionar com os processadores AMD, bem como uma técnica de criação de perfil baseada em cronômetro que não requer suporte de hardware específico; isso permite que um subconjunto de recursos de criação de perfil funcione em processadores não AMD, como os processadores Intel .
Em março de 2013, CodeAnalyst foi substituído por AMD CodeXL .
Otimização de código
CodeAnalyst é construído no OProfile para a plataforma Linux e está disponível para download gratuito. A GUI auxilia em vários tipos de perfis de código, incluindo perfis baseados em tempo, perfis baseados em eventos de hardware, perfis baseados em instruções e outros. Isso produz estatísticas sobre detalhes, como o tempo gasto em cada sub - rotina, que podem ser detalhados até o código-fonte ou nível de instrução . O tempo gasto pelas instruções pode ser indicativo de paralisações no pipeline durante a execução da instrução. A otimização pode ser tão simples como reordenar as instruções para utilização máxima de um cache de linha de dados ou alterar / remover os ramos e loops de modo que o número máximo de unidades de execução (unidades de carga / armazenamento, ALU , unidade de execução FP ...) sejam utilizadas em paralelo.
Suporte para PERF foi adicionado no CodeAnalyst 3.4, permitindo aos usuários escolher entre OProfile e PERF como backend de criação de perfil.
Amostragem Baseada em Instrução
CodeAnalyst suporta IBS (Instruction-Based Sampling) que foi introduzido nos processadores da família 10h AMD (Barcelona). Com o suporte IBS, o CodeAnalyst pode identificar com mais precisão as instruções que causam paralisações no pipeline e perdas de cache.
Código aberto
A versão Linux do CodeAnalyst está disponível sob a GNU General Public License 2.0.
CodeAnalyst também usa outros componentes de código aberto, incluindo o framework Qt , libdwarf , libelf e a biblioteca Binary File Descriptor .