Radeon GPU Analyzer

Analyze.

Adjust.

Accelerate.

Now available as part of the Radeon™ Developer Tool Suite.

Radeon™ GPU Analyzer is an offline compiler and performance analysis tool for DirectX®, Vulkan®, SPIR-V™, OpenGL®, and OpenCL™.

  • RGA is now available as part of the Radeon Developer Tool Suite, together with RGP, RMV, and RDP.
  • For the best experience, we encourage you to use the suite to ensure compatibility between the different tools.

Download the latest version - v2.6.2

This release includes:

  • Added support for gfx1035 as a target in Vulkan®, DirectX® 12, DXR, DirectX® 11, OpenCL™ and OpenGL modes.
  • DX12/DXR modes:
    • DX12/DXR offline modes now support up to gfx1035 (previously supported up to gfx1032).
    • Updated the DXC compiler package that is bundled with the tool to the latest public version.
  • DXR and DirectX® 12 offline modes:
    • You can now compile DXR and DirectX® 12 shaders and pipelines on machines that do not have an installed AMD card or driver by adding the –offline command line switch to your RGA command.
      The tool ships with the latest released AMD DXR/DirectX® 12 driver at the time of the tool’s release, and it would use that driver if –offline is specified.
    • Plug & play DXR/DirectX® 12 driver: force RGA to load amdxc64.dll from a specific location by using the new –amdxc command line switch. This option also works on machines which do not have an AMD DXR/DX12 driver installed.
  • VGPR pressure GUI: the UI now visualizes VGPR pressure in the disassembly view at the instruction level, allowing you to spot areas in your code that have the highest VGPR pressure and helping you identify where to focus your optimization.
    The UI shows the allocation and usage of VGPRs for each instruction, and hints on how many VGPRs need to be reduced to reduce the allocation.
  • You can now change where RGA project files are saved by the GUI app. This can be used as a workaround on Windows systems where the path to the default project folder uses Unicode characters.
  • Shader analysis engine now supports v_mad_mixlo_f16 and v_mad_mixhi_f16 instructions in live register reports and control-flow graphs.
  • The RGA source code on GitHub.com can now be built with the Visual Studio 2022 compiler toolchain (v143).
  • OpenGL mode is now an offline mode (-s opengl):
    • Compile OpenGL shaders for any supported target, independently of the installed graphics card and driver.
    • You can now generate static hardware resource usage information support for OpenGL shaders.

Inspect your ISA...

Analyze the ISA for your shader stages within a Vulkan® graphics or compute pipeline.

...compile for many products...

Select target GPUs for the compilation process. You can search for available targets by using specific GPU architecture or even retail product names, like “SSG” or “WX 8200”.

...refine your resources...

View register pressure and LDS/scratch memory usage for your target hardware.

...and correlate your code!

For OpenCL™ kernels, the tool provides correlation from high-level source code to the disassembly, and from the disassembly to the high-level source code.

Visual Studio Code Extension for Radeon™ GPU Analyzer

Requirements

General

For all non-offline modes (DirectX®12, DirectX®11, DXR, Vulkan®, OpenGL®):

Offline modes (Vulkan® offline and OpenCL™) can run without AMD driver or hardware installed.

Supported GPUs

To run the tool, any RDNA or GCN GPU is sufficient.

RGA supports the following as targets when compiling graphics shaders and pipelines:

  • All RDNA-based architectures.
  • Select GCN-based architectures: Vega™, Graphics IP v8, Graphics IP v7, and Graphics IP v6.

Supported APIs in GUI

  • Vulkan®
  • OpenCL™

Supported APIs in command line

  • Vulkan®
  • DirectX® 11
  • DirectX® 12
  • DXR
  • OpenGL®
  • OpenCL™

Supported OSs

  • Windows® 10
  • Windows® 11
  • Windows® 7 (64 bit)
  • Ubuntu 20.04

Version history

  • Added support for gfx1034 as a target in Vulkan®, DirectX® 12, DXR, DirectX® 11, OpenCL™and OpenGL modes.
  • DirectX® 12 mode: you can now extract AMDIL disassembly for DirectX® 12 compute and graphics shaders.
  • DXR and DirectX® 12 offline modes:
    • You can now compile DXR and DirectX® 12 shaders and pipelines on machines that do not have an installed AMD card or driver by adding the –offline command line switch to your RGA command.
      The tool ships with the latest released AMD DXR/DirectX® 12 driver at the time of the tool’s release, and it would use that driver if –offline is specified.
    • Plug & play DXR/DirectX® 12 driver: force RGA to load amdxc64.dll from a specific location by using the new –amdxc command line switch. This option also works on machines which do not have an AMD DXR/DX12 driver installed.
  • VGPR pressure GUI: the UI now visualizes VGPR pressure in the disassembly view at the instruction level, allowing you to spot areas in your code that have the highest VGPR pressure and helping you identify where to focus your optimization.
    The UI shows the allocation and usage of VGPRs for each instruction, and hints on how many VGPRs need to be reduced to reduce the allocation.
  • Added support for gfx1032 as a target in Vulkan®, DirectX® 12, DXR, DirectX® 11, OpenCL™, and OpenGL modes.
  • OpenCL™:
    • Added support for RDNA™, RDNA™ 2, and CDNA targets, including the Radeon™ Instinct MI100.
    • Updated the Lightning Compiler package that is bundled with the tool.
    • Added support for live VGPR analysis and control-flow graph generation ( --livereg and --cfg options).
    • Note: ROCM-CL mode ( -s rocm-cl ) was replaced with an “Offline OpenCL” mode ( -s opencl ).
  • DirectX® 12:
    • Support for multi-GPU configurations where the primary display adapter is a non-AMD card. The tool will now use the driver that is associated with the first AMD display adapter on the system. 
  • Vulkan®:
    • Live VGPR analysis and control-flow graph can now be generated from LLPC disassembly.
    • Updated the SPIR-V tools that are packaged with the tool.
  • Support for DirectX® Raytracing (DXR) in a new mode of the command line tool ( -s dxr ):
    • Compile DXR HLSL code to generate RDNA™ 2 ISA disassembly, hardware resource usage statistics, live VGPR analysis, and control-flow graphs.
    • The new mode does not require a raytracing-enabled AMD GPU. Installing the latest Radeon™ Adrenalin Software is sufficient.
  • Improved performance in the GUI app to better handle shaders with large disassembly.
  • Updated static analysis engine with support for the latest RDNA™ 2 instructions and bug fixes.
  • (v2.4.2 only) Added support for gfx1031 (RX 6700 XT) in Vulkan®, DirectX®12, DirectX® Raytracing, DirectX®11, and OpenGL™ modes.
  • RGA is now available as part of the Radeon™ Developer Tool Suite.
  • Added support for RX6000 series in DirectX®12, DirectX®11, Vulkan®, Vulkan-Offline, OpenGL®, and OpenCL™ modes.
  • Added support for Navi12 (gfx1011) and Renoir (gfx909) as targets in DX12, DX11, Vulkan, Vulkan-offline and OpenGL modes.
  • Bug fixes and usability enhancements.
  • Added support for DX12 graphics pipelines compilation in command line tool.
  • Added support for Navi14.
  • Live register analysis and control-flow graph generation support for RDNA targets.
  • DX11 mode accepts DXBC binaries as an input.
  • Vulkan mode reports when shaders were merged.
  • Support for RDNA targets in OpenCL legacy mode.
  • Add command line support for DirectX® 12 compute shaders.
  • Support for RDNA targets in Vulkan, Vulkan offline, DX12, DX11 and OpenGL modes.
  • Adds support for Vulkan® in the GUI.
  • Shows a summary of the resources used by your shaders (VGPR, SGPR and LDS).
  • Initial release.

Related to Radeon™ GPU Analyzer

First Steps When Implementing FP16

Half-precision (FP16) computation is a performance-enhancing GPU technology long exploited in console and mobile devices not previously used or widely available in mainstream PC development.

Radeon Raytracing Analyzer

Radeon™ Raytracing Analyzer (RRA) is a tool which allows you to investigate the performance of your raytracing applications and highlight potential bottlenecks.

The RDP provides a communication channel with the Radeon™ Adrenalin driver. It generates event timing data used by the Radeon™ GPU Profiler (RGP), and the memory usage data used by the Radeon™ Memory Visualizer (RMV).

Radeon™ Memory Visualizer (RMV) is a tool to allow you to gain a deep understanding of how your application uses memory for graphics resources.

RGP

RGP gives you unprecedented, in-depth access to a GPU. Easily analyze graphics, async compute usage, event timing, pipeline stalls, barriers, bottlenecks, and other performance inefficiencies.

Our other tools

If you want to know how well a game is performing on your machine in real-time with low overhead, OCAT has you covered.

Compressonator is a set of tools to allow artists and developers to more easily work with compressed assets and easily visualize the quality impact of various compression technologies.