GPU buffers and transfer cost

15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.

Discrete GPUs often have device memory separate from host RAM. Uploads, downloads, launch overhead, and synchronization can dominate a small kernel. Unified memory changes the API but does not make movement free. Pinned host memory is a limited resource. The sample uses explicitly hypothetical timings; it illustrates accounting, not hardware performance.

Practice and evidence: Predict the example or draw its state transitions. Change one assumption, test the boundary, and record the actual result. Explain what this small model does not establish about a production system.

cpu_ms=8
upload_ms,kernel_ms,download_ms=5,2,4
print("Hypothetical GPU total:",upload_ms+kernel_ms+download_ms)
print("Hypothetical CPU total:",cpu_ms)

Expected result: Hypothetical GPU total: 11 Hypothetical CPU total: 8

Practice and evidence

Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.

Language reference: git.agilaos.com

Language reference: docs.nvidia.com