Extending OpenMP* with Vector Constructs for Modern Multicore SIMD Architectures

Extending OpenMP* with Vector Constructs for Modern Multicore SIMD Architectures
复制标题

使用现代多核 SIMD 架构的矢量结构扩展 OpenMP*

DOI:
10.1007/978-3-642-30961-8_5
复制
发表时间:
2012
期刊:
2009 11th International Conference on Computer Modelling and Simulation
影响因子:
--
通讯作者:
X. Martorell
X. Martorell
中科院分区:
--
文献类型:
--
作者:
Michael Klemm;A. Duran;Xinmin Tian;Hideki Saito;Diego Caballero;X. Martorell

文献摘要

被引文献

相似文献

为了获得最大性能,许多应用程序需要将并行性从多线程扩展到许多当前(和未来)多核架构中存在的指令级(SIMD)并行性。虽然自动矢量化技术已用于开发此 SIMD 级别,但由于 OpenMP 语义和编译器技术的限制,它并不总是足够的。在这些情况下,程序员需要求助于低级内在函数或供应商特定指令。我们提出了一个新的 OpenMP 指令:simd 指令。该指令将允许程序员指导矢量化过程,从而更高效、更便携地利用 SIMD 级别。我们的性能结果表明,与英特尔® Composer XE 2011 的当前自动矢量化技术相比,有了显着改进。
In order to obtain maximum performance, many applications require to extend parallelism from multi-threading to instruction-level (SIMD) parallelism that exists in many current (and future) multi-core architectures. While auto-vectorization technology has been used to exploit this SIMD level, it is not always enough due to OpenMP semantics and compiler technology limitations. In those cases, programmers need to resort to low-level intrinsics or vendor specific directives. We propose a new OpenMP directive: the simd directive. This directive will allow programmers to guide the vectorization process enabling a more productive and portable exploitation of the SIMD level. Our performance results show significant improvements over current auto-vectorizing technology of the Intel® Composer XE 2011.