Monday
Room 2
09:00 - 17:00
(UTC+02)
2 Days
NEON Vectorization Workshop
Unleash the performance of your embedded ARM chip with NEON!
C
C++
Technique
We introduce vectorization with NEON ground up from the most basic concept up to very advanced vectorization topics.
Workshop agenda:
- A short introduction to vectorization
- Introduction to NEON intrinsics
- Advanced NEON intrinsics
- Basic vectorization patterns – vectorizing for loops, foor loops with early exit, while loops and convergence loops
- Common vectorization patterns – vectorizing loops with conditions, conditional counting, loops with structs and matrix transposition.
- Vectorization inhibitors – learn to detect and remove obstacles that hinder efficient vectorization
- Vectorization types according to data access pattern – there are several ways to do vectorization, here we investigate inner-loop vectorization, outer-loop vectorization.
- Advanced vectorization patterns – we talk about how to vectorize copy_if, trees and lookup tables.
- Memory performance – improve the performance of your vectorized code by better using the memory subsystem.
- Peak performance – reach peak software performance by breaking instruction dependencies, avoiding register spills and cleverly using everything hardware has to offer.