A cross-vendor GPU engineering course and laboratory: Metal for Apple silicon, CUDA for NVIDIA, ROCm/HIP for AMD, and Vulkan for everything else. Forty chapters, a Virtual GPU Lab that compiles and executes kernels in your browser, and a bridge that runs the same kernel on real silicon. The working prototypes exist. They're being packaged for the web, and this page will host the live demos.
Write a kernel in the browser, compile it, and execute it against a simulated GPU, with the memory layout, warps, and occupancy visualized as it runs. No drivers, no install: the whole lab is plain HTML/CSS/JS.
prototype workingThe same kernel you wrote in the lab, compiled and executed on physical NVIDIA and AMD hardware, with results cross-verified identical across the Metal, CUDA, ROCm, and Vulkan engines. Runs locally; your silicon never talks to a server.
prototype working (localhost)Orbit, explode, and click through 3D models of an Apple UMA package and a discrete CPU + GPU board: dies, clusters, memory stacks, VRM and PCIe edges. Every part labelled, with provenance tiers. Drag in your own .glb to inspect it.
prototype workingStep through RDNA microcode formats (VOP, SOP, SMEM, DS, MIMG), decode S_WAITCNT's SIMM16 encoding, and watch DPP divergence mechanics, then disassemble one of your own kernels on the ROCm track.
in developmentTwelve units on how LLM inference engines actually work: the decode budget and KV-cache arithmetic, kernel inventories, sampling math, continuous batching, paged KV, speculative decoding, each with interactive visualizations.
in developmentMetal (MSL, TBDR, metal-cpp, Metal 4 tensors), CUDA (PTX/SASS, tensor cores by hand, async pipelines, FlashAttention), ROCm/HIP (a porting ladder from saxpy to tiled GEMM), and Vulkan (explicit sync and the barrier model), each with quizzes and a final exam.
in development