The latest version of Radeon™ GPU Profiler is now available for download! Here’s a bit about the new features:

New Radeon™ Developer Panel

One of the major changes that veteran RGP users will notice right away is the presence of a completely redesigned Radeon™ Developer Panel.  The new panel supports both Radeon™ GPU Profiler and Radeon™ Memory Visualizer.

Because the panel now supports multiple products, we’re now distributing both RGP and RMV in a single package.  When you follow the download link for the Windows® build, you will get a .zip file that contains the most recent version of RGP, RMV, and RDP. Once a Linux version of RMV becomes available, we will do the same thing on Linux.  As such, the download packages are now named “RadeonDeveloperTools”.

Instruction Timing

Now to describe some of new things you will find in RGP 1.8. One part of the product that has received a lot of love for this release is the Instruction Timing feature.  

In previous versions, if you wanted Instruction timing data for a shader, you had to specifically choose a pipeline to be profiled with detailed instruction timing data.  You did this by specifying an API PSO hash that corresponded to the pipeline where you wanted to view detailed instruction timing data. 

In the new version of RDP, there is now simply a single checkbox to enable Instruction Tracing as seen in the screenshot here.

When this option is checked, Instruction timing data will be collected for the entire frame (as opposed to just a single API PSO hash). However, if the target GPU has more than one shader engine, only detailed instruction data from a single shader engine will be collected. In addition to simplifying the workflow required to collect Instruction timing data, this also allows detailed instruction timing analysis on more events in the frame without the need to specify an API PSO hash.

In this release, you should now see fewer instances of the dreaded “Talk to the Hand!” icon shown here. In some situations, especially for RDNA hardware, this icon would be shown in the Instruction timing UI even for events where there were sufficient wavefronts for analysis.  

We’ve fixed as many of these situations as we could, and in RGP 1.8, we hope that you will only see this icon in situations where there are truly not enough wavefronts to perform analysis.

Along the way, we’ve also improved the timing algorithm so that it should be more accurate. The hardware utilization calculations in the side panel also received enhancements leading to more accurate data in many cases.

Finally, performance in the Instruction Timing UI has been improved when dealing with large shaders, so things should feel snappier in many situations.

Other Improvements

The Theoretical occupancy figures shown throughout the RGP UI (for instance on the Pipeline state pane, or in the Details panel in the Wavefront occupancy, Event timing and Instruction timing panes) will now take LDS and thread groups size into account when necessary. The calculations are also now more accurate on AMD RDNA™ hardware.

An entirely new scaling manager makes the RGP user interface much more well-behaved when DPI settings change.  In other words, things should look better when you change the operating system’s DPI display settings or when you drag the RGP UI from one monitor to another with different DPI settings.

In RGP 1.7, we added additional Overlays to the Event timeline in the Wavefront Occupancy pane. Now in RGP 1.8, navigation from these overlays to other panes within RGP is supported. 

As seen below, all you need to do is right click on a User event, Hardware context, Command buffer, or Render/Depth target, and use the context menu to view the selected item in one of the other panes in RGP. In addition to navigation commands, the context menu also supports zooming the view to selected Overlay.

This release also includes some additional usability enhancements. For instance, the Recent Profiles pane now has links to allow you to view the location of any profile:

Similarly, the main File menu has a new menu item to allow you to view the location of the currently-loaded profile:

Finally, for those developers who optimize games on Linux, this release now officially supports Ubuntu 20.04.

A quick note about Ubuntu 20.04: By default the open source RADV Vulkan® driver is installed when installing Ubuntu 20.04. As RGP requires the AMD amdgpu-pro Vulkan® driver, you’ll need to configure things to make sure Vulkan® apps use the AMD driver instead of the the RADV driver. This needs to be done after installing the amgpu-pro driver.

The easiest way to do this is to override the default Vulkan® ICD by setting the VK_ICD_FILENAMES environment variable to point to the amdgpu-pro ICD. The proper value for this environment variable in a default install is: VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json .

These are just the major highlights of what you can expect in RGP 1.8. There are many smaller enhancements as well as bug fixes, all designed to improve your experience when using RGP.

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

As always: please send us your feedback so that we can keep making RGP the very best developer-focused performance analysis tool for modern graphics and compute profiling work.

Your feedback is incredibly valuable to us and helps drive the RGP roadmap forward, so if you want something and it makes sense then just let us know!

AMD Radeon GPU Profiler

Radeon™ GPU Profiler

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.