AMD GPU-Initiated I/O
- Auto-discovered
Abdelhadi
Visit resource ↗Description
AMD GPU-Initiated I/O is a March 2026 systems blog post by Abdelhadi exploring direct AMD GPU to NVMe communication instead of CPU-driven storage I/O.
It explains NVMe queues and doorbells, then builds NVMe DMA into VRAM via DMA-BUF and IOMMUFD, plus GPU access to NVMe BAR0 exported through VFIO. The write covers AMDGPU PAL mapping patches, an Identify proof of concept, and HSA interop quirks for non-GPU DMA-BUFs.
It is for advanced Linux GPU and storage programmers familiar with PCIe, IOMMU, VFIO, and AMDGPU concepts.
The post is free HTML with code excerpts on work-in-progress kernels, not a finished product release.
It is useful for mapping the plumbing still required for GPU-initiated NVMe on AMD hardware.
Related resources
- Drawing Thousands of Meshes with DrawMeshInstanced / Indirect (Toqoz)
Toqoz's November 2019 toqoz.fyi post walks through drawing very large mesh counts in Unity with Graphics.DrawMeshInstanced and Graphics.DrawMeshInstancedIndirect, with C# samples,
100% match · <code><advanced><blog><access><covers><cpu><direct><free> - GPU view-adaptive crack-free subdivision of Bézier surfaces
AMD GPUOpen article summarizing a Eurographics Symposium on Rendering 2026 paper on view-adaptive, crack-free subdivision of bicubic Bézier patches with GPU work graphs.
100% match · <code><advanced><blog><amd><explains><free><gpu><hardware> - meshoptimizer - v1.2
meshoptimizer - v1.2 is an open-source library / codebase hosted on GitHub. meshoptimizer v1.2 release notes introducing experimental MikkTSpace-based tangent frame generation,…
100% match · <code><optimization><advanced><amd><covers><programmers><release><useful> - Writing GPU shaders in plain Rust (Firestar99 - Sebastian Sydow at RustWeek)
Writing GPU shaders in plain Rust (Firestar99 - Sebastian Sydow at RustWeek) is a recorded talk by Sebastian Sydow, presented at RustNL. RustWeek 2026 talk by Sebastian Sydow…
100% match · <code><advanced><covers><cpu><free><gpu><post><programmers> - Computing Camera Rays
Computing Camera Rays is a technical blog article by Christoph Peters. Blog post deriving camera-ray origin, direction, and far-plane length from a world-to-clip matrix so…
100% match · <code><advanced><blog><explains><free><html><post><programmers> - New AMD Radeon Developer Tool Suite update brings shader source code, Extended PIX Markers, and command-line capture
New AMD Radeon Developer Tool Suite update brings shader source code, Extended PIX Markers, and command-line capture is a technical blog article by Chris Hesik. AMD GPUOpen…
100% match · <optimization><blog><amd><free><html><post><programmers><release> - Why does ASTC use ISE when almost nothing else does?
Why does ASTC use ISE when almost nothing else does? is a technical blog article by Fabian Giesen. Technical blog explaining ASTC integer sequence encoding (trits and quints)…
100% match · <code><advanced><blog><familiar><free><html><post><programmers> - Implicit Surface rendering for CAD
Implicit Surface rendering for CAD is a technical blog article by Francis Le Roy. Long-form blog on interactively rendering arbitrary implicit surfaces in a CAD prototype…
100% match · <code><advanced><blog><cpu><exploring><free><gpu><html> - Revealing NVIDIA Closed-Source Driver Command Streams for CPU-GPU Runtime Behavior Insight
Revealing NVIDIA Closed-Source Driver Command Streams for CPU-GPU Runtime Behavior Insight recovers hardware command streams from NVIDIA's closed-source userspace driver by…
100% match · <code><optimization><advanced><cpu><dma><gpu><hardware><mapping> - An Experimental Approach to printf in HLSL
An Experimental Approach to printf in HLSL is a December 2025 technical post by Chris Bieneman describing a holiday prototype for GPU-side printf in HLSL. It covers GPU string…
100% match · <code><advanced><blog><covers><free><gpu><html><plus> - Realtime Raytracing in Bevy 0.18 (Solari)
Realtime Raytracing in Bevy 0.18 (Solari) is a December 2025 development post by jms55 on quality and performance work for Solari, Bevy's dynamic ray-traced lighting path planned…
100% match · <code><optimization><advanced><blog><excerpts><free><html><post> - No Graphics API
No Graphics API is a December 2025 long-form essay by Sebastian Aaltonen arguing that modern bindless GPUs no longer need the retained-mode complexity of DirectX 12, Vulkan, and…
100% match · <code><optimization><advanced><blog><concepts><free><gpu><hardware> - Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float
Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float is a December 2025 deep dive by Adam Sawicki on how ID3D12GraphicsCommandList clear-UAV helpers fill…
100% match · <code><advanced><blog><access><amd><covers><cpu><free> - Focus on Your Algorithm—NVIDIA CUDA Tile Handles the Hardware
This is an NVIDIA developer blog by Jonathan Bentz and Tony Scudiero introducing CUDA Tile in CUDA 13.1 as a virtual instruction set for tile-based GPU programming that abstracts…
100% match · <code><blog><advanced><covers><free><gpu><hardware><kernels> - VK_EXT_present_timing: the Journey to State-of-the-Art Frame Pacing in Vulkan
This is a Khronos blog post by NVIDIA driver engineer Lionel Duc on VK_EXT_present_timing and bringing time-based frame pacing to Vulkan swapchains. It covers limits of opaque…
100% match · <code><optimization><advanced><blog><covers><cpu><familiar><free> - Minimalist ray-tracing leveraging only acceleration structures
This is an AnKi 3D Engine blog post by Panagiotis Christopoulos Charitos on a lightweight potato-mode ray-tracing path using only acceleration structures and ray queries instead…
100% match · <code><advanced><blog><covers><familiar><free><hardware><instead> - AMD GPU Debugger
AMD GPU Debugger is a December 2025 technical blog post by Abdelhadi on building an AMD GPU debugger outside ROCm, inspired by Marcell Kiss and limited tools such as rocgdb. It…
100% match · <code><optimization><advanced><blog><abdelhadi><amd><amdgpu><concepts> - Better sRGB to greyscale conversion
Better sRGB to greyscale conversion is an October 2025 technical blog post on 30fps.net about converting gamma-encoded sRGB to greyscale without misusing Rec.
100% match · <blog><covers><free><post><programmers><still><useful><via> - WebGPU and the price of compiling WGSL
WebGPU and the price of compiling WGSL is a blog post by Hugo Daniel introducing a WebGPU diagnostics and compilation-benchmark tool after earlier posts on WGSL limits. It…
100% match · <code><blog><covers><free><gpu><html><post><useful> - SIGGRAPH 2025 Materials Now Available: Recordings and Resources from Our Events
SIGGRAPH 2025 Materials Now Available: Recordings and Resources from Our Events is a Slang project blog post by Shannon Woods announcing public recordings and downloads from…
100% match · <code><blog><access><advanced><covers><free><post><programmers>