Saltar para o conteúdo

CodeXL

Origem: Wikipédia, a enciclopédia livre.
CodeXL
Autor original
Advanced Micro Devices
Versão estável
2.6 / 15 de outubro de 2018; há 6 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.com/archived/legacy-codexl/

CodeXL (anteriormente AMD CodeXL) era um conjunto de ferramentas de desenvolvimento de software de código aberto que incluía um depurador de GPU, um criador de perfil de GPU, um criador de perfil de CPU, um analisador de quadros gráficos e um analisador de shader/kernel estático.

O CodeXL foi desenvolvido principalmente pela AMD. Com a versão 2.0, o CodeXL passou a fazer parte do GPUOpen e é um software livre e de código aberto sujeito aos requisitos da Licenç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 ferramenta AMD 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]

Características

[editar | editar código-fonte]

O GPU debugger do CodeXL permite que engenheiros depurem chamadas de API OpenGL e OpenCL, 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 APUs AMD. 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 AMD CodeAnalyst.

Static Shader/Kernel Analyzer

[editar | editar código-fonte]

O analisador de kernel estático do CodeXL permite que engenheiros compilem, analisem e desmontem o código de shaders DirectX, OpenGL e Vulkan 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]

Radeon GPU Analyzer (RGA)

[editar | editar código-fonte]

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 o HSAIL Kernel Debugger oferecem suporte ao driver da iniciativa Boltzmann, no hardware GCN 1.2 (ou seja, Radeon R9 Fury, Fury X e Fury Nano e APUs "Carrizo".[1]

Graphics Frame Analyzer

[editar | editar código-fonte]

O Frame Analyzer pode coletar e exibir uma linha do tempo de quadros para aplicativos que usam o Microsoft DirectX 12 ou Vulkan. 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.

Plataformas suportadas

[editar | editar código-fonte]

O CodeXL oferece suporte oficial aos sistemas operacionais Linux e Microsoft Windows. No Windows, o CodeXL está disponível como um aplicativo independente e como uma extensão totalmente integrada do Microsoft Visual Studio.

O CodeXL foi usado com sucesso para depurar o Bullet.

Versões e disponibilidade

[editar | editar código-fonte]
  • AMD CodeXL 1.0, lançado em 4 de dezembro de 2012.[7]
  • AMD CodeXL 1.1, lançado em 27 de fevereiro de 2013.[8]
  • AMD CodeXL 1.2, lançado em 9 de julho de 2013.[9]
  • AMD CodeXL 1.3, lançado em 11 de novembro de 2013.[10]
  • AMD CodeXL 1.4, lançado em 11 de abril de 2014.[11]
  • AMD CodeXL 1.5, lançado em 22 de setembro de 2014.[12]
  • AMD CodeXL 1.6, lançado em 16 de dezembro de 2014.[13]
  • AMD CodeXL 1.7, lançado em 28 de abril. 2015.[14]
  • AMD CodeXL 1.8, lançado em 20 de agosto. 2015.[15]
  • CodeXL 2.0, lançado em 19 de abril de 2016.[1]
  • CodeXL 2.1, lançado em 31 de maio de 2016.[16]
  • CodeXL 2.2, lançado em 8 de agosto de 2016.[17]
  • CodeXL 2.4, lançado em 20 de junho de 2017.
  • CodeXL 2.5, lançado em 26 de setembro de 2017.
  • CodeXL 2.6, lançado em 15 de outubro de 2018.[18]

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

[editar | editar código-fonte]

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 com recurso 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 e Vulkan 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]

Frame Debugger

[editar | editar código-fonte]
Depurador de quadros GPU PerfStudio2

Frame Profiles

[editar | editar código-fonte]
Perfilador de quadros GPU PerfStudio2

Shader Debugger

[editar | editar código-fonte]
Depurador de shader GPU PerfStudio2
Chamada de API de rastreamento de API do GPU PerfStudio2
Rastreamento de API multithread da GPU PerfStudio2

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.

Referências

  1. a b c AMD GPUOpen (19 de abril de 2016). «CodeXL 2.0 made open-source». Consultado em 1 de maio de 2025. Arquivado do original em 27 de junho de 2018 
  2. «Update README.md · GPUOpen-Archive/CodeXL@34fffe5». GitHub (em inglês). Consultado em 1 de maio de 2025 
  3. «AMD μProf» 
  4. «CodeXL Analyzer CLI – GPUOpen». gpuopen.com. Arquivado do original em 26 de janeiro de 2016 
  5. «Up and Running with CodeXL Analyzer CLI». Consultado em 1 de maio de 2025. Arquivado do original em 9 de janeiro de 2019 
  6. «RGA (Radeon™ GPU Analyzer)». GitHub. 11 de outubro de 2021 
  7. http://developer.amd.com/community/blog/2012/12/04/continue-your-heterogeneous-computing-hc-development-with-amd-codexl-1-0-final-release-now-available/ AMD Developer Central CodeXL 1.0 release blog post Arquivado em 2014-05-06 no Wayback Machine
  8. http://developer.amd.com/community/blog/2013/02/27/amd-codexl-version-1-1-released-to-developer-amd-com/ AMD Developer Central CodeXL 1.1 release blog post Arquivado em 2014-05-06 no Wayback Machine
  9. http://developer.amd.com/community/blog/2013/07/09/latest-versions-of-amd-codexl-bolt-and-amd-app-sdk-now-available/ AMD Developer Central CodeXL 1.2 release blog post Arquivado em 2014-10-11 no Wayback Machine
  10. http://developer.amd.com/community/blog/2013/11/08/codexl-1-3-released/ AMD Developer Central CodeXL 1.3 release blog post Arquivado em 2014-05-06 no Wayback Machine
  11. http://developer.amd.com/community/blog/2014/04/15/codexl-1-4-released/ AMD Developer Central CodeXL 1.4 release blog post Arquivado em 2014-07-31 no Wayback Machine
  12. http://developer.amd.com/community/blog/2014/09/22/whats-new-codexl-1-5/ AMD Developer Central "What's New in CodeXL 1.5?" blog post Arquivado em 2015-05-28 no Wayback Machine
  13. http://developer.amd.com/community/blog/2014/12/16/whats-new-amd-codexl-1-6/ AMD Developer Central "What's New in CodeXL 1.6?" blog post Arquivado em 2015-03-16 no Wayback Machine
  14. http://developer.amd.com/community/blog/2015/04/28/amd-codexl-1-7/ AMD Developer Central "AMD CodeXL 1.7 is here!" blog post Arquivado em 2015-06-02 no Wayback Machine
  15. http://developer.amd.com/community/blog/2015/08/20/amd-codexl-1-8-released/ AMD Developer Central "CodeXL 1.8 Release Loaded With Features" blog post Arquivado em 2015-09-25 no Wayback Machine
  16. «CodeXL 2.1 is out and Searing hot with Vulkan - GPUOpen» (em inglês). 31 de maio de 2016. Consultado em 1 de maio de 2025. Arquivado do original em 15 de agosto de 2016 
  17. «Blazing CodeXL 2.2 is here! - GPUOpen» (em inglês). 8 de agosto de 2016. Consultado em 1 de maio de 2025. Arquivado do original em 15 de agosto de 2016 
  18. «CodeXL 2.6 is released! - GPUOpen» (em inglês). 15 de outubro de 2018. Consultado em 1 de maio de 2025. Arquivado do original em 25 de outubro de 2018 
  19. «GPUPerfStudio Vulkan Tools». AMD. Consultado em 1 de maio de 2025. Arquivado do original em 29 de janeiro de 2017 
  20. «GPU PerfStudio - AMD». Consultado em 1 de maio de 2025. Arquivado do original em 7 de janeiro de 2015 
  21. «GPUPerfAPI - AMD». Consultado em 1 de maio de 2025. Arquivado do original em 7 de janeiro de 2015 

Ligações externas

[editar | editar código-fonte]