GPU I/O(1) β RDMA/GDS
π Understanding GPU-Centric Data Movement
βThe fastest GPU is useless if data cannot reach it efficiently.β
This post traces the evolution of GPU data movement layers and explains how modern architectures minimize CPU involvement using RDMA, GPUDirect, and GDS.
β GPU Data Movement Layer History
Early GPU workloads were dominated by CPU-centric data paths:
1
Storage β CPU Memory β GPU Memory
This model introduced:
- Redundant memory copies
- CPU interrupts
- Cache pollution
- Latency amplification
To remove these bottlenecks, data movement evolved across three major axes:
Figure 1. GPU Data Movement History.
- RDMA (1999+)
- NIC β Host Memory
- Zero-copy across hosts
- GPUDirect RDMA (2012+)
- NIC β GPU Memory
- GPU-visible memory mapping
- GDS (2020+)
- NVMe β GPU Memory
- Storage bypasses CPU entirely
Each layer progressively removes the CPU from the data path.
β‘ GPU Data Movement Architecture
Modern GPU data movement is built on DMA-capable endpoints:
- GPU
- NIC
- NVMe SSD
All of them can act as bus masters on PCIe.
Core Principle
If two devices can perform DMA and share addressability, the CPU does not need to touch the data.
Unified View (Local + Remote)
1
2
GPU Memory β NIC β Network β NIC β GPU Memory
GPU Memory β NVMe (PCIe DMA)
The CPUβs role is reduced to:
- Queue setup
- Descriptor submission
- Control-plane orchestration
No payload data passes through CPU caches.
β’ GDS Data Movement (Local)
GPUDirect Storage (GDS) enables direct data transfer:
Figure 2. GPU Local Data Movement.
1
Local NVMe SSD β GPU Memory
Without GDS
1
NVMe β System Memory β GPU Memory
- 2 DMA hops
- CPU page cache involvement
- Higher latency
With GDS
1
NVMe ββDMAβββΆ GPU Memory
Characteristics:
- Single DMA operation
- No CPU copy
- No cache pollution
- Deterministic latency
GDS treats GPU memory as a first-class I/O target.
β£ Remote GDS Data Movement
Remote GDS extends the same principle across hosts.
Figure 3. GPU Remote Data Movement.
Data Path
1
2
3
4
5
Remote NVMe
β Remote NIC
β RDMA Fabric
β Local NIC
β GPU Memory
Key technologies involved:
- NVMe-oF (RDMA)
- GPUDirect RDMA
- GDS
β€ TL;DR
- RDMA removed CPU from network data paths
- GPUDirect RDMA extended RDMA to GPU memory
- GDS removed CPU from storage I/O
- Remote GDS combines both:
- NVMe-oF + RDMA + GDS
- GPU β Storage, end-to-end, zero-copy