The Intel Xeon Phi manycore processor is designed to provide high performance matrix computations of the type often performed in data analysis. Common data analysis environments include Matlab, GNU Octave, Julia, Python, and R. Achieving optimal performance of matrix operations within data analysis environments requires tuning the Xeon Phi OpenMP settings, process pinning, and memory modes. This paper describes matrix multiplication performance results for Matlab and GNU Octave over a variety of combinations of process counts and OpenMP threads and Xeon Phi memory modes. These results indicate that using KMP_AFFINITY=granlarity=fine, taskset pinning, and all2all cache memory mode allows both Matlab and GNU Octave to achieve 66% of the practical peak performance for process counts ranging from 1 to 64 and OpenMP threads ranging from 1 to 64. These settings have resulted in generally improved performance across a range of applications and has enabled our Xeon Phi system to deliver significant results in a number of real-world applications.
@article{arxiv.1907.03195,
title = {Optimizing Xeon Phi for Interactive Data Analysis},
author = {Chansup Byun and Jeremy Kepner and William Arcand and David Bestor and William Bergeron and Matthew Hubbell and Vijay Gadepally and Michael Houle and Michael Jones and Anne Klein and Lauren Milechin and Peter Michaleas and Julie Mullen and Andrew Prout and Antonio Rosa and Siddharth Samsi and Charles Yee and Albert Reuther},
journal= {arXiv preprint arXiv:1907.03195},
year = {2019}
}
Comments
6 pages, 5 figures, accepted in IEEE High Performance Extreme Computing (HPEC) conference 2019