Explore the Scalable Vector Extension (SVE) architecture extension

Evaluate SVE instructions by compiling with Arm Compiler, running on Arm Instruction Emulator and analyzing with Arm Code Advisor.

Introduction to Scalable Vector Extention (SVE)

Scalable Vector Extension (SVE) is a vector extension for AArch64 execution mode for the A64 instruction set of the Armv8 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.

Learn more about why SVE is useful for HPC

For a more detailed description of SVE, see our Resources section below.


Resources

  • 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



FAQ

Information regarding SVE tools

Q: How do I get access to SVE tools?
Download Arm Compiler for HPC and Arm Instruction Emulator to compile and run SVE code on non-SVE platforms. Get Code Advisor to see actionable insights and advice for how to optimize your code.

Q: Does my current installation of Arm Compiler support SVE instructions?
Arm C Language extensions for SVE are implemented in Arm Compiler versions 1.2 and later.

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