Home » Blogs » Reading AMD RDNA™ and AMD CDNA™ Disassembly is a breeze with AMD Radeon™ GPU Analyzer v2.12

Reading AMD RDNA™ and CDNA™ Architecture Disassembly is a Breeze with AMD Radeon™ GPU Analyzer v2.12

Picture of Apurva Modak
Apurva Modak

Apurva Modak (www.linkedin.com/in/apurva-modak) works on creating compilation and optimization software for compute and graphics workflows with AMD’s Radeon™ GPU Analyzer. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied.

AMD Radeon™ GPU Analyzer (RGA) v2.12 ships with an updated ISA disassembly view in the GUI application which makes it easier than ever to read and understand your shader and kernel ISA disassembly.

Here is what’s new with the updated ISA disassembly view:

Instruction descriptions make it easier to understand your compiled shaders and kernels

We know how cumbersome the process of reading through ISA disassembly can be. The need to consult the specification documents and other external resources can easily throw off your development or optimization workflow. With the updated ISA view, RGA leverages AMD machine-readable GPU ISA specifications to provide you with a quick human-readable description of every instruction. When hovering above an instruction in the updated ISA disassembly view, you will notice a tooltip pop up with the instruction’s details:

Tooltip

Automatic highlighting of substring occurrences

Clicking on any text string (such as instruction opcodes, registers, or constants) now automatically highlights all occurrences of that string throughout the disassembly and also highlights register ranges when applicable. When searching for text, the results are now highlighted both within the disassembly view and on the scrollbar. This feature is especially useful for analyzing dependencies and spotting patterns in your shaders and kernels, making it easier to perform optimizations.

Token Highlighting

Collapsible and expandable basic blocks

With the updated ISA disassembly view you can now collapse or expand basic blocks. Click the arrow to the left of an instruction line to expand or collapse a block, making it easier to focus on specific sections of the ISA especially when dealing with long shaders and kernels.

Collapsible Block

Two-Way navigation between branch instructions and targets

The updated ISA disassembly view now supports two-way navigation between branch instructions and their targets. Branch instruction targets and block labels are displayed as clickable hyperlinks in the shader.

Clicking on a branch instruction target automatically scrolls the ISA view to the corresponding block.

Branch Instruction Click

Similarly, clicking on a block label navigates to the branch instruction that references it. If multiple branch instructions target the same block, a selection menu allows the user to choose which branch instruction to jump to.

Multi-Branch Block Click

Navigation controls, including backward and forward arrows and a history menu, are available in the upper-right corner of the ISA disassembly view. Navigation history is maintained, allowing users to move backward and forward through previously visited branch instructions and block labels. Users can also jump directly to a specific entry in the history.

Navigation Workflow

VGPR pressure visualization

In RGA v2.6, we introduced the VGPR Pressure Visualization feature in the GUI application. With RGA v2.12, the tool now dynamically identifies the VGPR allocation granularity for the given shader or kernel on the relevant target GPU architecture, leading to more accurate VGPR pressure analysis results to help with your shader and kernel optimization efforts.

Another new addition related to VGPR pressure visualization is that the disassembly view’s scrollbar now shows highlights for areas of high VGPR pressure within the shader, making it easier to track high VGPR usage.

Scrollbar VGPR Pressure

For more information about VGPR pressure visualization in RGA refer to this blogpost.

Get the AMD Radeon™ Developer Tool Suite today!

You can find out more about RGA, including links to the release binaries on GitHub and the full release notes list, on our product page.

Your feedback is incredibly valuable to us and helps drive the RGA roadmap. For feature requests or feedback, get in touch on GitHub!

Picture of Apurva Modak
Apurva Modak

Apurva Modak (www.linkedin.com/in/apurva-modak) works on creating compilation and optimization software for compute and graphics workflows with AMD’s Radeon™ GPU Analyzer. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied.

Driver experiments

Introducing Driver Experiments

Ever wondered why your app is not working properly on a particular GPU? Driver Experiments lets graphics programmers disable some graphics driver optimizations or enable extra safety features.

Enjoy this blog post? If you found it useful, why not share it with other game developers?

You may also like...

Getting started: AMD GPUOpen software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

AMD GPUOpen Getting Started Development and Performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

GPUOpen Manuals

Don’t miss our manual documentation! And if slide decks are what you’re after, you’ll find 100+ of our finest presentations here.

AMD GPUOpen Technical blogs

Browse our technical blogs, and find valuable advice on developing with AMD hardware, ray tracing, Vulkan®, DirectX®, Unreal Engine, and lots more.

AMD GPUOpen videos

Words not enough? How about pictures? How about moving pictures? We have some amazing videos to share with you!

AMD GPUOpen Performance Guides

The home of great performance and optimization advice for AMD RDNA™ 2 GPUs, AMD Ryzen™ CPUs, and so much more.

AMD GPUOpen software blogs

Our handy software release blogs will help you make good use of our tools, SDKs, and effects, as well as sharing the latest features with new releases.

AMD GPUOpen publications

Discover our published publications.