CodeXL | |
|---|---|
| Autor original | |
| Advanced Micro Devices | |
| Versão estável | |
| 2.6 / 15 de outubro de 2018; há 7 anos | |
| Repositório | |
| github.com/GPUOpen-Archive/CodeXL | |
| Escrito em | |
| C,C++ | |
| Sistema operacional | |
| Linux,Windows | |
| Tipo | |
| Depuração de GPU, criação de perfil de GPU e CPU, análise de kernel estático | |
| Licença | |
| Licença MIT | |
| Site | |
| gpuopen |
CodeXL (anteriormenteAMD CodeXL) era um conjunto de ferramentas dedesenvolvimento de software decódigo aberto que incluía um depurador deGPU, um criador de perfil de GPU, um criador de perfil deCPU, um analisador de quadros gráficos e um analisador de shader/kernel estático.
O CodeXL foi desenvolvido principalmente pelaAMD. Com a versão 2.0, o CodeXL passou a fazer parte doGPUOpen e é umsoftware livre e de código aberto sujeito aos requisitos daLicença MIT. Não é mais considerado um produto AMD.[1]
O CPU Profiler e o Power Profiler foram incluídos no CodeXL até a versão 2.5. Agora, esses profilers são lançados como parte da ferramentaAMD uProf.
Em abril de 2020, a AMD atualizou o repositório GitHub anunciando que "o CodeXL não está mais sendo desenvolvido ou suportado ativamente pela AMD e está sendo arquivado".[2]
O GPU debugger do CodeXL permite que engenheiros depurem chamadas de APIOpenGL eOpenCL, objetos de tempo de execução e kernels OpenCL: definam pontos de interrupção, percorram o código-fonte em tempo real, visualizem todas as variáveis em diferentes núcleos de GPU durante a execução do kernel, identifiquem erros de lógica e memória, reduzam a sobrecarga de transações de memória, visualizem buffers e imagens OpenCL/OpenGL e texturas OpenGL como imagens ou como dados de planilha e, dessa forma, melhorem a qualidade geral do software e otimizem seu desempenho.
O GPU profiler do CodeXL coleta e visualiza dados de contadores de desempenho de hardware, rastreamento de aplicativos, ocupação de kernel e oferece análise de hotspot para GPUs e APUsAMD. O profiler coleta dados do tempo de execução do OpenCL e da própria GPU/APU durante a execução dos kernels e pode ser usado para descobrir gargalos de desempenho e otimizar a execução do kernel.
O AMD uProf substitui o CodeXL para funcionalidades de CPU e Power Profiling em processadores AMD.[3]
O conjunto de perfis de CPU do CodeXL pode ser usado para identificar, investigar e melhorar o desempenho de aplicativos, drivers e software de sistema em CPUs AMD. O criador de perfil de CPU do CodeXL usa uma abordagem baseada em amostragem estatística com várias técnicas e medidas de criação de perfil: Time-Based Profiling (TBP), Criação de perfil baseada em eventos (EBP), Instruction-Based Sampling (IBS) e monitores de desempenho de hardware de CPU. O criador de perfil de CPU CodeXL substitui o AMDCodeAnalyst.
O analisador de kernel estático do CodeXL permite que engenheiros compilem, analisem e desmontem o código de shadersDirectX, OpenGL eVulkan e kernels OpenCL. A ferramenta fornece estimativas de desempenho para cada shader/kernel em diferentes tipos de chips AMD, sem realmente executar o código. Dessa forma, a ferramenta auxilia no ajuste fino para atingir o melhor desempenho em GPUs AMD.[4][5]
No primeiro trimestre de 2017, o AMD CodeXL Analyzer foi substituído pelo Radeon GPU Analyzer (RGA), mantendo a compatibilidade com versões anteriores. O Radeon GPU Analyzer CLI é um compilador offline e uma ferramenta de análise de desempenho para shaders DirectX, shaders OpenGL, shaders Vulkan e kernels OpenCL.[6]
Com a versão 2.0, o CodeXL HSA Profiler e oHSAIL Kernel Debugger oferecem suporte ao driver da iniciativa Boltzmann, no hardwareGCN 1.2 (ou seja, Radeon R9 Fury, Fury X e Fury Nano e APUs "Carrizo".[1]
O Frame Analyzer pode coletar e exibir uma linha do tempo de quadros para aplicativos que usam o MicrosoftDirectX 12 ouVulkan. A visualização do analisador lista cada chamada de API que foi feita no lado da CPU e seu comando correspondente que foi executado no lado da GPU em uma visualização de linha do tempo interligada e unificada, bem como estatísticas agregadas para fragmento de tempo específico selecionado pelo usuário – tempo cumulativo para cada tipo de API, número de chamadas, 20 chamadas mais longas e muito mais.
O CodeXL oferece suporte oficial aos sistemas operacionaisLinux eMicrosoft Windows. No Windows, o CodeXL está disponível como um aplicativo independente e como uma extensão totalmente integradado Microsoft Visual Studio.
O CodeXL foi usado com sucesso para depurar oBullet.
A versão mais recente do CodeXL está disponível gratuitamente para download na página de lançamentos do CodeXL no GitHub.
GPU PerfStudio é a ferramenta de desempenho e depuração da AMD para aplicativos gráficos. Ele foi desenvolvido inicialmente para oferecer suporte a Direct3D e OpenGL apenas no Microsoft Windows e foi portado para Linux em 2013, estando disponível para Linux desde o final do primeiro trimestre de 2014. O conjunto de ferramentas é considerado útil no desenvolvimento de jogos para Steam Linux e especialmente útil na otimização de jogos para GPUs AMD. O GPU PerfStudio tem perfis de quadro integrados, depurador de quadros e rastreamento de API com informações de temporização da CPU.
GPU PerfStudio suporta Direct3D 10, Direct3D 10.1, Direct3D 11 e OpenGL 4.2. Ele é descrito como um conjunto de ferramentas de GPU leve, sem necessidade de instalação, sem alterações no jogo e comrecurso de arrastar e soltar. Ele pode ser executado a partir de uma unidade USB, não há necessidade de integração com o Visual Studio, ele roda com executáveis de jogos, não requer um driver especial ou uma nova compilação.
O GPU PerfStudio 3.6 suporta Direct3D 12 no Windows 10 eVulkan no Windows e Linux.[19]
O GPU PerfStudio está disponível para Linux e Microsoft Windows.
No AMD Developer Summit (APU) em novembro de 2013, Gordon Selley apresentou o GPU PerfStudio 2.
No SteamDevDays em fevereiro de 2014, Tony Hosier e Gordon Selley apresentaram o GPU PerfStudio 2 em um vídeo de 43 minutos.[20]





GPUPerfAPI é a biblioteca da AMD para acessar contadores de desempenho de GPU em placas de vídeo e APUs AMD Radeon. Ele é usado pelo GPU PerfStudio e CodeXL e também está disponível para desenvolvedores terceirizados que desejam incorporá-lo em seus próprios aplicativos. GPUPerfAPI suporta aplicativos DirectX11, OpenGL e OpenCL. GPUPerfAPI está disponível para Linux e Microsoft Windows.[21]sofisticadas e específicas para plataformas mais recentes.