Vectorization holds a significant role within the domain of molecular dynamics. While compiler auto-vectorization tools often fall short in vectorizing complex computational scenarios, and manually coding multiple SIMD intrinsics can be labor-intensive when striving to ensure implementation performance across a wide spectrum of SIMD extension sets, SIMD wrappers aim to simplify this process by introducing an abstraction layer for crafting vectorized code.
In this thesis, we will compare three distinct SIMD wrappers, xsimd, MIPP and SIMDe, implementing them into Autopas to vectorize the Lennard-Jones force calculation. Afterwards, we evaluate the performance of these implementations on two different systems - one supporting AVX and the other NEON and SVE intrinsics. Our findings indicate that SIMD-Wrappers present a viable method to achieve performance portablity in any vectorizable implementation, even in the demanding field of molecular dynamics. However, it’s important to be mindful of certain limitation of the wrappers.
«
Vectorization holds a significant role within the domain of molecular dynamics. While compiler auto-vectorization tools often fall short in vectorizing complex computational scenarios, and manually coding multiple SIMD intrinsics can be labor-intensive when striving to ensure implementation performance across a wide spectrum of SIMD extension sets, SIMD wrappers aim to simplify this process by introducing an abstraction layer for crafting vectorized code.
In this thesis, we will compare three...
»