GPU Architecture · Reference

GPU Architecture & CUDA Resources

Curated, verified sources for this course. The lessons draw their facts from here — not from guesses.

How to read this

Tags mark the kind of source: official NVIDIA docs/whitepapers · book / course · paper measured microbenchmarks · community · in workspace a reference card living beside these lessons. Start with the Programming Guide and the "best first whitepaper," then follow the thread your question needs.

Knowledge

Primary reference — the CUDA logical model

NVIDIA CUDA C++ Programming Guideofficial

The ground-truth spec: kernels, threads, blocks, grids, warps, the SIMT model, and the full memory-space taxonomy. The "Programming Model" and "Hardware Implementation" chapters are the block→SM / warp→scheduler mapping. Reach for it when precise semantics matter.

NVIDIA CUDA C++ Best Practices Guideofficial

The "why it's slow" companion — coalescing, occupancy, shared-memory bank conflicts. Reach for it after the Programming Guide.

Physical architecture — NVIDIA whitepapers

Ampere GA102 Architecture Whitepaperofficial

Best first whitepaper. The most accessible, diagram-heavy explanation of CUDA cores / SM sub-partitions / warp schedulers (RTX 30-series, consumer).

A100 (Ampere GA100) Datacenter Whitepaperofficial

Datacenter Ampere deep dive: SM layout, Tensor Cores, 40 MB L2, HBM2e.

Hopper (H100) Architecture In-Depthofficial

Hopper SM, thread-block clusters, TMA, HBM3. The un-gated equivalent of the H100 whitepaper.

Fermi Compute Architecture Whitepaperofficial

Where the GigaThread engine / global work-distribution engine and host interface are named (Lesson 7). Older, but the clearest statement of the two-level scheduler.

The textbook & lecture series

Programming Massively Parallel Processors, 4th ed.book

Hwu, Kirk, El Hajj (Morgan Kaufmann, ISBN 9780323912310). The single best linear read for a strong programmer new to GPUs — teaches architecture and the CUDA model together, and how they map.

UIUC ECE408 "Applied Parallel Programming" — Hwucourse

The lecture counterpart to PMPP, taught by its author. Video playlist →

Execution & operations — launch path, tooling (Lessons 7–10)

CUDA Compiler Driver NVCCofficial

The two-path compilation trajectory, PTX vs cubin, -arch/-gencode, JIT. Ground truth for "what nvcc produces."

CUDA Binary Utilitiesofficial

cuobjdump/nvdisasm, cubin ELF sections, disassembly. Use it to see the SASS/PTX/metadata embedded in your binary.

CUDA Driver vs Runtime APIofficial

Contexts, primary-context lazy init, module management — the layering under libcudart.

Nsight Compute Profiling Guideofficial

Per-kernel HW-counter profiling, kernel replay, warp-stall reasons, roofline. Reach for it to answer "why is this kernel slow." Timeline sibling: Nsight Systems, built on CUPTI.

Compute Sanitizerofficial

memcheck/racecheck/initcheck/synccheck — the correctness guardrail (replaces the removed cuda-memcheck).

CUDA on WSL User Guideofficial

The WSL2 GPU path (stub libcuda.so/dev/dxgdxgkrnl → VM bus → Windows driver). Directly relevant to this machine. Companion: Microsoft's "DirectX ❤ Linux."

MPS · MIG · CUDA Graphsofficial

Multi-tenancy & launch-overhead amortization (Lesson 9): MPS, MIG User Guide (datacenter-only, not GeForce), Getting Started with CUDA Graphs.

open-gpu-doc & open-gpu-kernel-modulesofficial

The pushbuffer / GPFIFO / doorbell mechanics — documented in NVIDIA's open sources (not the CUDA guide). open-gpu-kernel-modules →

Quick-reference glossary (physical ↔ logical bridge)

Modal GPU Glossarycommunity

Hyperlinked glossary split into Device Hardware / Device Software / Performance — its whole purpose is mapping hardware terms to CUDA software terms. Excellent quick lookup.

Measured hardware numbers (latencies, cache sizes)

Dissecting the NVIDIA Blackwell Architecture with Microbenchmarkspaper

Peer-style pointer-chase studies measuring real latency/bandwidth at each memory level. Use for defensible cycle-latency and cache-size numbers when NVIDIA doesn't publish them. Companions: Hopper · Volta.

Exceptional blog explainer (feel the memory hierarchy)

How to Optimize a CUDA Matmul Kernel — Simon Boehmworklog

Ten iterative kernels, naive → ~94% of cuBLAS, each step teaching one hardware truth. Reach for it once the basics click and you want to feel how memory drives performance — this is the next hands-on for this course. code →

In-workspace reference cards

The reference layer living beside the ten lessons — open these locally.

Glossaryin workspace

Canonical nomenclature across all three axes (physical / logical / operational), one section per lesson.

CUDA Tools & Further Readingin workspace

Every tool the course touched plus the wider ecosystem (compile, inspect, profile, debug, monitor) — each with its data source, an example, and the best article — then end-to-end scenario tutorials. Verified against CUDA 13.3; deprecations flagged.

NVIDIA Datacenter GPU Generationsin workspace

Pascal through Rubin — key differences per generation, the one reason each is worth its price premium, concrete products (V100/A100/H100/B200), the mapping to GeForce cards, and the $/token economics. Dense-vs-sparse and per-die-vs-per-rack traps flagged.

AMD vs NVIDIAin workspace

What of the course transfers to AMD hardware, what is only renamed, and the five real architectural divergences. Vocabulary map, lesson-by-lesson audit, tool equivalents, porting hazards, and AMD's primary documents.

Register File & Occupancyin workspace

Register-file numbers, occupancy budgets, and the two-budget rule.

Dev Environment Setupin workspace

WSL2 CUDA toolchain setup, no Visual Studio required.

Wisdom — communities

GPU MODE — Discordcommunity

The center of gravity for serious GPU/CUDA learners (PyTorch orbit) — lectures, reading groups, a kernel-benchmark bot. Best place to test understanding against practitioners. talks → · resources →

NVIDIA Developer Forums — CUDA Programming & Performancecommunity

Official NVIDIA-run Q&A, often answered by staff. For precise, hardware-specific questions.

r/CUDAcommunity

General CUDA discussion and beginner questions.

⌂ Home Glossary →