Effective SIMD Vectorization for Intel Xeon Phi Coprocessors - Panchenko, Nikolay; Masten, Matt; Kozhukhov, Sergey S.; Garcia, Eric N.; Preis, Serguei V.; Saito, Hideki; Tian, Xinmin; Cherkasov, Aleksei G. (Scientific programming, 2015)
Efficiently exploiting SIMD vector units is one of the most important aspects in achieving high performance of the application code running on Intel Xeon Phi coprocessors. In this paper, we present several effective SIMD vectorization techniques such as less-than-full-vector loop vectorization, Intel MIC specific alignment optimization, and small matrix transpose/multiplication 2D vectorization implemented in the Intel C/C++ and Fortran production compilers for Intel Xeon Phi coprocessors. A set of workloads from several application domains is employed to conduct the performance study of our SIMD vectorization techniques. The performance results show that we achieved up to 12.5x performance gain on the Intel Xeon Phi coprocessor. We also demonstrate a 2000x performance speedup from the seamless integration of SIMD vectorization and parallelization.