GPU Reshape
Attach
Instrument
Investigate
Brought to you by Miguel Petersen, Avalanche Studios Group, and AMD.
Meet GPU Reshape, a powerful tool that leverages on-the-fly instrumentation of GPU operations with instruction level validation of potentially undefined behavior.
Standalone desktop application, no integration required.
Download now - v0.9.0 Beta
This release includes the following features:
- Resource Bounds
Validation of resource read / write coordinates against its bounds. - Export Stability
Numeric stability validation of floating point exports (UAV writes, render targets, vertex exports), e.g. NaN / Inf. - Descriptor Validation
Validation of descriptors, potentially dynamically indexed. This includes undefined, mismatched (compile-time to runtime), out of bounds descriptor indexing, and missing table bindings. - Concurrency Validation
Validation of resource concurrency, i.e. single-producer or multiple-consumer, between queues and events. - Resource Initialization
Validation of resource initialization, ensures any read was preceded by a write. - Infinite Loops
Detection of infinite loops. Experimental.
Additionally, certain features, such as descriptor validation and loops, can safeguard a potentially erroneous operation, preventing undefined behaviour during instrumentation. This is especially useful if the error would result in a GPU crash, limiting the application’s ability to write out useful debug information of the issue.
Introducing GPU Reshape – shader instrumentation for everyone
GPU Reshape brings powerful features typical of CPU tooling to the GPU, providing validation of dynamic behaviour. Read on for all of the details.
Benefits
Instrument and validate your applications, track down issues to the exact line of source code, and determine exactly what went wrong.
Out of the box usage requires no integration, and can be done in just a few clicks, all at interactive frame rates.
GPU Reshape supports both DirectX® 12 and Vulkan®.
Attach
Attach to running applications, potentially across network boundaries, to start instrumenting your applications.
Applications may also be launched from the toolset with the desired feature set.
Instrument
Instrument entire applications in just a few clicks.
Instrumentation may be changed on the fly, and can be specialized on a per-shader and pipeline basis. Customize your workspace as needed.
Investigate
Investigate validation errors on the exact line of source code, with, for example, the resource and coordinates accessed.
GPU Reshape is agnostic to the front-end language, such as HLSL or GLSL, as it functions solely on the instructions and associated symbols.
Requirements
Software
Driver
- For AMD GPUs: latest AMD Software: Adrenalin Edition™ application software driver (minimum version 23.10.2)
Supported GPUs
- All vendors supported
Supported graphics APIs
- DirectX® 12
- Vulkan®
Supported IRs
- SPIR-V
- DXIL
- DXBC (experimental)
Supported OSs
- Windows® 10
- Windows® 11
Linux® support is a planned addition.
Version history
- First public release
Related content
Vulkan Memory Allocator v3.1, with many fixes and improvements, is out now!
VMA V3.1 gathers fixes and improvements, mostly GitHub issues/PRs, including improved compatibility with various compilers and GPUs.
DirectX®12 single shader compilation with Radeon™ GPU Analyzer (RGA) v2.9.1
Radeon™ GPU Analyzer v2.9.1 now supports D3D12 shader compilation without requiring a completely defined pipeline state. RGA v2.9.1 is available now.
Radeon™ GPU Profiler 2.1 adds interoperability with Radeon™ GPU Analyzer (and more)!
RGP 2.1 adds RGA interoperability, ‘Color by’ modes, and additional customization options. Dive in for all the details!
GDC 2024: Work graphs, mesh shaders, FidelityFX™, dev tools, CPU optimization, and more.
Our GDC 2024 presentations this year include work graphs, mesh shaders, AMD FSR 3, GI with AMD FidelityFX Brixelizer, AMD Ryzen optimization, RGD, RDTS, and GPU Reshape!
Getting Started with Radeon™ GPU Detective 1.0
Radeon GPU Detective (RGD) is a brand-new tool which is designed to help you capture and investigate GPU crashes. This tutorial covers how to use RGD to capture a crash and how to interpret the results it produces.
Radeon™ GPU Detective (RGD) 1.0 is now available
Radeon™ GPU Detective (RGD) is our brand-new tool for investigating GPU crashes. RGD is included in the Radeon Developer Tool Suite and is available now!
Avalanche Studios Group and the Avalanche Studios Group logo are trademarks of the Avalanche Studios Group.
Our other tools
Radeon™ GPU Detective (RGD) is a tool for post-mortem analysis of GPU crashes. RGD can capture AMD GPU crash dumps from DirectX® 12 apps.
Radeon™ Raytracing Analyzer (RRA) is a tool which allows you to investigate the performance of your raytracing applications and highlight potential bottlenecks.
The RDP provides a communication channel with the Radeon™ Adrenalin driver. It generates event timing data used by the Radeon™ GPU Profiler (RGP), and the memory usage data used by the Radeon™ Memory Visualizer (RMV).
Radeon™ Memory Visualizer (RMV) is a tool to allow you to gain a deep understanding of how your application uses memory for graphics resources.
This is a Visual Studio® Code extension for Radeon GPU Analyzer (RGA) to allow you to use RGA directly from within VS Code.
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.
If you want to know how well a game is performing on your machine in real-time with low overhead, OCAT has you covered.
Radeon GPU Analyzer is an offline compiler and performance analysis tool for DirectX®, Vulkan®, SPIR-V™, OpenGL® and OpenCL™.
Compressonator is a set of tools to allow artists and developers to more easily work with compressed assets and easily visualize the quality impact of various compression technologies.
Our other SDKs
Capsaicin is a Direct3D12 framework for real-time graphics research which implements the GI-1.0 technique and a reference path-tracer.
The Render Pipeline Shaders (RPS) SDK provides a framework for graphics engines to use Render Graphs with explicit APIs.
ADLX is a modern library designed to access features and functionality of AMD systems such as Display, 3D graphics, Performance Monitoring, GPU Tuning, and more.
Brotli-G is an open-source compression/decompression standard for digital assets (based on Brotli) that is compatible with GPU hardware.
HIP RT is a ray tracing library for HIP, making it easy to write ray tracing applications in HIP.
Orochi is a library which loads HIP and CUDA® APIs dynamically, allowing the user to switch APIs at runtime.
AMD Radeon™ ProRender is our fast, easy, and incredible physically-based rendering engine built on industry standards that enables accelerated rendering on virtually any GPU, any CPU, and any OS in over a dozen leading digital content creation and CAD applications.
Radeon™ Machine Learning (Radeon™ ML or RML) is an AMD SDK for high-performance deep learning inference on GPUs.
Harness the power of machine learning to enhance images with denoising, enabling your application to produce high quality images in a fraction of the time traditional denoising filters take.
The Advanced Media Framework SDK provides developers with optimal access to AMD GPUs for multimedia processing.
The D3D12 Memory Allocator (D3D12MA) is a C++ library that provides a simple and easy-to-integrate API to help you allocate memory for DirectX®12 buffers and textures.
The AMD Display Library (ADL) SDK is designed to access display driver functionality for AMD Radeon™ and AMD FirePro™ graphics cards.