AI Infra Interviews logo
The GPU, in plain words · 77 terms · free to read

Understand the words.
Follow the work.

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.

Choose a thread to follow

A launch is software work. An SM is hardware.
A launch for 1,000 elements with 256 threads per block creates 1,024 logical threads. The final 24 skip the array access. Blocks can run in successive waves; this diagram does not imply four physical SMs or simultaneous execution.

Make the vocabulary do something

“Coalescing” becomes easier to remember when you can see which addresses a warp requests. Change the stride or alignment and watch the sector count.

Change one address pattern

Same 128 bytes. Different memory requests.

One warp has 32 active lanes. Each lane loads one four-byte value. The number in each cell is its requested 32-byte sector.

lane 00
lane 10
lane 20
lane 30
lane 40
lane 50
lane 60
lane 70
lane 81
lane 91
lane 101
lane 111
lane 121
lane 131
lane 141
lane 151
lane 162
lane 172
lane 182
lane 192
lane 202
lane 212
lane 222
lane 232
lane 243
lane 253
lane 263
lane 273
lane 283
lane 293
lane 303
lane 313
4sectors requested
128 Brequested sector bytes
128 Buseful payload
Teaching model: word address = offset + lane × stride; sector = floor(word address / 8). Requested sector bytes are not measured HBM traffic. Caches and reuse can change downstream transfers.
Predict it: does shifting contiguous loads by one word matter?

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 reference index

From the chip to the counter

Inside the GPU / 14

The physical units that execute work and hold data.

CUDA core Core · FP32 core

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 architecture

A 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 · HBM

GPU 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 cluster

Graphics 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 · L1TEX

The 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 cache

L2 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 LSU

A load/store unit handles memory instructions issued by GPU threads, connecting register operands with the relevant memory path.

Register file

The 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 SFU

A special function unit executes particular mathematical operations, such as supported approximations used in reciprocal, exponential or trigonometric calculations.

Streaming multiprocessor SM

A 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 accumulate

A 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 TMEM

Tensor 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 TMA

The 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 scheduler

A warp scheduler chooses an instruction from a ready resident warp and issues it to an available execution pipeline.

How work runs / 13

Threads, warps, blocks and the instructions they execute.

Compute capability SM target · sm_90 · sm_100

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 threads

The 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 Python

CUDA 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 grid

A 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 kernel

A 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 PTX

PTX 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 · Cubin

SASS 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 · Lane

A 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 array

A 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 · DSM

A 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 size

A 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 WGMMA

A 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 · Wave64

A wavefront is an AMD GPU group of work-items that execute instructions together. Its width depends on the architecture and execution mode.

Where values live / 5

Storage scope, caching and the lifetime of a value.

The software stack / 22

From the host driver to compilers, libraries and profilers.

cuBLAS BLAS · cuBLASLt

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 · nvdisasm

CUDA 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 · cuLaunchKernel

The 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 timing

A CUDA event marks progress in a stream and can be used for supported synchronization or device timing.

CUDA Graphs CUDA graph · Graph replay

A 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 platform

CUDA 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 · cudaLaunchKernel

The 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 Stream

A 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 library

cuDNN is NVIDIA’s library for supported deep-learning operations, including convolution, attention and graph-based operation combinations.

CUPTI CUDA Profiling Tools Interface

CUPTI is NVIDIA’s interface for building tools that observe CUDA activity, API calls and supported performance information.

CuTe CuTe layouts

CuTe is a layout and tensor abstraction used in CUTLASS to describe how multidimensional coordinates map to data and execution resources.

CuTe DSL CUTLASS Python DSL

CuTe 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 Subroutines

CUTLASS is NVIDIA’s collection of building blocks and examples for constructing high-performance matrix and related GPU kernels.

Nsight Compute ncu

Nsight Compute is a kernel profiler that collects supported GPU counters and relates them to source, native instructions and resource limits.

Nsight Systems nsys

Nsight Systems is a timeline profiler for investigating how CPU activity, GPU work and transfers interact across an application.

nvcc NVIDIA CUDA compiler driver

nvcc 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 module

The 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.so

NVML 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 Interface

nvidia-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 Compilation

NVRTC 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 language

Triton is a language and compiler for writing GPU kernels using blocks of values and compiler-managed mapping to execution resources.

Reading performance / 23

The counters, limits and access patterns behind a slow kernel.

Active cycle Elapsed cycles · Active cycles

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 byte

Arithmetic intensity is the number of arithmetic operations performed per byte transferred across a specified memory boundary.

Arithmetic throughput Arithmetic bandwidth · FLOP/s · TFLOP/s

Arithmetic 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 branch

Branch 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-bound

A 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 active

Issue 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 parallelism

Latency hiding keeps an execution resource productive by doing independent work while another operation waits for its result.

Little’s law Little law · Concurrency bandwidth latency

Little’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 bandwidth

Memory 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 sectors

Memory 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 bound

A 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 occupancy

Occupancy 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 overhead

Overhead 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 theoretical

A 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 Bottleneck

A performance bottleneck is a resource or dependency that limits progress for the workload and interval being measured.

Pipeline utilization Pipe utilization · Execution pipeline

Pipeline utilization describes activity or throughput on a particular execution pipeline, under the profiler’s specified normalization.

Register pressure Live registers · Register limit

Register 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 point

The 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 scoreboard

A 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 padding

A 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 utilization

SM 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 mask

Warp 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 warp

A 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.

Keep a reference beside your work

AI Infra Glossary: the illustrated edition

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.

Explore the guide and three sample pages →