ИЗВЕСТИЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ СЕВЕРО-КАВКАЗСКИЙ РЕГИОН. 2017; 3: 56-63
http://dx.doi.org/10.17213/0321-2653-2017-3-56-63
ЭФФЕКТИВНОСТЬ АВТОМАТИЧЕСКОЙ ВЕКТОРИЗАЦИИ ЦИКЛОВ НА АРХИТЕКТУРАХ INTEL 64 И INTEL XEON PHI
Молдованова Ольга Владимировна – канд. техн. наук, доцент, кафедра «Вычислительные системы», Сибирский государственный университет телекоммуникаций и информатики, инженер-программист, Лаборатория вычислительных систем, Институт физики полупроводников им. А.В. Ржанова СО РАН, г. Новосибирск, Россия. E-mail: ovm@sibguti.ru
Курносов Михаил Георгиевич – канд. техн. наук, доцент, кафедра «Вычислительные системы», Сибирский государственный университет телекоммуникаций и информатики, науч. сотрудник, Лаборатория вычислительных систем, Институт физики полупроводников им. А.В. Ржанова СО РАН, г. Новосибирск, Россия. E-mail: mkurnosov@sibguti.ru
Аннотация
Выполнен экспериментальный анализ возможностей современных оптимизирующих компиляторов Intel C/C++ Compiler, GCC C/C++, LLVM/Clang и PGI C/C++ по автоматической векторизации циклов на архитектурах Intel 64 и Intel Xeon Phi. В качестве целевого набора тестовых циклов использован набор Extended Test Suite for Vectorizing Compilers. В ходе работы установлены ускорения для различных типов данных и определены классы циклов, автоматическая векторизация которых указанными компиляторами затруднена. Экспериментальная часть работы выполнена на двухпроцессорном NUMA-сервере (2 × Intel Xeon E5-2620v3, микроархитектура Intel Haswell) с сопроцессором Intel Xeon Phi 3120A.
Ключевые слова: векторизация; компиляторы; циклы; архитектура Intel 64; архитектура Intel Xeon Phi; векторные инструкции AVX.
Полный текст: [in elibrary.ru]
Ссылки на литературу
- Maleki S., Gao Ya. Garzarán M.J., Wong T., Padua D.A. An Evaluation of Vectorizing Compilers // Proc. of the International Conference on Parallel Architectures and Compilation Techniques (PACT'11). 2011. P. 372 – 382.
- Extended Test Suite for Vectorizing Compilers URL: http://polaris.cs.uiuc.edu/~maleki1/TSVC.tar.gz(датаобращения 02.02.2017).
- Callahan D., Dongarra J., Levine D. Vectorizing Compilers: A Test Suite and Results // Proc. of the ACM/IEEE conference on Supercomputing (Supercomputing'88). 1988. P. 98 – 105.
- Levine D., Callahan D., Dongarra J. A Comparative Study of Automatic Vectorizing Compilers // Journal of Parallel Computing. 1991. Vol. 17. P. 1223 – 1244.
- Konsor P. Avoiding AVX-SSE Transition Penalties // URL: https://software.intel.com/en-us/articles/avoiding-avx-sse-transition-penalties (дата обращения 02.02.2017).
- Jibaja I., Jensen P., Hu N., Haghighat M., McCutchan J., Gohman D., Blackburn S., McKinley K. Vector Parallelism in JavaScript: Language and Compiler Support for SIMD // Proc. of the International Conference on Parallel Architecture and Compilation (PACT-2015). 2015. P. 407 – 418.
- Векторизация программ: теория, методы, реализация. Сб. статей: Пер. с англ. и нем. М.: Мир. 1991. 275 с.
- Metzger R.C., Wen Zh. Automatic Algorithm Recognition and Replacement: A New Approach to Program Optimization. MIT Press. 2000. 219 p.
- Nuzman D., Rosen I., Zaks A. Auto-vectorization of interleaved data for SIMD // Proc. of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '06). 2006. P. 132 – 143.
- Rohou E., Williams K., Yuste D. Vectorization Technology To Improve Interpreter Performance // ACM Transactionson Architecture and Code Optimization. 2013. 9 (4). P. 26:1 – 26:22.