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.1 Beta

This release includes the following features:
  • AMD|Waterfall Feature
    • A brand new AMD-specific feature that reveals potential performance issues with regards to register indexing.
  • NonUniformResourceIndex Validation
    • Validation that descriptor indexing is uniform, or appropriately annotated with NonUniformResourceIndex.
  • Per-Texel/Byte Addressing for Initialization and Concurrency
    • Initialization and concurrency tracking now occurs on a per-texel/byte level for resources, greatly improving accuracy.
  • Placed resource validation
    • Validation that placed resources have been appropriately initialized before use.
  • Improved Loops TDR detection
    • No longer experimental, and features additional safe guarding against TDRs.
  • Multi Device/Process
    • Hook multiple graphical devices or entire process trees with ease.
  • Improved shader symbols
    • Includes SlimPDB support.
  • Mesh Shader Support
    • Full support for existing feature set against mesh shaders.
  • Many bug/stability/usability fixes
GPU Reshape Beta 2 screenshot

GPU Reshape Beta 2 Release

The latest beta of GPU Reshape introduces a waterfall feature, NonUniformResourceIndex validation, and much more! Read on…

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®.

Don’t miss our videos to help you get started with GPU Reshape!

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

  • .NET Desktop Runtime 8.0.7
  • Visual C++ Runtimes 17:  Both x64 and x86 are required. This is due to process bootstrapping operating across both 64 and 32 bit processes.

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

This release includes the following features:

  • AMD|Waterfall Feature
    • A brand new AMD-specific feature that reveals potential performance issues with regards to register indexing.
  • NonUniformResourceIndex Validation
    • Validation that descriptor indexing is uniform, or appropriately annotated with NonUniformResourceIndex.
  • Per-Texel/Byte Addressing for Initialization and Concurrency
    • Initialization and concurrency tracking now occurs on a per-texel/byte level for resources, greatly improving accuracy.
  • Placed resource validation
    • Validation that placed resources have been appropriately initialized before use.
  • Improved Loops TDR detection
    • No longer experimental, and features additional safe guarding against TDRs.
  • Multi Device/Process
    • Hook multiple graphical devices or entire process trees with ease.
  • Improved shader symbols
    • Includes SlimPDB support.
  • Mesh Shader Support
    • Full support for existing feature set against mesh shaders.
  • Many bug/stability/usability fixes
  • First public release
  • 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.

Related content

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.

Avalanche Studios Group and the Avalanche Studios Group logo are trademarks of the Avalanche Studios Group.

Our other tools

AMD Radeon GPU Detective logo

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

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.

AMD Radeon GPU Analyzer VS Code Extension

This is a Visual Studio® Code extension for Radeon GPU Analyzer (RGA) to allow you to use RGA directly from within VS Code.

AMD 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.

AMD OCAT

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™.

AMD Compressonator

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

Anti-Lag 2 SDK

AMD Radeon™ Anti-Lag 2 reduces the system latency by applying frame alignment between the CPU and GPU jobs.

AMD Capsaicin Framework

Capsaicin is a Direct3D12 framework for real-time graphics research which implements the GI-1.0 technique and a reference path-tracer.

AMD Render Pipeline Shaders (RPS) SDK

The Render Pipeline Shaders (RPS) SDK provides a framework for graphics engines to use Render Graphs with explicit APIs.

AMD Device Library eXtra

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.

AMD Brotli-G SDK

Brotli-G is an open-source compression/decompression standard for digital assets (based on Brotli) that is compatible with GPU hardware.

AMD HIP Ray Tracing

HIP RT is a ray tracing library for HIP, making it easy to write ray tracing applications in HIP.

AMD Orochi

Orochi is a library which loads HIP and CUDA® APIs dynamically, allowing the user to switch APIs at runtime.

AMD Radeon ProRender Developer Suite

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.

AMD Radeon ML

Radeon™ Machine Learning (Radeon™ ML or RML) is an AMD SDK for high-performance deep learning inference on GPUs.

AMD Radeon Image Filter

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.

AMD Advanced Media Framework

The Advanced Media Framework SDK provides developers with optimal access to AMD GPUs for multimedia processing.

AMD GPUOpen Direct3D12 Memory Allocator (D3D12MA)

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.