Technical guide
GPU Shader Cores Explained: CUDA Cores, Stream Processors, SIMD Width, Warps, and Waves
Understand CUDA cores, AMD stream processors, SMs, compute units, SIMD lanes, warps and waves—and why raw GPU core counts do not compare performance across architectures.
On this page
- A GPU “core” count is not a universal unit of performance
- NVIDIA groups execution resources inside Streaming Multiprocessors
- AMD stream processors belong to compute-unit and SIMD organization
- Warps and wavefronts describe groups of work, not extra physical cores
- SIMD width, shader count, and issue width are related but not synonyms
- Raw core counts are most useful when architecture context stays controlled
- Specialized GPU resources need their own comparison
- Use benchmarks for performance questions and architecture docs for mechanism questions
A GPU “core” count is not a universal unit of performance
Consumer GPU specification tables often expose a large shader-resource count: NVIDIA uses CUDA cores, while AMD commonly lists stream processors. Those labels are useful inside the context of a particular architecture, but they are not equivalent to CPU cores and they are not a vendor-neutral unit that can be compared one-for-one across unrelated GPU designs.
A shader program is executed through a larger machine that includes multiprocessors or compute units, schedulers, register files, caches, memory paths and specialized execution resources. The advertised arithmetic lanes are only one part of that machine. Comparing 10,000 resources on one architecture with 10,000 on another therefore does not establish equal throughput, gaming performance, efficiency or capability.
NVIDIA groups execution resources inside Streaming Multiprocessors
NVIDIA CUDA documentation describes the Streaming Multiprocessor, or SM, as the hardware unit that receives thread blocks, partitions their threads into warps and schedules those warps for execution. Current CUDA documentation defines a warp as 32 threads. A warp scheduler selects a ready warp and issues its next instruction to the active threads.
CUDA cores sit inside that broader SM organization and are used for arithmetic supported by those datapaths. The exact mix and organization are generation-specific. NVIDIA documentation, for example, shows that even products within historical Pascal used different CUDA-core counts per SM, while current compute-capability tables expose different occupancy limits across newer architectures. “One SM” and “one CUDA core” are therefore not interchangeable concepts.
AMD stream processors belong to compute-unit and SIMD organization
AMD uses different terminology. Its RDNA documentation organizes shader execution around compute units and work group processors, with vector SIMD execution resources inside them. AMD’s RDNA instruction-set documentation introduced Wave32 alongside Wave64 and describes a work group processor as grouping compute resources so work can be scheduled across them.
Current AMD HIP documentation gives a concrete RDNA3 example: a work group processor contains two closely coupled compute units, each CU has two 32-wide SIMD units, and the primary Wave32 mode groups 32 work-items for execution. This architectural description is more useful than treating every listed stream processor as a tiny independent CPU core.
Warps and wavefronts describe groups of work, not extra physical cores
NVIDIA calls its scheduled groups warps; AMD calls analogous groups wavefronts or waves. These are execution-group concepts. They describe how many software threads or work-items advance together through SIMT/SIMD execution, not an additional bank of physical “warp cores” or “wave cores.”
NVIDIA specifies a warp size of 32 in current CUDA documentation. AMD RDNA supports Wave32 and, depending on architecture and mode, Wave64 behavior. Do not generalize one vendor’s grouping or one generation’s native width into a permanent GPU-wide rule. The scheduler, issue behavior and underlying datapaths are architecture-specific.
Raw core counts are most useful when architecture context stays controlled
Within a sufficiently similar GPU family, shader-resource counts can help explain one structural difference between models. They are still not a benchmark: clock behavior, memory configuration, power limits, disabled resources and other specifications can differ. Across architecture generations the interpretation becomes weaker because the surrounding execution machinery can change.
Across NVIDIA and AMD the one-for-one comparison is weaker still. CUDA core and stream processor are vendor architecture labels, not a common standards-defined performance unit. A higher numerical count on either side does not by itself prove higher rasterization FPS, ray-tracing speed, compute throughput, AI performance or efficiency.
Specialized GPU resources need their own comparison
Modern GPUs also contain resources aimed at workloads beyond ordinary scalar or vector shader arithmetic. NVIDIA specification tables separately identify Tensor and ray-tracing cores, while AMD products separately expose resources such as AI and ray accelerators. Their presence is another reason a single shader-core total cannot summarize the whole processor.
Do not add unlike resources together into a larger “total core” number. Matrix acceleration, ray traversal/intersection work, texture operations, rasterization and general shader arithmetic have different jobs and architectures. Compare the relevant capability with suitable specifications and measurements for the workload instead.
Use benchmarks for performance questions and architecture docs for mechanism questions
If the question is how a GPU executes shader work, start with the architecture and programming documentation: identify the SM or CU/WGP organization, warp or wave size, execution resources and generation-specific behavior. That establishes what the labels mean without pretending they are universal.
If the question is which GPU is faster, use representative measurements from the actual workload and settings. Shader counts can provide architectural context for those results, but they cannot replace them. The same rule applies to efficiency, latency and specialized compute: measure the outcome you care about instead of converting marketing core counts into an unsupported score.
Sources
Primary and technical sources
Technical details can vary by exact model, firmware, and platform. These are the sources used for the factual claims in this article.
01 NVIDIA
CUDA Programming Guide: hardware multithreading, 32-thread warps, SM scheduling, and compute-capability limits02 NVIDIA
PTX ISA: SIMT multiprocessors, scalar threads, warps, and instruction issue03 NVIDIA
Pascal Tuning Guide: generation-specific CUDA-core and warp-scheduler organization04 AMD
AMD HIP hardware implementation: RDNA work group processors, compute units, SIMD units, and Wave3205 AMD
AMD RDNA instruction-set architecture: Wave32/Wave64 and work group processor organization06 AMD GPUOpen
GPUOpen occupancy explainer: wavefront assignment and scheduling on RDNA SIMD resources
Related
Continue from here
Useful next steps selected from the same technical reference and publication system.
Technical guide
Shader Compilation Stutter Explained: Why PC Games Hitch, Cache Shaders, and Improve After the First Run
Understand shader and pipeline compilation stutter in PC games, why cold or invalidated caches can hitch, how precompilation helps, and how to separate compilation from storage, VRAM, CPU, thermal, and network problems.
Compatibility & upgrades
Microsoft DirectStorage Explained: NVMe, GPU Decompression, Windows 11 Requirements, and Game Support
Source-backed guide to Microsoft DirectStorage on Windows PCs: NVMe requirements, GPU decompression, GDeflate, fallbacks, game implementation, and performance limits.
Technical guide
CONTROL Resonant PC Requirements and Graphics Guide: DLSS 4.5, Path Tracing, and Confirmed Features
A source-backed pre-launch guide to CONTROL Resonant PC requirements, release details, DLSS 4.5, path tracing, and the performance claims that remain unproven.