Научный журнал
ИЗВЕСТИЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ.
СЕВЕРО-КАВКАЗСКИЙ РЕГИОН.

ТЕХНИЧЕСКИЕ НАУКИ


ИЗВЕСТИЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ СЕВЕРО-КАВКАЗСКИЙ РЕГИОН. 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]

 

Ссылки на литературу

  1. 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.
  2. Extended Test Suite for Vectorizing Compilers URL: http://polaris.cs.uiuc.edu/~maleki1/TSVC.tar.gz(датаобращения 02.02.2017).
  3. 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.
  4. Levine D., Callahan D., Dongarra J. A Comparative Study of Automatic Vectorizing Compilers // Journal of Parallel Computing. 1991. Vol. 17. P. 1223 – 1244.
  5. Konsor P. Avoiding AVX-SSE Transition Penalties // URL: https://software.intel.com/en-us/articles/avoiding-avx-sse-transition-penalties (дата обращения 02.02.2017).
  6. 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.
  7. Векторизация программ: теория, методы, реализация. Сб. статей: Пер. с англ. и нем. М.: Мир. 1991. 275 с.
  8. Metzger R.C., Wen Zh. Automatic Algorithm Recognition and Replacement: A New Approach to Program Optimization. MIT Press. 2000. 219 p.
  9. 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.
  10. 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.