Skip to content

Commit 2656c0d

Browse files
committed
Update documentation and source code for RMV v1.14
1 parent 29bb28f commit 2656c0d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2225
-73
lines changed

BUILD.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,15 @@ This can be installed once Python is installed, as follows:
3333
* pip install -U sphinx
3434
* pip install sphinx_rtd_theme
3535

36-
Run the python pre_build.py script in the build folder from a command prompt. If no command line options are provided, the defaults will be used (Qt 6.7.0 and Visual Studio 2022)
37-
36+
Run the python pre_build.py script from a command prompt. If no command line options are provided, the defaults will be used (Qt 6.7.0 and Visual Studio 2022)
37+
```bash
38+
python3 build\pre_build.py
39+
```
40+
or
41+
```bash
42+
cd build
43+
python3 pre_build.py
44+
```
3845
Some useful options of the pre_build.py script:
3946
* --vs <Visual Studio version>: generate the solution files for a specific Visual Studio version. For example, to target Visual Studio 2017, add --vs 2017 to the command.
4047
* --qt <path>: full path to the folder from where you would like the Qt binaries to be retrieved. By default, CMake would try to auto-detect Qt on the system.
@@ -73,8 +80,9 @@ XCB libraries are required for Qt v5 and above. These can be installed by using:
7380
sudo apt-get install libxcb-cursor-dev
7481
```
7582

76-
Run the python pre_build.py in the build folder.
83+
Run the python pre_build.py script.
7784
```bash
85+
cd build
7886
python3 pre_build.py
7987
```
8088
Or run the pre_build.py script with the -qt option to specify another version of Qt. For example:

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ project(RMV)
1313

1414
# Define version information
1515
set(RMV_MAJOR_VERSION 1)
16-
set(RMV_MINOR_VERSION 13)
16+
set(RMV_MINOR_VERSION 14)
1717
if (NOT RMV_BUGFIX_NUMBER)
1818
set(RMV_BUGFIX_NUMBER 0)
1919
endif ()
@@ -111,6 +111,7 @@ endif()
111111
add_subdirectory(source/parser parser)
112112
add_subdirectory(source/backend backend)
113113
add_subdirectory(source/frontend frontend)
114+
add_subdirectory(test/source/backend_test backend_test)
114115

115116
# Group external dependency targets into folder
116117
IF(WIN32)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ The Radeon Memory Visualizer (RMV) is a software tool that will allow users to a
3636
## Supported Operating Systems
3737
* Windows® 10
3838
* Windows® 11
39-
* Ubuntu 22.04 LTS (Vulkan only)
40-
* Ubuntu 24.04 LTS (Vulkan only)
39+
* Ubuntu® 24.04 LTS (Vulkan only)
40+
* With the introduction of 25.20-based Linux drivers, the AMDVLK driver is no longer included in the amdgpu-pro driver package. This is a result of the AMDVLK open-source project being discontinued as mentioned [here](https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416). Instead, the RADV open-source Vulkan® driver is installed by default. Consequently, the Radeon Developer Panel does not support capturing data from Vulkan applications when using these newer driver releases. To analyze Linux Vulkan workloads with Radeon GPU Profiler (RGP), Radeon Raytracing Analyzer (RRA), or Radeon Memory Visualizer (RMV), users can opt for a 25.10-based driver. Alternatively, analysis can be performed using the data capture mechanism integrated within the RADV driver, although this method is not supported by the Radeon Developer Panel. For more information on configuring RADV, refer to the environment variable documentation, specifically the [MESA_VK_TRACE_* environment variables](https://docs.mesa3d.org/envvars.html#envvar-MESA_VK_TRACE) which can be utilized for enabling and configuring tracing.
4141

4242
Note: Before running RDP and capturing an RMV memory trace on Linux, be sure to make the necessary configuration changes by running the RDP setup.sh script each time the machine is rebooted. For more information, see the RDP documentation.
4343

RELEASE_NOTES.txt

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
Radeon™ Memory Visualizer V1.13 06/17/2025
2-
------------------------------------------
1+
Radeon™ Memory Visualizer V1.14
2+
-------------------------------
33

4-
V1.13 Changes
4+
V1.14 Changes
55
------------------------------------
6-
1) Optimize performance for the Allocation overview pane, helpful when allocations contain thousands of resources and/or aliasing is heavily used.
7-
2) Allow resource properties to be copied to the clipboard in the Resource details pane.
8-
3) Bug/stability fixes.
6+
1) UI support for work graph backing memory.
7+
2) Bug/stability fixes.
98

109
Known Issues
1110
------------------------------------
@@ -20,11 +19,18 @@ Known Issues
2019
(7) If a memory dump is created by shutting down the application being traced and there are a large number of resource names, some names may not be included in the RMV file. The work-around is to use the Dump trace button in the Radeon Developer Panel and wait for the button to be disabled before shutting down the application. This gives the buffered names a chance to be processed.
2120
(8) The Shader core clock frequency and Video memory clock frequency for memory traces captured on Linux may be incorrectly displayed as 0 Mhz.
2221
(9) The Device name may be blank for memory traces captured on Linux with some APUs.
23-
(10) 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 memory trace, 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
22+
(10) With the introduction of 25.20-based Linux drivers, the AMDVLK driver is no longer included in the amdgpu-pro driver package. This is a result of the AMDVLK open-source project being discontinued as mentioned here (https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416). Instead, the RADV open-source Vulkan® driver is installed by default. Consequently, the Radeon Developer Panel does not support capturing data from Vulkan applications when using these newer driver releases. To analyze Linux Vulkan workloads with Radeon GPU Profiler (RGP), Radeon Raytracing Analyzer (RRA), or Radeon Memory Visualizer (RMV), users can opt for a 25.10-based driver. Alternatively, analysis can be performed using the data capture mechanism integrated within the RADV driver, although this method is not supported by the Radeon Developer Panel. For more information on configuring RADV, refer to the environment variable documentation, specifically the MESA_VK_TRACE_* environment variables (https://docs.mesa3d.org/envvars.html#envvar-MESA_VK_TRACE) which can be utilized for enabling and configuring tracing.
23+
(11) When using a 25.10-based driver or older: 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.
2424

2525
Release Notes History
2626
------------------------------------
2727

28+
V1.13 Changes
29+
------------------------------------
30+
1) Optimize performance for the Allocation overview pane, helpful when allocations contain thousands of resources and/or aliasing is heavily used.
31+
2) Allow resource properties to be copied to the clipboard in the Resource details pane.
32+
3) Bug/stability fixes.
33+
2834
V1.12 Changes
2935
------------------------------------
3036
1) Support for AMD Radeon RX 9000 series GPUs.

build/dependency_map.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
# Define a set of dependencies that exist as separate git projects.
2222
# each git dependency has a desired directory where it will be cloned - along with a commit to checkout
2323
git_mapping = {
24-
github_tools + "qt_common" : ["../external/qt_common", "v4.3.0", True],
25-
github_tools + "system_info_utils" : ["../external/system_info_utils", "v2.1", True],
26-
github_tools + "update_check_api" : ["../external/update_check_api", "v2.1.1", True],
27-
github_root + "GPUOpen-Drivers/libamdrdf" : ["../external/rdf", "v1.4.0", True],
24+
github_tools + "qt_common" : ["../external/qt_common", "v4.4.0", True],
25+
github_tools + "system_info_utils" : ["../external/system_info_utils", "v2.1", True],
26+
github_tools + "update_check_api" : ["../external/update_check_api", "v2.1.1", True],
27+
github_root + "GPUOpen-Drivers/libamdrdf" : ["../external/rdf", "v1.4.2", True],
28+
github_root + "nlohmann/json" : ["../external/third_party/json", "v3.9.1", True],
29+
github_root + "catchorg/Catch2" : ["../external/third_party/catch2", "v2.13.6", True],
2830
}

build/pre_build.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
else:
3636
can_fetch = False
3737

38+
3839
# to allow the script to be run from anywhere - not just the cwd - store the absolute path to the script file
3940
script_root = os.path.dirname(os.path.realpath(__file__))
4041

@@ -177,6 +178,7 @@ def check_qt_path(qt_root, qt_root_arg, qt_arg):
177178
if args.platform == "x86":
178179
cmake_output_dir += args.platform
179180

181+
180182
# Clean all files generated by this script or the build process
181183
if (args.clean):
182184
log_print ("Cleaning build ...\n")
@@ -210,6 +212,7 @@ def check_qt_path(qt_root, qt_root_arg, qt_arg):
210212
qt_expanded_root = os.path.expanduser(args.qt_root)
211213
qt_found,qt_path = check_qt_path(qt_expanded_root, args.qt_root, args.qt)
212214

215+
213216
if qt_found == False:
214217
log_error_and_exit(qt_path)
215218

@@ -270,6 +273,7 @@ def generate_config(config):
270273
elif args.toolchain == "2017":
271274
cmake_args.extend(["-Tv141"])
272275

276+
273277
if sys.platform.startswith('linux'):
274278
if args.qt_system:
275279
cmake_args.extend(["-DQT_SYSTEM:BOOL=TRUE"])
@@ -292,6 +296,7 @@ def generate_config(config):
292296
if sys.platform == "darwin":
293297
cmake_args.extend(["-DNO_APP_BUNDLE=" + str(args.no_bundle)])
294298

299+
295300
if args.vscode:
296301
# Generate data into VSCode Settings file
297302

@@ -392,6 +397,7 @@ def generate_config(config):
392397
p.wait()
393398
sys.stdout.flush()
394399

400+
395401
if (args.package):
396402
if sys.platform == "win32":
397403
cmake_args = ["cpack", "-G", "ZIP"]

cmake/devtools_qt_helper.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ if (Qt6_DIR)
7373
)")
7474
else()
7575
# Generate deployment script of Qt binaries and plugins
76-
if (QT_VERSION_MAJOR EQUAL 6 AND QT_VERSION_MINOR GREATER_EQUAL 5)
76+
if (QT_VERSION_MAJOR GREATER 6 OR (QT_VERSION_MAJOR EQUAL 6 AND QT_VERSION_MINOR GREATER_EQUAL 5))
77+
# Qt 6.5 or above.
7778
qt_generate_deploy_app_script(TARGET ${PROJECT_NAME}
7879
OUTPUT_SCRIPT deploy_script
7980
NO_UNSUPPORTED_PLATFORM_ERROR
@@ -83,6 +84,7 @@ if (Qt6_DIR)
8384
qt_generate_deploy_app_script(TARGET ${PROJECT_NAME}
8485
FILENAME_VARIABLE deploy_script
8586
NO_UNSUPPORTED_PLATFORM_ERROR
87+
NO_TRANSLATIONS
8688
)
8789
endif()
8890
endif()

documentation/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@
5454
# built documents.
5555
#
5656
# The short X.Y version.
57-
version = u'1.13.0'
57+
version = u'1.14.0'
5858
# The full version, including alpha/beta/rc tags.
59-
release = u'1.13.0'
59+
release = u'1.14.0'
6060

6161
# The language for content autogenerated by Sphinx. Refer to documentation
6262
# for a list of supported languages.

documentation/source/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ Supported graphics APIs, RDNA hardware, and operating systems
4646

4747
- Windows® 10/11
4848

49-
- Ubuntu® 22.04 LTS (Vulkan only)
50-
5149
- Ubuntu® 24.04 LTS (Vulkan only)
5250

51+
- With the introduction of 25.20-based Linux drivers, the AMDVLK driver is no longer included in the amdgpu-pro driver package. This is a result of the AMDVLK open-source project being discontinued as mentioned `here <https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416>`_. Instead, the RADV open-source Vulkan® driver is installed by default. Consequently, the Radeon Developer Panel does not support capturing data from Vulkan applications when using these newer driver releases. To analyze Linux Vulkan workloads with Radeon GPU Profiler (RGP), Radeon Raytracing Analyzer (RRA), or Radeon Memory Visualizer (RMV), users can opt for a 25.10-based driver. Alternatively, analysis can be performed using the data capture mechanism integrated within the RADV driver, although this method is not supported by the Radeon Developer Panel. For more information on configuring RADV, refer to the environment variable documentation, specifically the `MESA_VK_TRACE_* environment variables <https://docs.mesa3d.org/envvars.html#envvar-MESA_VK_TRACE>`_ which can be utilized for enabling and configuring tracing.
52+
5353

5454
DISCLAIMER
5555
----------
9.11 KB
Loading

0 commit comments

Comments
 (0)