Skip to content

Commit

Permalink
Update documentation for V1.16
Browse files Browse the repository at this point in the history
  • Loading branch information
chesik-amd committed Sep 20, 2023
1 parent 5bca68c commit 58b0dd9
Show file tree
Hide file tree
Showing 14 changed files with 79 additions and 61 deletions.
21 changes: 7 additions & 14 deletions README.md
Expand Up @@ -16,47 +16,40 @@ In order to use the latest features of RGP, it is strongly recommended that user
* Radeon Developer Panel (RDP)
* Radeon GPU Profiler (RGP)
3. To capture a profile from a game, run the Radeon Developer Panel and follow the instructions in the Help. Help can be found in the following locations:
* Help web pages exist in the "docs" sub directory
* Help web pages exist in the "help" subdirectory
* Help web pages can be accessed from the **Help** button in the Radeon Developer Panel
* Help web pages can be accessed from the Welcome screen in the Radeon GPU Profiler, or from the **Help** menu
* The documentation is hosted publicly at:
* https://radeon-developer-panel.readthedocs.io/en/latest/
* https://radeon-gpuprofiler.readthedocs.io/en/latest/

## Graphics APIs, RDNA™ and GCN hardware, and operating systems
## Graphics APIs, RDNA™ hardware, and operating systems
### Supported APIs
* DirectX12
* Vulkan

### Supported RDNA and GCN hardware
### Supported RDNA hardware
* AMD Radeon RX 7000 series
* AMD Radeon RX 6000 series
* AMD Radeon RX 5000 series
* AMD Radeon VII
* AMD RX Vega 64 and RX Vega 56
* AMD Ryzen™ Processors with Radeon Vega Graphics
* AMD Radeon R9 Fury and Nano series
* AMD Radeon RX 400, RX 500 series
* AMD Tonga R9 285, R9 380
* AMD Ryzen™ Processors with Radeon Graphics

### Supported Operating Systems
* Windows® 10
* Windows® 11
* Ubuntu 22.04 LTS (Vulkan only)


## Compute APIs, RDNA and GCN hardware, and operating systems
## Compute APIs, RDNA hardware, and operating systems
### Supported APIs
* OpenCL™
* HIP

### Supported RDNA and GCN hardware
### Supported RDNA hardware
* AMD Radeon RX 7000 series
* AMD Radeon RX 6000 series
* AMD Radeon RX 5000 series
* AMD Radeon VII
* AMD RX Vega 64 and RX Vega 56
* AMD Ryzen Processors with Radeon Vega Graphics
* AMD Ryzen Processors with Radeon Graphics

### Supported Operating Systems
* Windows 10
Expand Down
47 changes: 32 additions & 15 deletions Release_Notes.txt → RELEASE_NOTES.txt
@@ -1,18 +1,22 @@
Radeon™ GPU Profiler V1.15.1 05-24-2023
Radeon™ GPU Profiler V1.16 09-21-2023
-------------------------------------

V1.15.1 Changes
V1.16 Changes
-------------------------------------

* Radeon GPU Profiler

1) Fix an issue with missing counter data on RDNA 3 captures
2) Fix an issue with Pipeline state pane showing more than 256 VGPRs allocated for some shaders in RDNA 3 captures
3) Fix an issue with time units not updating in the Instruction timing Details panel when the Time Units setting is changed
4) Fix an issue with searching not finding matches in the Latency column in the Instruction timing pane
5) Fix an issue with missing commas when copying ISA instructions to the clipboard from the Instruction timing or Pipeline state pane
6) Fix a few minor visual glitches in the ISA display in the Instruction timing or Pipeline state pane

1) Support for additional AMD RDNA™ 3 hardware
2) The vertical scroll bars in the ISA disassembly view (in Instruction timing and Pipeline state panes) now indicate the location of search matches and instruction latency hotspot
3) Added support for showing the ray tracing pipeline in the Pipeline state pane for profiles generated by the RADV driver (the bulk of this work was implemented by the RADV team, but this RGP release contains some corresponding changes to support this)
4) The Output Merger (OM) Pipeline state pane now shows the Stencil reference value as part of the Depth/Stencil state
5) The Output Merger (OM) Pipeline state pane now shows the correct value for "Alpha to coverage enable" on recent hardware
6) The Details panel for an event will now show the API shader hashes for each shader in the associated pipeline
7) Fix an issue with incorrect behavior in the Wavefront Histogram for long-running compute events
8) Fix issues when running RGP on some OS/desktops using a Dark theme (https://github.com/GPUOpen-Tools/radeon_gpu_profiler/issues/88)
9) Added instruction timing support for HIP kernels with function calls
10) Allow opening .rgp files larger than 2 GB in size
11) Bug/stability fixes

Known Issues
-------------------------------------
Expand All @@ -27,27 +31,27 @@ Known Issues
6) OpenCL™ captures may include an extra DMA command buffer in the Profile summary.
7) In some rare cases on RDNA 2 hardware, all counter data may be missing from a captured RGP profile. When this happens, Radeon Developer Panel will prompt the user to recapture.
8) In some rare cases, data for one or more cache counters may be missing. Usually, recapturing will allow the missing data to show up.
9) It is recommended to use at least 1080p display resolution (1920 x 1080) with the RGP user interface. Some minor user interface issues may appear when using a lower resolution.
10) Cache and ray tracing counter data collection is not currently supported on RDNA 2 based APUs.
9) It is recommended to use at least 1080p display resolution (1920 x 1080) with the RGP user interface. Some minor user interface issues may appear when using a lower resolution.
10) Cache and ray tracing counter data collection is not currently supported on RDNA based APUs.
11) In some instances, profiles captured on multi-GPU systems may not be captured at peak GPU clock frequencies. If this is the case, changing which GPU the primary monitor is connected to may help.
12) For systems consisting of an AMD APU and an AMD discrete GPU, capturing profiles should work, but an error may be logged in the Radeon Developer Panel regarding not being able to set peak clock mode. It is recommended that the GPU in the APU be disabled in the BIOS.

* Windows®

1) D3D12 command list calls of ExecuteIndirect() may show in RGP as multiple compute events.
2) Some Radeon Software hotkeys may conflict with Radeon GPU Profiler shortcut keys. The Radeon Software hotkeys can be reconfigured by opening the Radeon Software panel (from the system tray), selecting the Hotkeys tab under Settings then changing or unbinding any conflicting hotkeys.
3) If a DirectX 12 profile is missing GPU synchronization primitive data (i.e. signals and waits) on the Frame summary pane, please try running the included scripts\AddUserToGroup.bat batch file and then recapturing the profile. This batch file must be run as Administrator.
3) If a DirectX® 12 profile is missing GPU synchronization primitive data (i.e. signals and waits) on the Frame summary pane, please try running the included scripts\AddUserToGroup.bat batch file and then recapturing the profile. This batch file must be run as Administrator.
4) Current versions of the Radeon Developer Panel cannot profile Universal Windows Platform (UWP) applications. Please use Radeon Developer Panel v2.8 to profile a UWP application.

* Linux®

1) Installations of Ubuntu 20.04 or newer may have the RADV open source Vulkan driver installed by default on the system. As a result, after an amdgpu-pro driver install, the default Vulkan ICD may be the RADV ICD. In order to capture a profile, Vulkan applications must be using the amdgpu-pro Vulkan ICD. The default Vulkan ICD can be overridden by setting the following environment variable before launching a Vulkan application: VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json
1) Installations of Ubuntu 20.04 or newer may have the RADV open source Vulkan® driver installed by default on the system. As a result, after an amdgpu-pro driver install, the default Vulkan ICD may be the RADV ICD. In order to capture a profile, Vulkan applications must be using the amdgpu-pro Vulkan ICD. The default Vulkan ICD can be overridden by setting the following environment variable before launching a Vulkan application: VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json
2) After launching RGP from the Developer Panel to view a captured profile, the panel may fail to connect the next time it is launched. The workaround is to close RGP before relaunching the panel.
3) If the Developer Panel or the Developer Service crash while running with the root account, it may be necessary to restart/exit them again with the root account in order to cleanup shared memory.
4) When running with the root account, the Developer Panel may output error or warning messages to the terminal. These should not prevent the panel from functioning properly.
5) If the RadeonDeveloperServiceCLI application crashes, shared memory may need to be cleaned up by running the remove_shared_memory.sh script located in the script folder of the RGP release kit. Run the script with elevated privileges using sudo.
6) The Radeon Developer Panel may fail to start the Radeon Developer Service when the Connect button is clicked. If this occurs, manually start the Radeon Developer Service, select localhost from the the Recent connections list and click the Connect button again.
7) On RDNA 3 hardware, detailed instruction timing data will not be available even when the user asks Radeon Developer Panel to collect it.
7) On some RDNA 3 hardware, detailed instruction timing data will not be available even when the user asks Radeon Developer Panel to collect it.

* RDNA

Expand All @@ -57,6 +61,18 @@ Known Issues
Release Notes History
-------------------------------------

V1.15.1 Changes
-------------------------------------

* Radeon GPU Profiler

1) Fix an issue with missing counter data on RDNA 3 captures
2) Fix an issue with Pipeline state pane showing more than 256 VGPRs allocated for some shaders in RDNA 3 captures
3) Fix an issue with time units not updating in the Instruction timing Details panel when the Time Units setting is changed
4) Fix an issue with searching not finding matches in the Latency column in the Instruction timing pane
5) Fix an issue with missing commas when copying ISA instructions to the clipboard from the Instruction timing or Pipeline state pane
6) Fix a few minor visual glitches in the ISA display in the Instruction timing or Pipeline state pane

V1.15 Changes
-------------------------------------

Expand All @@ -73,8 +89,9 @@ V1.15 Changes
4) Instruction timing side panel will now report the total number of WMMA (wave matrix multiply accumulate) instructions executed by a shader when running on RDNA 3 or newer hardware
5) Pipeline state pane will now report when conservative rasterization is enabled
6) Fixed issues with keyboard selection in the tree view in the Event timing and Pipeline state panes
7) DirectX® 12 Mesh shader functions and Vulkan® Mesh shader extension functions now are identified properly in RGP's event lists
7) DirectX 12 Mesh shader functions and Vulkan Mesh shader extension functions now are identified properly in RGP's event lists
8) Fixed incorrect tree hierarchy in the Event timing and Pipeline state pane when events are grouped by user events and event filtering is used
9) Bug/stability fixes

V1.14.1 Changes
-------------------------------------
Expand Down
4 changes: 4 additions & 0 deletions docs/source/_static/theme_overrides.css
Expand Up @@ -10,4 +10,8 @@ img {

table {
font-size: 12px;
}

.wy-nav-content {
max-width: none;
}
4 changes: 4 additions & 0 deletions docs/source/_templates/layout.html
@@ -0,0 +1,4 @@
{% extends "!layout.html" %}
{% block extrahead %}
<link href="{{ pathto("_static/theme_overrides.css", True) }}" rel="stylesheet" type="text/css">
{% endblock %}
4 changes: 2 additions & 2 deletions docs/source/conf.py
Expand Up @@ -54,9 +54,9 @@
# built documents.
#
# The short X.Y version.
version = u'1.15.1'
version = u'1.16.0'
# The full version, including alpha/beta/rc tags.
release = u'1.15.1'
release = u'1.16.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
36 changes: 12 additions & 24 deletions docs/source/index.rst
Expand Up @@ -3,7 +3,7 @@ The Radeon™ GPU Profiler

The Radeon GPU Profiler is a performance tool that can be used by
developers to optimize DirectX®12, Vulkan®, OpenCL™ and HIP applications for
AMD RDNA™ and GCN hardware. It is part of a suite of tools comprised of the
AMD RDNA™ hardware. It is part of a suite of tools comprised of the
following software:

- **Radeon Developer Mode Driver** - This is shipped as part of the AMD
Expand All @@ -28,16 +28,16 @@ following software:
designed to work with compute applications and frame based graphics
applications. It is specifically designed to address the issues that
developers are dealing with in the move from traditional graphics
APIs to explicit APIs. It also provides the visualization of RDNA and
GCN hardware-specific information allowing the developer to tune an
APIs to explicit APIs. It also provides the visualization of RDNA
hardware-specific information allowing the developer to tune an
application to the full potential of the architecture. The tool
provides unique visualizations of queue synchronization using fences
and semaphores, asynchronous compute, and barrier timings. Currently,
it supports the explicit graphics APIs (DirectX12 and Vulkan), compute
APIs (OpenCL and HIP) and will NOT work with older graphics APIs such as
DirectX11 or OpenGL.

Graphics APIs, RDNA and GCN hardware, and operating systems
Graphics APIs, RDNA hardware, and operating systems
-----------------------------------------------------------

**Supported APIs**
Expand All @@ -46,25 +46,15 @@ Graphics APIs, RDNA and GCN hardware, and operating systems

- Vulkan

\ **Supported RDNA and GCN hardware**
\ **Supported RDNA hardware**

- AMD Radeon RX 7000 series

- AMD Radeon RX 6000 series

- AMD Radeon RX 5000 series

- AMD Radeon VII

- AMD RX Vega 64 and RX Vega 56

- AMD Ryzen™ Processors with Radeon Vega Graphics

- AMD Radeon R9 Fury and Nano series

- AMD Radeon RX 400 and RX 500 series

- AMD Tonga R9 285, R9 380
- AMD Ryzen™ Processors with Radeon Graphics

\ **Supported Operating Systems**

Expand All @@ -74,7 +64,7 @@ Graphics APIs, RDNA and GCN hardware, and operating systems

- Ubuntu 22.04 LTS (Vulkan only)

Compute APIs, RDNA and GCN hardware, and operating systems
Compute APIs, RDNA hardware, and operating systems
----------------------------------------------------------

**Supported APIs**
Expand All @@ -83,19 +73,15 @@ Compute APIs, RDNA and GCN hardware, and operating systems

- HIP

\ **Supported RDNA and GCN hardware**
\ **Supported RDNA hardware**

- AMD Radeon RX 7000 series

- AMD Radeon RX 6000 series

- AMD Radeon RX 5000 series

- AMD Radeon VII

- AMD RX Vega 64 and RX Vega 56

- AMD Ryzen Processors with Radeon Vega Graphics
- AMD Ryzen Processors with Radeon Graphics

\ **Supported Operating Systems**

Expand Down Expand Up @@ -558,7 +544,9 @@ line using the controls displayed below.

Both the Search command (Ctrl + F) and the Go to line command (Ctrl + G) can be invoked using keystrokes.

Instruction lines that match the search results are highlighted.
Instruction lines that match the search results are highlighted. The vertical
scroll bar will also indicate the location of all matches, giving you a visual
indicator of where in the shader the various matches can be found.

.. image:: media_rgp/rgp_isa_view_search_results.png

Expand Down
16 changes: 11 additions & 5 deletions docs/source/instruction_timing.rst
Expand Up @@ -6,9 +6,12 @@ The instruction timing information is generated using hardware support on AMD RD
Generating instruction timing does not require recompilation of shaders or insertion of any
instrumentation into shaders.

The Instruction timing pane shows RDNA or GCN ISA. For a description of ISA, refer to the shader
programming guides at
`GPUOpen <https://gpuopen.com/amd-isa-documentation/>`_.
The Instruction timing pane shows RDNA or GCN ISA. For more details on the ISA, please refer the following resources:

- The **AMD GPU ISA Documentation** on `GPUOpen <https://gpuopen.com/amd-isa-documentation/>`_. These guides provide detailed definitions of the instructions you may see in RGP.
- The **User Guide for AMDGPU Backend** as part of the `LLVM User Guides <https://llvm.org/docs/AMDGPUUsage.html>`_. This guide provides details on some minor differences you may see in the Instruction timing pane versus what you might read in the ISA guides on GPUOpen. For instance some VALU instructions may appear with an extra suffix to provide more information on the instruction encoding. These suffixes, which are added by the LLVM-based AMDGPU disassembler, are described `here <https://llvm.org/docs/AMDGPUUsage.html#valu>`_.


The Instruction timing pane for a shader is shown below.

.. image:: media_rgp/rgp_instruction_timing_1.png
Expand Down Expand Up @@ -80,6 +83,9 @@ work. In this case, yellow is more prevalent than green.

.. image:: media_rgp/rgp_instruction_timing_latency_bars_2.png

A red indicator will be shown in the vertical scroll bar corresponding to the location of the
instruction with the highest latency. This allows you to quickly find the hotspot within the shader.

\ **Hit Count**

The *Hit count* for each instruction shows the number of times the instruction was executed for the
Expand Down Expand Up @@ -259,8 +265,8 @@ The counts denote the number of instructions of each category.
Each category's count denote the instruction count for that shader's invocation in the event.
Different executions of the same shader could have different Instruction statistics based on
factors such as the number of wavefronts launched for the shader and loop parameters. The
instruction categories are briefly described below. Please see the Shader Programming Guides for
more details.
instruction categories are briefly described below. Please see the `AMD GPU ISA Documentation <https://gpuopen.com/amd-isa-documentation/>`_
for more details.

- VALU: Includes vector ALU instructions

Expand Down
Binary file modified docs/source/media_rgp/rdp_open_profile.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/source/media_rgp/rgp_details_panel_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/source/media_rgp/rgp_instruction_timing_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/source/media_rgp/rgp_isa_view_search_results.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/source/media_rgp/rgp_wavefront_occupancy_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/source/media_rgp/rgp_welcome.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 7 additions & 1 deletion docs/source/wavefront_occupancy.rst
Expand Up @@ -315,10 +315,16 @@ The Details panel for a single event contains the following data:

* Hardware context and if it was rolled

* List of RDNA or GCN hardware stages and wavefront counts
* The API shader hashes for all shaders used by the event

* The API PSO hash for the event

* The Driver internal pipeline hash for the event

* Colored bar showing wavefront distribution per RDNA or GCN hardware stage

* List of RDNA or GCN hardware stages and wavefront counts

* Total wavefront count

* Total threads
Expand Down

0 comments on commit 58b0dd9

Please sign in to comment.