How portable are the new ARM SVE instructions?
Asked Answered
H

2

7

I am looking for information about the new Scalable Vector Unit (SVE) from Arm. It looks amazingly good to me for doing Image processing with beeing able to compute 2048 bit in parallel and so on. But I'm not sure if it will be running on every Armv8 like RPI 3 or just some super computer. And does anybody know a timeframe when it will be included in Linux Kernel.

I read the link from the anouncement in Aug 2016. But I was hoping to get newer informations.

Hobbes answered 21/12, 2016 at 13:4 Comment(1)
For those that want to play around with ARM SVE on QEMU right now, see this thread: #52889416Paulin
B
5

ARMv8 SVE is not baked into standard ARMv8 processors used in phones/SBCs. It is an optional processor extension that can be used by CPU designers/fabricators. The idea is that an ARM licensee can take a standard ARMv8 license and build a CPU with much wider SIMD units. This 'custom' ARMv8 CPU will be software compatible with standard ARMv8 software due to the implementation of SVE. You can read more about it here:

https://www.community.arm.com/processors/b/blog/posts/technology-update-the-scalable-vector-extension-sve-for-the-armv8-a-architecture

Bicycle answered 21/12, 2016 at 13:30 Comment(0)
P
2

To quote what BitBank said from the standards, the ARMv8 architecture reference manual DDI 0487C.a section A1.7 "ARMv8 architecture extensions" says:

SVE is an optional extension to ARMv8.2. That is, SVE requires the implementation of ARMv8.2.

A further section then says that SVE is documented on a separate document: "ARM Architecture Reference Manual Supplement, The Scalable Vector Extension (SVE), for ARMv8-A", which can currently be downloaded from: https://developer.arm.com/docs/ddi0584/latest/arm-architecture-reference-manual-supplement-the-scalable-vector-extension-sve-for-armv8-a

There is a PDF inside the ZIP in that page.

Therefore, if you want portability, you must rely on higher level constructs than assembly such as the C language.

According to the ARMv8 Reference Manual, SVE support can be checked by reading the value of the ID_AA64PFR0_EL1.SVE bits, here is an example.

Paulin answered 17/10, 2018 at 14:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.