Evaluation of Vectorization Methods on Arm SVE Using the Exo Language

Published: 01 Jan 2024, Last Modified: 25 Jul 2025CLUSTER Workshops 2024EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: Vectorization is important for achieving high performance in numerical computations. This poster evaluates various vectorization methods for an application utilizing the Arm Scalable Vector Extensions (SVE) instructions. To fully control the vectorization “pipeline”, we use the Exo language, which is a domain-specific language designed for performance engineers. In this poster, we discuss two existing vectorization strategies, known as Vector Length Agnostic (VLA) and Vector Length Specific (VLS) approaches. To evaluate the performance effects against these vectorized code, we generate them through the Exo compiler coupled with native backend compilers on the Fujitsu A64FX processor (i.e., gcc, clang, and fcc). Our results show that the code generated by the VLA and VLS approaches, including simple loop optimization, outperforms code without explicit vectorization. We also found that VLS often provides better performance over VLA. These results indicate that code transformation through “Exocompilation” is useful for optimizing code and investigating the behavior of compilers.
Loading