You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Update the Vulkan® sample to remove the static link and use the system-specific Vulkan® loader.
46
+
* Remove OpenCL™ support from Linux.
47
+
* Remove downloading the Vulkan® SDK by the build script.
41
48
42
49
## System Requirements
43
50
* An AMD Radeon GPU or APU based on Graphics IP version 8 and newer.
44
-
* Windows: Radeon Software Adrenaline 2020 Edition 19.12.2 or later (Driver Packaging Version 19.50 or later).
45
-
* Linux: Radeon Software for Linux Revision 19.50 or later.
51
+
* Windows: Radeon Software Adrenaline 2020 Edition 20.11.2 or later (Driver Packaging Version 20.45 or later).
52
+
* Linux: Radeon Software for Linux Revision 20.45 or later.
46
53
* Radeon GPUs or APUs based on Graphics IP version 6 and 7 are no longer supported by GPUPerfAPI. Please use an older version ([3.3](https://github.com/GPUOpen-Tools/GPA/releases/tag/v3.3)) with older hardware.
47
54
* Windows 7, 8.1, and 10.
48
55
* Ubuntu (16.04 and later) and CentOS/RHEL (7 and later) distributions.
@@ -88,14 +95,17 @@ hardware counters in a default build, by simply specifying a new flag when calli
88
95
build of GPUPerfAPI that also exposes the raw hardware counters, but that is a deprecated build and it is likely to be removed in a future release.
89
96
90
97
## Known Issues
98
+
* On Ubuntu 20.04 LTS, Vulkan ICD may not be set to use AMD Vulkan ICD. In this case, it needs to be explicitly set to use AMD Vulkan ICD before using the GPA.
99
+
It can be done by setting the "VK_ICD_FILENAMES" environment variable to "/etc/vulkan/icd.d/amd_icd64.json"
100
+
* VSVerticesIn, HSPatches, and DSVerticesIn counters aren't availbale on Radeon RX 6000 Series GPU using OpenGL.
101
+
* FetchSize counter will show an error when enabled on Radeon RX 6000 Series GPU using OpenGL. This is expected to be fixed in a future driver release.
91
102
* Adjusting the GPU clock mode on Linux is accomplished by writing to <br><br>/sys/class/drm/card\<N\>/device/power_dpm_force_performance_level<br><br> where \<N\> is
92
103
the index of the card in question. By default this file is only modifiable by root, so the application being profiled would have to be run as root in order for it to
93
104
modify the clock mode. It is possible to modify the permissions for the file instead so that it can be written by unprivileged users. The following command will
94
105
achieve this. Note, however, that changing the permissions on a system file like this could circumvent security. Also, on multi-GPU systems, you may have to replace
95
106
"card0" with the appropriate card number. Permissions on this file may be reset when rebooting the system:
* The following performance counter values may not be accurate for DirectX 11 applications running on a Radeon 5700 Series GPU. This is expected to be addressed in a future
98
-
driver release:
108
+
* The following performance counter values may not be accurate for DirectX 11 applications running on a Radeon 5700, and 6000 Series GPU. This is expected to be fixed in a future driver release.
99
109
* VALUInstCount, SALUInstCount, VALUBusy, SALUBusy for all shader stages: These values should be representative of performance, but may not be 100% accurate.
100
110
* Most of the ComputeShader counters (all except the MemUnit and WriteUnit counters): These values should be representative of performance, but may not be 100% accurate.
101
111
* The following performance counter values may not be accurate for OpenGL applications running on a Radeon 5700 Series GPU. This is expected to be addressed in a future
.. Copyright(c) 2018-2020 Advanced Micro Devices, Inc.All rights reserved.
2
+
.. Compute Performance Counters for RDNA2
3
+
4
+
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.
5
+
6
+
RDNA2 Counters
7
+
++++++++++++++
8
+
9
+
General Group
10
+
%%%%%%%%%%%%%
11
+
12
+
.. csv-table::
13
+
:header: "Counter Name", "Brief Description"
14
+
:widths: 15, 80
15
+
16
+
"Wavefronts", "Total wavefronts."
17
+
"VALUInsts", "The average number of vector ALU instructions executed per work-item (affected by flow control)."
18
+
"SALUInsts", "The average number of scalar ALU instructions executed per work-item (affected by flow control)."
19
+
"VFetchInsts", "The average number of vector fetch instructions from the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that fetch from video memory."
20
+
"SFetchInsts", "The average number of scalar fetch instructions from the video memory executed per work-item (affected by flow control)."
21
+
"VWriteInsts", "The average number of vector write instructions to the video memory executed per work-item (affected by flow control). Excludes FLAT instructions that write to video memory."
22
+
"GDSInsts", "The average number of GDS read or GDS write instructions executed per work item (affected by flow control)."
23
+
"VALUUtilization", "The percentage of active vector ALU threads in a wave. A lower number can mean either more thread divergence in a wave or that the work-group size is not a multiple of the wave size. Value range: 0% (bad), 100% (ideal - no thread divergence)."
24
+
"VALUBusy", "The percentage of GPUTime vector ALU instructions are processed. Value range: 0% (bad) to 100% (optimal)."
25
+
"SALUBusy", "The percentage of GPUTime scalar ALU instructions are processed. Value range: 0% (bad) to 100% (optimal)."
26
+
27
+
LocalMemory Group
28
+
%%%%%%%%%%%%%%%%%
29
+
30
+
.. csv-table::
31
+
:header: "Counter Name", "Brief Description"
32
+
:widths: 15, 80
33
+
34
+
"LDSInsts", "The average number of LDS read or LDS write instructions executed per work item (affected by flow control)."
35
+
"LDSBankConflict", "The percentage of GPUTime LDS is stalled by bank conflicts. Value range: 0% (optimal) to 100% (bad)."
36
+
37
+
GlobalMemory Group
38
+
%%%%%%%%%%%%%%%%%%
39
+
40
+
.. csv-table::
41
+
:header: "Counter Name", "Brief Description"
42
+
:widths: 15, 80
43
+
44
+
"FetchSize", "The total kilobytes fetched from the video memory. This is measured with all extra fetches and any cache or memory effects taken into account."
45
+
"WriteSize", "The total kilobytes written to the video memory. This is measured with all extra fetches and any cache or memory effects taken into account."
46
+
"L0CacheHit", "The percentage of fetch, write, atomic, and other instructions that hit the data in L0 cache. Value range: 0% (no hit) to 100% (optimal)."
47
+
"L1CacheHit", "The percentage of fetch, write, atomic, and other instructions that hit the data in L1 cache. Writes and atomics always miss this cache. Value range: 0% (no hit) to 100% (optimal)."
48
+
"L2CacheHit", "The percentage of fetch, write, atomic, and other instructions that hit the data in L2 cache. Value range: 0% (no hit) to 100% (optimal)."
49
+
"MemUnitBusy", "The percentage of GPUTime the memory unit is active. The result includes the stall time (MemUnitStalled). This is measured with all extra fetches and writes and any cache or memory effects taken into account. Value range: 0% to 100% (fetch-bound)."
50
+
"MemUnitStalled", "The percentage of GPUTime the memory unit is stalled. Try reducing the number or size of fetches and writes if possible. Value range: 0% (optimal) to 100% (bad)."
51
+
"WriteUnitStalled", "The percentage of GPUTime the Write unit is stalled. Value range: 0% to 100% (bad)."
0 commit comments