AVX / NEON Intrinsic Functions: When Should They Be Used?
By: Théo Boivin, Joeffrey Legaux
Potential Business Impact:
Makes computer code run much faster, sometimes.
A cross-configuration benchmark is proposed to explore the capacities and limitations of AVX / NEON intrinsic functions in a generic context of development project, when a vectorisation strategy is required to optimise the code. The main aim is to guide developers to choose when using intrinsic functions, depending on the OS, architecture and/or available compiler. Intrinsic functions were observed highly efficient in conditional branching, with intrinsic version execution time reaching around 5% of plain code execution time. However, intrinsic functions were observed as unnecessary in many cases, as the compilers already well auto-vectorise the code.
Similar Papers
VecIntrinBench: Benchmarking Cross-Architecture Intrinsic Code Migration for RISC-V Vector
Software Engineering
Helps computers run faster on new chips.
SimdBench: Benchmarking Large Language Models for SIMD-Intrinsic Code Generation
Software Engineering
Helps computers write faster code for complex tasks.
Comparison of Vectorization Capabilities of Different Compilers for X86 and ARM CPUs
Performance
Makes computer programs run much faster.