Series Roadmap
| # | Topic | Status |
|---|---|---|
| Overview | RDNA / CDNA Full Timeline | β |
| 1 | RDNA 1 β Wave32, WGP, 7nm | β |
| 2 | RDNA 2 β Ray Accelerator, Infinity Cache | β |
| 3 | RDNA 3 β Chiplet, Dual-Issue | β |
| 4 | RDNA 4 β Monolithic return, FSR 4 | β |
| 5 | CDNA 1 β GCN inheritance, Matrix Core, A100 comparison | β |
| 6 | CDNA 2 β MCM, FP64 Matrix, Frontier | β |
| 7 | CDNA 3 β XCD chiplets, MI300A APU, El Capitan | π² |
Why a Separate Compute Architecture
In 2019 AMD split its GPU architecture in two. RDNA went to consumer graphics; CDNA went to datacenter compute.
A recurring theme across the RDNA series: RDNA broke away from GCN and moved to the Wave32 execution model. CDNA is the opposite. CDNA inherits GCNβs compute foundation directly.

The logic of this split comes from workload characteristics.
- Graphics (RDNA): frequent divergence, latency-sensitive. Narrowing to Wave32 reduces divergence loss and enables higher clocks.
- Compute (CDNA): dominated by large matrix operations and regular data parallelism. Wave64βs wide execution width favors throughput.
CDNA kept for compute the Wave64 that RDNA discarded for graphics. The two architectures specialized in opposite directions from the same GCN root.
CDNA 1 (Arcturus, MI100, November 2020) is the first datacenter-only architecture after this split.
Removing the Graphics Pipeline
CDNA 1βs first decision is the complete removal of graphics hardware.
Blocks removed from GCN (Vega) β CDNA 1 (Arcturus):
ββββββββββββββββββββββββββββββββββββββββββββββ
β β ROP (Render Output Unit) β
β β Rasterizer β
β β Geometry / tessellation engines β
β β Display engine (no output ports) β
β β Multimedia encode/decode (partial) β
β β
β β
Retained: Compute Units (CU) + memory β
β β
Added: Matrix Core β
ββββββββββββββββββββββββββββββββββββββββββββββ
The MI100 has no display output ports β it does not draw a screen. It has no rasterizer or ROP β it does not turn triangles into pixels.
The payoff of this removal is die-area reallocation. Space once occupied by fixed-function graphics blocks goes to compute units and Matrix Cores. The MI100 packs 120 CUs β three times a same-7nm-generation consumer GPU (RDNA 1 Navi 10 at 40 CUs).
CU Structure: Inheriting the GCN Lineage
CDNA 1βs compute unit retains GCNβs structure. The contrast with RDNA is clear.
RDNA CU (Wave32): CDNA 1 CU (Wave64, GCN inheritance):
ββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββ
β SIMD32 Γ 2 β β SIMD16 Γ 4 β
β Wave32 (32 threads) β β Wave64 (64 threads) β
β 1-clock completion β β 4-clock completion (16 Γ 4) β
β β β ββββββββββββββββββββββββββ β
β (no Matrix) β β β Matrix Core (MFMA) β β
β β β β FP32/FP16/BF16/INT8 β β
β LDS 128KB (WGP) β β ββββββββββββββββββββββββββ β
ββββββββββββββββββββββββ β LDS 64KB β
ββββββββββββββββββββββββββββββββ
The CDNA 1 CU is built, like GCN, from four SIMD16 units and uses Wave64 (64 threads) as its base execution unit β in contrast to RDNAβs shift to two SIMD32 units and Wave32.
| Item | GCN (Vega) | RDNA | CDNA 1 |
|---|---|---|---|
| SIMD config | SIMD16 Γ 4 | SIMD32 Γ 2 | SIMD16 Γ 4 |
| Wave size | Wave64 | Wave32 | Wave64 |
| Wave completion clocks | 4 | 1 | 4 |
| Target workload | Mixed | Graphics | Compute |
Compute workloads repeat large array operations regularly. With little divergence, Wave64βs wide width is not wasted β instead, spreading instruction fetch and scheduling overhead across more threads per wave raises efficiency.
Matrix Core: AMDβs First Matrix Acceleration
CDNA 1βs key addition is the Matrix Core β AMDβs dedicated matrix-operation unit, its counterpart to NVIDIAβs Tensor Core.
Matrix Core operates through MFMA (Matrix Fused Multiply-Add) instructions. It computes $D = A \times B + C$ β multiplying matrices A and B and accumulating into C β in a single instruction. Deep learningβs GEMM (general matrix multiply) and HPCβs dense linear algebra follow this pattern.
The operation MFMA accelerates (single instruction):
D[MΓN] = A[MΓK] Γ B[KΓN] + C[MΓN]
Supported precisions (CDNA 1):
FP32 matrix : 46.1 TFLOPS (2Γ the 23.1 FP32 vector)
FP16 matrix : 184.6 TFLOPS
BF16 matrix : 92.3 TFLOPS
INT8 matrix : 184.6 TOPS
CDNA 1βs Matrix Core accelerates FP32, FP16, BF16, INT8, and INT4 matrix operations. Notably, there is no FP64 matrix operation β FP64 is handled only by the vector pipeline (11.5 TFLOPS). An FP64 Matrix Core arrives in the next generation, CDNA 2.
Matrix Core is closer to a matrix instruction path integrated with the CUβs SIMD units than a separate large fixed block. Its implementation differs from NVIDIAβs Tensor Core, but the goal is identical: sharply raise matrix-multiply throughput over vector operations.
Memory and Interconnect
HBM2 Memory
The MI100 connects four HBM2 stacks, 32 GB total, over a 4096-bit interface at 1.23 TB/s. Unlike consumer GPUs on GDDR6 256β384-bit, compute GPUs secure bandwidth with a wide HBM interface.
Infinity Fabric (2nd gen)
The MI100 provides three Infinity Fabric links for direct GPU-to-GPU connection, binding up to four GPUs into a fully-connected hive.
4-GPU hive (fully-connected):
GPU0 βββ GPU1
β β² β± β
β β³ β each GPU directly connects to the other three
β β± β² β IF links give higher peer bandwidth than PCIe
GPU2 βββ GPU3
Host interface: PCIe 4.0 x16
This configuration eases PCIe bottlenecks in HPC/training workloads with frequent inter-GPU data exchange, handling GPU-to-GPU communication directly without routing through host memory.
MI100 Specs:
| Item | Value |
|---|---|
| Codename | Arcturus |
| Process | TSMC 7nm FinFET |
| CUs | 120 |
| Stream processors | 7,680 |
| Boost clock | 1,502 MHz |
| FP64 vector | 11.5 TFLOPS |
| FP32 vector | 23.1 TFLOPS |
| FP32 Matrix | 46.1 TFLOPS |
| FP16 Matrix | 184.6 TFLOPS |
| BF16 Matrix | 92.3 TFLOPS |
| Memory | HBM2 32 GB, 4096-bit |
| Memory bandwidth | 1.23 TB/s |
| TDP | 300 W |
| Interface | PCIe 4.0 x16 + 3 IF links |
Comparison with NVIDIA A100
CDNA 1βs competitor is NVIDIAβs A100 (Ampere, GA100), launched in 2020 β the de facto standard of the datacenter compute market.
Specification Comparison

| Β | MI100 (CDNA 1) | A100 40GB (Ampere) |
|---|---|---|
| Process | TSMC 7nm | TSMC 7nm |
| FP64 vector | 11.5 TFLOPS | 9.7 TFLOPS |
| FP64 Matrix/Tensor | None | 19.5 TFLOPS |
| FP32 vector | 23.1 TFLOPS | 19.5 TFLOPS |
| FP16 Matrix/Tensor | 184.6 TFLOPS | 312 TFLOPS |
| TF32 | Not supported | Supported (156 TFLOPS) |
| Sparsity acceleration | None | 2Γ (structured sparsity) |
| Memory | HBM2 32 GB | HBM2e 40 GB |
| Memory bandwidth | 1.23 TB/s | 1.55 TB/s |
| TDP | 300 W | 400 W (SXM) |
Domain Breakdown
Traditional HPC (FP64/FP32 vector)
The MI100 leads. Its 11.5 TFLOPS FP64 vector exceeds the A100βs 9.7 TFLOPS by ~19%, and its FP32 vector also wins. For scientific computing centered on double-precision dense linear algebra, the MI100 was competitive.
AI/Deep Learning (matrix/tensor)
The A100 leads. Its 312 TFLOPS FP16 tensor far exceeds the MI100βs 184.6 TFLOPS Matrix, and it extends up to 2Γ (624 TFLOPS) with structured sparsity. It also supports TF32, a training-friendly format the MI100 lacks, and adds an FP64 Tensor Core the MI100 does not have.
Software Ecosystem
The biggest gap was not hardware. NVIDIA CUDA holds an ecosystem accumulated since 2007. Libraries like cuBLAS, cuDNN, and NCCL β and every major ML framework β are optimized for CUDA.
AMD ROCm was immature during the CDNA 1 era. It offered portability via HIP (a CUDA-like API), but fell short of CUDA in library coverage and stability. Despite the MI100βs hardware competitiveness, this was the key factor constraining real-world adoption.
Software: ROCm and HIP
CDNA 1 is programmed through the ROCm (Radeon Open Compute) stack.
- HIP (Heterogeneous-computing Interface for Portability): a CUDA-like C++ API. The
hipifytool converts CUDA code to HIP, which compiles for both AMD and NVIDIA GPUs. - rocBLAS, MIOpen: linear-algebra and deep-learning libraries answering cuBLAS and cuDNN.
- RCCL: a multi-GPU collective communication library answering NCCL.
ROCm in the CDNA 1 era was functionally in place but far behind CUDA in ecosystem maturity. That gap narrowed gradually across later generations (CDNA 2βs Frontier, CDNA 3βs MI300) alongside large supercomputer deployments.
Summary
| Item | Detail |
|---|---|
| Lineage | Inherits GCN compute base (opposite of RDNA) |
| Execution model | Wave64 / SIMD16 Γ 4 (GCN retained) |
| Graphics | Pipeline fully removed (no ROP/raster/display) |
| Key addition | Matrix Core (MFMA) β AMDβs first matrix acceleration |
| FP64 | Vector only (Matrix arrives in CDNA 2) |
| Memory | HBM2 32 GB, 1.23 TB/s |
| Interconnect | Infinity Fabric 3 links, 4-GPU hive |
| Β | MI100 (CDNA 1) | A100 (Ampere) |
|---|---|---|
| FP64 vector | 11.5 TFLOPS (ahead) | 9.7 TFLOPS |
| FP32 vector | 23.1 TFLOPS (ahead) | 19.5 TFLOPS |
| FP16 Matrix/Tensor | 184.6 TFLOPS | 312 TFLOPS (ahead) |
| AI features | Baseline | TF32, Sparsity (ahead) |
| Software | ROCm (immature) | CUDA (mature, ahead) |
CDNA 1 was AMDβs starting point for re-entering datacenter compute. It inherited GCNβs Wave64 compute foundation and removed graphics hardware to focus the die on compute. Matrix Core took the first step into matrix acceleration. It beat the A100 on FP64/FP32 vector but trailed on AI tensor performance and software ecosystem. Closing that gap becomes the mission of the generations that follow.
Next: CDNA 2 β MCM 2-die, FP64 Matrix Core, and the worldβs first exascale system, Frontier