Robots Atlas>ROBOTS ATLAS
Hardware

SVE

2016ActivePublished: 9 November 2026Updated: 9 November 2026Published
Key innovation
A vector-length-agnostic (VLA) SIMD extension (128–2048 bits): the same binary runs correctly regardless of the register width implemented in a given CPU, decoupling software from a fixed vector width — unlike the fixed-width NEON/AVX.
Category
Hardware
Abstraction level
Primitive
Operation level
InferenceServingDeployment
Use cases
Vectorising HPC scientific computing (e.g. the Fugaku supercomputer / Fujitsu A64FX)Accelerating ML and LLM inference on ARM server CPUs (e.g. AWS Graviton3)Portable vector code that scales from edge devices to HPCLinear-algebra and GEMM kernels for neural networks on AArch64Signal and media processing (especially in SVE2)

How it works

SVE does not hard-code the vector length into instructions. Instead, operations act on Z registers whose width is fixed only in hardware (128–2048 bits), and loop control relies on P predicate registers: a predicate selects which vector lanes are active in a given iteration, handling loop remainders and conditionals without separate scalar code. Instructions such as WHILELT build a predicate from the current index and the loop bound, while INCB/CNTB advance a counter by the (compile-time-unknown) vector length. SVE also provides gather-load / scatter-store for scattered addresses and an FFR (First Fault Register) that enables speculative, fault-tolerant loads — key to vectorising loops of unknown length. Compilers (GCC, LLVM/Clang) emit SVE via auto-vectorisation, or developers use C intrinsics; the same binary uses the full register width of a given CPU. SVE2 (Armv9-A) broadens the set with DSP and general-purpose instructions.

Problem solved

Traditional SIMD extensions (NEON, AVX) use a fixed vector width, so code tuned for one width must be rewritten or recompiled for another and does not automatically benefit from wider units. This hurts portability across CPUs of differing performance — from mobile devices to HPC. SVE solves this with a vector-length-agnostic model: a single binary runs correctly and scales across implementations of 128–2048 bits, without tying software to a specific register width.

Components

Vector length agnostic (VLA)Decouples software from a specific vector width and provides portability.

A model in which the vector length is not encoded in instructions. The implementer picks a hardware register width in the 128–2048-bit range in multiples of 128, and SVE code runs correctly on any of them without recompilation.

Z vector registers (Z0–Z31)Hold packed data vectors for scalable-length SIMD operations.

32 scalable vector registers whose width is fixed in hardware (128–2048 bits). The low 128 bits of each Z register overlap the corresponding V (NEON) register.

P predicate registers (P0–P15)Control vector-lane activity and the handling of loop remainders and conditionals.

16 predicate registers that mask individual vector lanes; P0–P7 act as governing predicates for load/store and arithmetic. They enable per-lane predication and loop control without separate scalar code.

Gather-load / scatter-storeEnable vectorisation of code with irregular memory access.

Vector load/store instructions to and from scattered, non-contiguous memory addresses given by a vector of indices or offsets.

SVE2Mainstreams scalable vectors beyond HPC — into general-purpose and edge workloads.

The successor to SVE introduced with the Armv9-A architecture (2021), broadening the instruction set with DSP, media and general-purpose operations while keeping the VLA model.

Evolution

Original paper · 2017 · IEEE Micro 2017 · Nigel Stephens
The ARM Scalable Vector Extension
Nigel Stephens, Stuart Biles, Matthias Boettcher, Jacob Eapen, Mbou Eyole
2016
SVE announced as an optional extension to Armv8.2-A
Inflection point

ARM (with Fujitsu, targeting the Japanese post-K supercomputer) announces SVE — a scalable SIMD vector extension for HPC, complementary to NEON.

2020
Fujitsu A64FX / Fugaku: first large deployment (512-bit SVE)
Inflection point

The Fujitsu A64FX with 512-bit SVE powers the Fugaku supercomputer, the fastest in the world from June 2020 to May 2022.

2021
Armv9-A: SVE2 as a general-purpose scalable extension

The Armv9-A architecture mainstreams SVE2, broadening the instruction set with DSP, media and general-purpose operations beyond the HPC niche.

2022
AWS Graviton3: flexible 2×256-bit SVE in the cloud

The AWS Graviton3 CPU implements a flexible 2×256-bit SVE variant, bringing scalable vectors to ARM server CPUs in the cloud.

Hyperparameters (configurable axes)

Vector length (VL)Critical

The hardware width of the Z vector register, chosen by the implementer in the 128–2048-bit range in multiples of 128. It is invisible to the code (VLA) but determines throughput on a given CPU.

512 bitów (Fujitsu A64FX / Fugaku)
2×256 bitów (AWS Graviton3)
128 bitów (minimum specyfikacji)

Execution paradigm

Primary mode
Dense

SIMD applies the same operation across all vector lanes, but the P predicate registers mask individual lanes depending on loop bounds and conditions (per-lane predication).

Activation pattern
Input dependent

Parallelism

Parallelism level
Fully parallel

Data parallelism within a single scalable-length vector instruction; used in both scientific computing (HPC) and ML inference.

Scope
InferenceTraining

Hardware requirements

Primary

SVE is the native, scalable SIMD extension of ARM/AArch64 CPUs (Fujitsu A64FX, AWS Graviton3, Neoverse cores, mobile and edge SoCs). A "CPU SIMD" category — the scalable ARM counterpart of x86 AVX.