Jeff's Notebook: 3D Vector Normalization Using 256-Bit Intel® Advanced Vector Extensions (Intel® AVX)

With the launch of our New Second Generation Intel® Core processor, there has been a lot of interested in the Intel® Advanced Vector Extensions (Intel® AVX). I decided to investigate more on how application developers targeting the Second Generation Intel core processor for their application might use Intel AVX.  Stan Melax has written a detailed article on how developers that are incorporating 3D images into their application might use Intel AVX.  

Stan's article, "3D Vector Normalization Using 256-Bit Intel Advanced Vector Extensions (Intel AVX)" outlines how developers can improve the performance of geometry computations by transposing packed 3D data on-the-fly to take advantage of 8-wide SIMD processing.  Stan details how to exploit 256-bit Intel AVX to normalize an array of 3D vectors.  In his article, he describes a shuffle approach to convert between AOS and SOA on-the-fly in order to make data ready for up to 8-wide single instruction multiple data (SIMD) processing.  Read Stan Melax article to get the details of this use of Intel AVX.

如需更全面地了解编译器优化,请参阅优化注意事项