Where does the time go?
Python overhead → launch queue → command processor → SMs. CPU-bound or GPU-bound is a timeline question.
An interactive map of everything between a Python call and a tensor core.
The LLM Atlas explains the model. This one explains what it runs on: the application layer and the GIL, PyTorch dispatch and the CUDA runtime, the OS kernel, hypervisors and containers, CPU cores and caches, GPU streaming multiprocessors, warps and tensor cores, the CUDA kernels themselves, and the PCIe, NVLink and RDMA fabric that ties it together. Built for people who work on top of LLMs and want a software/hardware co-design mental model.
Linux and NVIDIA GPUs are the reference stack. Numbers are labelled examples (H100 SXM, PCIe 5.0) and vary by generation and vendor.
Eight layers are shown as stacked plates carrying labelled components: application layer on top, GPU runtime, OS kernel, VMs and containers, CPU and host memory, GPU hardware, GPU kernel code and interconnect. Selecting a component opens its inspector.
Microscope
Each panel is a working model or calculator, not a screenshot. They run entirely in your browser; the numbers are illustrative defaults you can change.
Overview
Python overhead → launch queue → command processor → SMs. CPU-bound or GPU-bound is a timeline question.
Page cache → pinned buffers → DMA over PCIe → HBM → L2 → shared memory → registers. Every hop has a bandwidth and a latency.
GIL → OS scheduler → cores and SMT → warp schedulers. Concurrency on the host, SIMT parallelism on the device.
Sources
Vendor documentation, kernel documentation, textbooks and papers used for the technical facts in this atlas. Components cite them individually in the inspector.