Radeon GPU Analyzer (RGA)

Tools

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

Radeon GPU Analyzer is available for both Microsoft Windows® and Linux®, and can be downloaded from here.

The source code can be found here.

Key Features:

  • Generate GCN ISA disassembly for a variety of AMD GPUs, independent of the GPU that is physically installed on your system.
  • Generate IL disassembly for the relevant compiler toolchain, like AMD IL and LLVM IR.
  • Retrieve HW resource usage statistics, such as register consumption and static memory allocation.
  • Perform static analysis on your code, such as live VGPR analysis and control-flow graph generation.
  • Compile shaders and kernels, detect compiler errors and warnings.
  • Investigate how different compiler optimizations and settings affect the HW resource usage by our code and the generated machine-level instructions.

Supported APIs in graphical UI app

  • Vulkan
  • OpenCL on top of ROCm

Supported APIs in command line tool

  • Vulkan
  • DirectX 11
  • DirectX 12 (Compute only)
  • OpenGL
  • OpenCL on top of ROCm
  • OpenCL legacy

Supported OSs

  • Windows 7, 8.1, or 10 (64-bit)
  • Ubuntu 16.04, 18.04, Red Hat 7 or later

Analyze the resulting ISA for individual shader stages within a Vulkan graphics or compute pipeline

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”.

Inspect ISA generated for selected target GPUs. View VGPR/SGPR pressure, and LDS/scratch memory usage based on available hardware resources.

Performance hazard warnings are displayed when the available hardware resources are fully utilized or exceeded.

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.

 

Resources