You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/fexpa/fexpa.md
+16-7Lines changed: 16 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: FEXPA
2
+
title: Optimize with FEXPA instruction
3
3
weight: 4
4
4
5
5
### FIXED, DO NOT MODIFY
@@ -8,9 +8,9 @@ layout: learningpathall
8
8
9
9
## The FEXPA instruction
10
10
11
-
Arm introduced in SVE an instruction called FEXPA: the Floating Point Exponential Accelerator.
11
+
Arm introduced an instruction in SVE called FEXPA: the Floating Point Exponential Accelerator.
12
12
13
-
Let’s segment the IEEE 754 floating-point representation fraction part into several sub-fields (Index, Exp and Remaining bits) with respective length of _Idxb_, _Expb_ and _Remb_ bits.
13
+
The IEEE 754 floating-point representation fraction part can be segmented into several sub-fields (Index, Exp and Remaining bits) with respective length of _Idxb_, _Expb_ and _Remb_ bits.
14
14
15
15
| IEEE 754 precision | Idxb | Expb | Remb |
16
16
|-------------------------|------|------|------|
@@ -46,7 +46,7 @@ With a table of size 2^L, the evaluation interval for the approximation polynomi
46
46
47
47
## Exponential implementation with FEXPA
48
48
49
-
FEXPA can be used to rapidly perform the table lookup. With this instruction a degree-2 polynomial is sufficient to obtain the same accuracy as the degree-4 polynomial implementation from the previous section.
49
+
Use FEXPA to rapidly perform the table lookup. With this instruction, a degree-2 polynomial is sufficient to obtain the same accuracy as the degree-4 polynomial implementation from the previous section.
This implementation can be found in [ARM Optimized Routines](https://github.com/ARM-software/optimized-routines/blob/ba35b32/math/aarch64/sve/sv_expf_inline.h).
96
+
This implementation can be found in [Arm Optimized Routines](https://github.com/ARM-software/optimized-routines/blob/ba35b32/math/aarch64/sve/sv_expf_inline.h).
1.**SVE with degree-4 polynomial**: Provides up to 4x speedup through vectorization
150
-
2.**SVE with FEXPA and degree-2 polynomial**: Achieves an additional 1-2x improvement
149
+
-SVE with degree-4 polynomial provides up to 4x speedup through vectorization
150
+
-SVE with FEXPA and degree-2 polynomial achieves an additional 1-2x improvement
151
151
152
152
The FEXPA instruction delivers this improvement by:
153
153
- Replacing manual bit manipulation with a single hardware instruction (`svexpa()`)
154
154
- Enabling a simpler polynomial (degree-2 instead of degree-4) while maintaining accuracy
155
155
156
156
Both SVE implementations maintain comparable accuracy (errors in the 10^-9 to 10^-10 range), demonstrating that specialized hardware instructions can significantly improve performance without sacrificing precision.
157
+
158
+
## What you've accomplished and what's next
159
+
160
+
In this section, you:
161
+
- Implemented exponential function optimization using the FEXPA instruction
162
+
- Reduced polynomial degree from four to two while maintaining accuracy
163
+
- Achieved up to 6x speedup over the baseline implementation
164
+
165
+
Next, you'll review the key benefits and applications of FEXPA optimization.
0 commit comments