Start with one kernel
Follow a launch from software work to the chip that runs it.
A warp waiting for a load. A tile moving through memory. A profiler percentage with the wrong denominator. Learn what the terms mean, then use them to explain what a GPU is doing.
Start with a reading path or look up a term. Each entry includes an example, a common source of confusion, primary references and a route into deeper study. NVIDIA terminology is the main focus; architecture-specific claims say where they apply.
Follow a launch from software work to the chip that runs it.
Separate requested bytes from the traffic that reaches memory.
Put a scope and a denominator on every percentage.
“Coalescing” becomes easier to remember when you can see which addresses a warp requests. Change the stride or alignment and watch the sector count.
One warp has 32 active lanes. Each lane loads one four-byte value. The number in each cell is its requested 32-byte sector.
Yes. Aligned contiguous loads span four sectors; shifting the start by one word spans five. The useful payload remains 128 bytes, while requested sector bytes rise from 128 to 160.
Read the coalescing entry → · Try shared-memory bank mapping →
The physical units that execute work and hold data.
A CUDA core is an arithmetic execution lane in an NVIDIA streaming multiprocessor. The label commonly counts floating-point arithmetic capacity; it does not describe an independent CPU-like processor.
GPU architecture CUDA device architecture · SM architectureA GPU architecture describes the execution units, memory paths and instructions a family of processors provides. CUDA is the programming platform through which software uses supported NVIDIA devices.
GPU device memory GPU RAM · VRAM · HBMGPU device memory stores allocations such as model weights, activations and output buffers. HBM and GDDR are memory technologies used by different GPU products.
GPU processing clusters GPC · TPC · Graphics processing clusterGraphics processing clusters and texture processing clusters are physical groupings of resources inside NVIDIA GPUs. They sit above individual streaming multiprocessors in architecture diagrams.
L1 data cache L1 · L1TEXThe L1 data cache is an on-SM cache that can satisfy supported memory requests without fetching the data again from a more distant cache or device memory.
L2 cache Last-level cacheL2 is a cache shared across the GPU that sits between SM memory requests and device memory. Its capacity and bandwidth affect how much traffic reaches DRAM.
Load/store unit LSUA load/store unit handles memory instructions issued by GPU threads, connecting register operands with the relevant memory path.
Register fileThe register file is the SM storage backing thread register values. Its finite capacity limits how much thread state can remain resident at once.
Special function unit SFUA special function unit executes particular mathematical operations, such as supported approximations used in reciprocal, exponential or trigonometric calculations.
Streaming multiprocessor SMA streaming multiprocessor is the NVIDIA GPU unit that keeps thread blocks resident and executes their warps. It contains schedulers, registers, arithmetic pipelines and on-chip memory resources.
Tensor Core MMA · Matrix multiply accumulateA Tensor Core is an NVIDIA execution unit for supported matrix multiply-accumulate operations. It computes small matrix products that software combines into larger operations.
Tensor Memory TMEMTensor Memory is specialized on-SM storage used by supported Blackwell tensor instructions, including their matrix accumulators. It is distinct from ordinary thread registers, shared memory and device DRAM.
Tensor Memory Accelerator TMAThe Tensor Memory Accelerator is an asynchronous data-movement facility introduced with NVIDIA Hopper. It moves tensor regions between global and shared memory without routing every element through a thread register.
Warp schedulerA warp scheduler chooses an instruction from a ready resident warp and issues it to an available execution pipeline.
Threads, warps, blocks and the instructions they execute.
Compute capability identifies a set of NVIDIA GPU hardware features and limits. Compilers use targets such as sm_90 to generate suitable native device code.
CUDA programming model SIMT · Single instruction multiple threadsThe CUDA SIMT programming model expresses a kernel as many threads organized into blocks and a grid. Each thread has its own state and can take its own control-flow path.
CUDA Tile Tile IR · cuTile · cuTile PythonCUDA Tile is a programming model that expresses computation over tiles of values. Its compiler maps tile operations onto supported NVIDIA execution and memory resources.
Grid Thread block grid · Launch gridA grid is the collection of thread blocks created by one CUDA kernel launch. Its dimensions describe how much block-level work the launch supplies.
Kernel GPU kernelA GPU kernel is a function launched to execute work on the device. In CUDA SIMT, many threads execute that function with different indices.
Parallel Thread Execution PTXPTX is NVIDIA’s virtual instruction-set representation for device code. It describes operations and execution semantics before final lowering to a particular GPU’s machine instructions.
SASS Streaming assembler · Native GPU assembly · CubinSASS is the commonly used name for NVIDIA’s native GPU assembly. A cubin stores executable device code and metadata for a particular target.
Thread CUDA thread · LaneA CUDA thread is one logical execution of a kernel, with its own index, register values and control-flow state.
Thread block Block · CTA · Cooperative thread arrayA thread block is a group of CUDA threads that can share block-scoped memory and synchronize together. PTX commonly calls it a cooperative thread array, or CTA.
Thread-block cluster Distributed shared memory · DSMA thread-block cluster is an optional CUDA cooperation scope introduced with Hopper. Supported launches group blocks that can coordinate and access one another’s shared memory within the cluster.
Warp Warp sizeA warp is a group of 32 NVIDIA CUDA threads through which the hardware issues instructions. An instruction may act on fewer than 32 lanes when some threads are inactive.
Warpgroup WGMMAA warpgroup is a cooperating group of four consecutive warps, used by particular NVIDIA instructions such as Hopper warpgroup matrix multiply-accumulate.
Wavefront AMD wave · Wave32 · Wave64A wavefront is an AMD GPU group of work-items that execute instructions together. Its width depends on the architecture and execution mode.
Storage scope, caching and the lifetime of a value.
Global memory is the CUDA address space through which threads access data with device-wide visibility and allocation lifetime beyond one block.
GPU memory hierarchy Memory spacesThe GPU memory hierarchy combines thread registers, shared memory, caches and device memory. These levels differ in scope, capacity, latency and how software controls them.
Local memory Register spill · Spill memoryCUDA local memory is a thread-private address space whose storage is backed by device memory and caches. Despite its name, it is not the fast on-chip shared-memory region.
Registers Thread registersRegisters hold values used by an individual GPU thread, such as loop indices, addresses and partial sums. They are backed by a finite register file on the SM.
Shared memory SMEMShared memory is programmer-managed on-chip storage that cooperating threads in a block can use to exchange and reuse values.
From the host driver to compilers, libraries and profilers.
cuBLAS is NVIDIA’s library of GPU linear-algebra routines. cuBLASLt offers additional controls for supported matrix multiplications, including layouts, algorithm selection and fused epilogues.
CUDA Binary Utilities cuobjdump · nvdisasmCUDA Binary Utilities inspect compiled device-code artifacts. cuobjdump can extract or display device information embedded in executables; nvdisasm disassembles supported cubins.
CUDA C++ CUDA C · CUDA C/C++CUDA C++ extends C++ with facilities for defining device functions, launching kernels and managing GPU execution. It exposes the SIMT thread, block and grid model.
CUDA Driver API libcuda.so · cuLaunchKernelThe CUDA Driver API is a lower-level interface for device contexts, modules, memory and kernel launches. On Linux, its implementation is exposed through libcuda.so.
CUDA event Event timingA CUDA event marks progress in a stream and can be used for supported synchronization or device timing.
CUDA Graphs CUDA graph · Graph replayA CUDA graph describes a collection of operations and their dependencies so a prepared executable graph can be launched repeatedly with less host submission work.
CUDA platform CUDA toolkit · CUDA software platformCUDA is NVIDIA’s GPU computing platform, including programming interfaces, compilers, libraries and development tools. The toolkit is a distribution of development components; the GPU driver is a separate part of the installed stack.
CUDA Runtime API libcudart.so · cudaMalloc · cudaLaunchKernelThe CUDA Runtime API supplies common application operations such as allocation, copies, stream management and kernel launch support. Its shared-library form on Linux is libcudart.so.
CUDA stream StreamA CUDA stream is an ordered queue of device work. Operations in one stream observe its ordering rules, while separate streams can express work that may overlap.
cuDNN CUDA Deep Neural Network librarycuDNN is NVIDIA’s library for supported deep-learning operations, including convolution, attention and graph-based operation combinations.
CUPTI CUDA Profiling Tools InterfaceCUPTI is NVIDIA’s interface for building tools that observe CUDA activity, API calls and supported performance information.
CuTe CuTe layoutsCuTe is a layout and tensor abstraction used in CUTLASS to describe how multidimensional coordinates map to data and execution resources.
CuTe DSL CUTLASS Python DSLCuTe DSL provides a Python-based way to express supported CuTe and CUTLASS kernel constructions that compile to GPU code.
CUTLASS CUDA Templates for Linear Algebra SubroutinesCUTLASS is NVIDIA’s collection of building blocks and examples for constructing high-performance matrix and related GPU kernels.
Nsight Compute ncuNsight Compute is a kernel profiler that collects supported GPU counters and relates them to source, native instructions and resource limits.
Nsight Systems nsysNsight Systems is a timeline profiler for investigating how CPU activity, GPU work and transfers interact across an application.
nvcc NVIDIA CUDA compiler drivernvcc is the CUDA compiler driver that coordinates compilation of CUDA C++ host and device code. It invokes multiple compilation stages rather than being a single device-code transformation.
NVIDIA GPU driver nvidia.ko · Kernel moduleThe NVIDIA GPU driver provides the operating-system and user-space components that let applications manage and execute work on supported GPUs.
NVIDIA Management Library NVML · libnvidia-ml.so · libnvml.soNVML is NVIDIA’s management and monitoring API for supported devices. It exposes information such as device identity, memory use, utilization and power under the platform’s permissions and capabilities.
nvidia-smi NVIDIA System Management Interfacenvidia-smi is NVIDIA’s command-line management and monitoring utility, built on NVML. It reports device state and exposes supported administrative operations.
NVRTC NVIDIA Runtime CompilationNVRTC is a library for compiling CUDA C++ device source at runtime. Applications can use it to specialize kernels for shapes or types discovered while running.
Triton Triton languageTriton is a language and compiler for writing GPU kernels using blocks of values and compiler-managed mapping to execution resources.
The counters, limits and access patterns behind a slow kernel.
An active cycle is a cycle classified as active for a named unit and metric. Elapsed cycles count the broader measurement interval, including its inactive time.
Arithmetic intensity Operational intensity · FLOP per byteArithmetic intensity is the number of arithmetic operations performed per byte transferred across a specified memory boundary.
Arithmetic throughput Arithmetic bandwidth · FLOP/s · TFLOP/sArithmetic throughput is the rate of arithmetic operations, commonly expressed as floating-point operations per second. Its interpretation depends on the operation and numerical format.
Branch efficiency Uniform branchBranch efficiency describes how uniformly threads take branch paths under a particular tool’s branch-counting convention. It is a control-flow statistic, not overall GPU efficiency.
Compute-bound Arithmetic-boundA compute-bound workload is limited by the rate at which the relevant arithmetic work can execute, under the current input and implementation.
Issue efficiency Issue activeIssue efficiency describes how often a scheduler issues work relative to the issue opportunities being counted. It must be interpreted with the metric’s cycle and scheduler scope.
Latency hiding Instruction-level parallelism · Thread-level parallelismLatency hiding keeps an execution resource productive by doing independent work while another operation waits for its result.
Little’s law Little law · Concurrency bandwidth latencyLittle’s law relates average items in a stable system to average arrival rate and average time spent there: L = λW.
Memory bandwidth HBM bandwidth · DRAM bandwidthMemory bandwidth is the rate at which bytes cross a particular memory interface. A specification gives a peak; a benchmark or profiler gives a rate under stated conditions.
Memory coalescing Coalesced access · Memory sectorsMemory coalescing combines the byte addresses requested by active lanes of a warp instruction into the memory sectors needed to serve them.
Memory-bound Bandwidth-bound · Memory latency boundA memory-bound workload makes progress at a rate limited by its memory accesses. The cause can be transfer bandwidth, dependency latency or another constrained part of the memory path.
Occupancy Achieved occupancy · Theoretical occupancyOccupancy is resident warps divided by the device’s supported resident-warp limit at the stated scope. It measures available thread state, not useful arithmetic throughput.
Overhead Launch overhead · Dispatch overheadOverhead is time or work spent supporting a computation rather than performing the particular useful operation being counted. Its meaning depends on the measurement boundary.
Peak rate Peak sustained · Peak theoreticalA peak rate is a reference maximum for a specified resource, operation and operating assumption. It is the denominator of many relative-throughput metrics.
Performance bottleneck BottleneckA performance bottleneck is a resource or dependency that limits progress for the workload and interval being measured.
Pipeline utilization Pipe utilization · Execution pipelinePipeline utilization describes activity or throughput on a particular execution pipeline, under the profiler’s specified normalization.
Register pressure Live registers · Register limitRegister pressure is the demand created by values that must remain live in registers at the same time. It influences resource allocation and possible spills.
Roofline model Ridge pointThe roofline model bounds arithmetic throughput using the smaller of a compute ceiling and a bandwidth ceiling multiplied by arithmetic intensity.
Scoreboard stall Long scoreboard · Short scoreboardA scoreboard stall occurs when a warp cannot issue its next instruction because a tracked dependency has not completed.
Shared-memory bank conflict Bank conflict · Shared memory paddingA bank conflict occurs when a shared-memory instruction requests different addresses that the hardware must serve through the same bank, requiring additional service steps.
SM utilization Streaming multiprocessor utilization · GPU utilizationSM utilization is an ambiguous label unless the tool and counter are named. Device activity, resident warps and execution-pipeline throughput measure different properties.
Warp divergence Divergent branch · Active maskWarp divergence occurs when threads in the same warp need different control-flow paths. Instructions for those paths may execute with different subsets of lanes active.
Warp execution state Resident warp · Active warp · Eligible warpA resident warp holds execution state on an SM. An eligible warp has an instruction ready to issue. An issued warp is one selected by the scheduler at that issue opportunity.
The Premium PDF brings these 77 entries together with 33 systems terms, nine illustrated worked cases and a linked alphabetical index. Follow the vocabulary from GPU kernels to networking, training, serving and reliability.