Helium Introductions - stanlytw/CMSIS-NN GitHub Wiki
What is Helium
-
The M-Profile Vector Extension (MVE) for the Arm Cortex-M processor series
-
Extension of the Armv8.1-M architecture
-
Delivers a significant performance increase for ML and DSP applications.
-
Processing data with SIMD(Single-Instruction Multiple Data) methodology. e.g: adds four pairs of 32-bit values together


-Four 32-bit values(4 lanes), operations in the diagram are independent for each lane. Any overflow or carry from lane 0 does not affect lane 1.
Helium Features
-
Use 128-bit vectors(regisetr).
-
Reuse floating point registers.
-
Provide instructions to perform vector add and multiply.
-
Includes 8 vector registers.
-
Includes both regular registers and vector registers.
-
Includes loop prediction and lane prediction.
Intrinsics targeted for DSP instruction: e.g:
-
vld2q, which loads blocks of data from memory and writes them to the destination register
-
vrmlsldavhaq, for the multiplication of complex numbers.
Reference Source
- https: developer.arm.com documentation 102102 0103