What is a Warp Scheduler?
The Warp Scheduler is the part of a Streaming Multiprocessor that decides, on every clock cycle, which warp gets to issue its next instruction. That decision happens roughly once a nanosecond, and it looks a lot like the simultaneous multithreading ("hyperthreading") CPUs use to interleave threads, just running at a far larger scale: dozens of warps time-sharing one SM instead of two threads sharing a CPU core.
That speed is what makes latency hiding possible. A full CPU context switch takes a few hundred to a few thousand cycles, closer to a microsecond than a nanosecond, since the CPU has to save one thread's register state to memory and load another's back in, hurting cache locality on the way (a cost Mogul and Borg measured back in 1991). A GPU warp switch sidesteps both problems: every thread keeps its own private registers carved out of the SM's register file for its entire lifetime, so there's nothing to save or restore, and the L1 cache is programmer-managed and shared across every warp scheduled onto that SM together, so swapping warps doesn't evict what the others were relying on.
Because switching is essentially free, the Warp Scheduler can pick a different ready warp the instant the current one stalls on a memory fetch, rather than leaving the SM's CUDA Cores idle while it waits. It also tracks each warp's execution state, so it knows which warps are eligible to issue on a given cycle.
How many warps a scheduler has to pick from, and how often one is actually eligible, shows up directly as GPU utilization; it's one of the numbers worth watching live rather than inferring from a spec sheet, which is why Aquanode surfaces it through GPU metrics on every running pod.
Building on GPUs? Aquanode runs the workload.
Deploy on H100, H200, B200, A100 and MI300X across a multi-provider marketplace, without racking your own hardware or committing to one cloud's spec sheet.
See also
Warp
A warp is a group of 32 threads that a GPU schedules and executes together in lockstep. What warp divergence costs, how warps enable latency hiding, and why they sit outside the official CUDA thread hierarchy.
Streaming Multiprocessor
A Streaming Multiprocessor is the closest thing an NVIDIA GPU has to a CPU core, but far simpler and far more numerous. How SMs trade per-thread sophistication for massive parallelism and near-free context switching.
CUDA Core
A CUDA Core is the unit inside a Streaming Multiprocessor that executes scalar arithmetic, one instruction issued to a whole group at a time. What separates it from a Tensor Core, whether more of them means a faster GPU, and where they fit in AI training and inference.