Explore the Scalable Vector Extention (SVE)

Scalable Vector Extension (SVE) is a vector extension for AArch64 execution mode for the A64 instruction set of the Armv8-A architecture. Unlike other SIMD architectures, SVE does not define the size of the vector registers, but constrains it to a range of possible values, from a minimum of 128 bits up to a maximum of 2048 in 128-bit wide units. Therefore, any CPU vendor can implement the extension by choosing the vector register size that better suits the workloads the CPU is targeting. The design of SVE guarantees that the same program can run on different implementations of the instruction set architecture without the need to recompile the code.

Many instructions of the extension use predicate registers to mask the lanes for operating on partial vectors. The SVE instruction set also provides gather loads and scatter stores, truncating stores, and signed/unsigned extended loads.

The SVE2 (Scalable Vector Extension version two) is a superset of SVE and Neon, and allows for more function domains in data-level parallelism. SVE2 inherits the concept, vector registers, and operation principles of SVE.

More about SVE
Why is SVE is useful for HPC?
Porting and Tuning HPC Applications for Arm SVE


Arm C/C++/Fortran Compiler

Commercial C/C++/Fortran compiler from Arm for Linux user-space HPC applications with complete SVE support.


Arm Instruction Emulator

Run SVE binaries on existing Armv8-A hardware.

Learn more »


Introducing SVE

Scalable Vector Extension (SVE) is the next-generation SIMD instruction set for Armv8-A (AArch64). This topic introduces the new architectural features it brings.

Learn more

A sneak peek into SVE and VLA

An overview of SVE with information on the new registers, the new instructions, and the Vector Length Agnostic (VLA) programming technique, with some examples.

Learn more

Application to Machine Learning

In this white paper, code examples are presented that show how to vectorize some of the core computational kernels that are part of machine learning system.

Learn more

Arm ARM SVE Supplement

This supplement describes the Scalable Vector Extension to the Armv8-A architecture profile.

Learn more

Port your applications

The Porting and Optimizing HPC Applications for Arm SVE guide supplements the Porting and Optimizing HPC Applications for Arm guide, as well as the other Porting and Tuning resources Arm provides to help you get started with porting your applications to Arm. The Porting and Optimizing HPC Applications for Arm SVE guide focuses on optimizing for the Arm Scalar Vector Extension (SVE).


Related information


Information regarding SVE tools

Q: How do I get access to SVE tools?
Download Arm Compiler for Linux and Arm Instruction Emulator to compile and run SVE code on non-SVE platforms.

Q: Where can I get support when emulating SVE instructions with Arm Instruction Emulator?
Contact Arm support and we will get in touch.