Demonstrates how a Structure of Arrays organization of data makes it easier to get a performance benefit from SIMD
This article shows how to use 256-bit Intel® Advanced Vector Extensions (Intel® AVX) to normalize an array of 3D vectors. We describe a shuffle approach to convert between AOS & SOA on-the-fly in order to make data ready for up to 8-wide SIMD processing.
Improve your vectorization project using techniques and methodologies from Intel.
In terms of readability, portability, performance, and time savings for new code it pays to spend a short while learning a new language: Intel ISPC®.