Compiler Optimizations for OpenMP

Compiler Optimizations for OpenMP
复制标题

OpenMP 编译器优化

DOI:
--
复制
发表时间:
2018
期刊:
International Workshop on OpenMP
影响因子:
--
通讯作者:
H. Finkel
H. Finkel
中科院分区:
--
文献类型:
--
作者:
J. Doerfert;H. Finkel

文献摘要

被引文献

相似文献

现代编译器支持OpenMP作为一种方便的方式,将并行性引入顺序语言,例如C/C ++和Fortran,但是它的使用也引入了即时的缺点。在许多实现中,由于开放式运行时的提前概述和间接时间,前端创建了优化障碍,这些障碍是无法通过标准的中端编译器通行证来克服的。结果,OpenMP注释的程序构造可以防止各种经典的编译器转换,例如恒定传播和循环不变代码运动。此外,在存在可能严重损害性能的OpenMP构建体的情况下,分析结果,尤其是别名信息会严重降级。
Modern compilers support OpenMP as a convenient way to introduce parallelism into sequential languages like C/C++ and Fortran, however, its use also introduces immediate drawbacks. In many implementations, due to early outlining and the indirection though the OpenMP runtime, the front-end creates optimization barriers that are impossible to overcome by standard middle-end compiler passes. As a consequence, the OpenMP-annotated program constructs prevent various classic compiler transformations like constant propagation and loop invariant code motion. In addition, analysis results, especially alias information, is severely degraded in the presence of OpenMP constructs which can severely hurt performance.