4.14 Testing storage
gdscheck and gdsio: verifying the GDS platform and measuring the data path.
Key points
gdsio is the storage benchmark that ships with GDS. -x picks the transfer type. 0 is GDS. 1 is storage to CPU. 2 goes through the CPU to the GPU. Comparing 0 and 2 shows what GDS gains.
What NVIDIA says (2)
“xfer_type : 0 - Storage -> GPU ( GDS ) 1 - Storage -> CPU 2 - Storage -> CPU -> GPU”
“-x 0 , the IO data path, in this case GDS.”
A storage test needs enough parallel load and enough time to reach steady state. -w sets the number of IO threads. -T sets the duration in seconds. -i sets the IO size, which matters for throughput.
What NVIDIA says (3)
“-w 8 , 8 workers (8 IO threads)”
“-T 120 , runs for 120 seconds.”
“-i 1M , IO size (important for assessing throughput).”
gdscheck is the GDS platform check tool. With -p it reports items such as IOMMU state and ACS on PCI switches.
What NVIDIA says (2)
“using gdscheck you should see the following output if the IOMMU is disabled on the system:”
“Platform verification succeeded”
Key terms
- GPUDirect Storage: A direct data path between storage and GPU memory that bypasses a CPU bounce buffer.
- gdsio: The GDS benchmarking tool; -x picks the data path, -w the worker count and -T the run time.
Try it
Sample question
In gdsio, what does -x 0 select?
Show the answer
Answer: The GDS path: storage straight to GPU.
gdsio is the storage benchmark that ships with GDS. -x picks the transfer type. 0 is GDS. 1 is storage to CPU. 2 goes through the CPU to the GPU. Comparing 0 and 2 shows what GDS gains.
What NVIDIA says (2)
“xfer_type : 0 - Storage -> GPU ( GDS ) 1 - Storage -> CPU 2 - Storage -> CPU -> GPU”
“-x 0 , the IO data path, in this case GDS.”
Practice 4.14 (3 questions) Full Cluster Test and Verification guide