首页> 外文会议>International workshop on openMP >Compiler Optimizations for OpenMP
【24h】

Compiler Optimizations for 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. In this work we investigate to what degree OpenMP runtime aware compiler optimizations can mitigate these problems. We discuss several transformations that explicitly change the OpenMP enriched compiler intermediate representation. They act as stand-alone optimizations but also enable existing optimizations that were not applicable before. This is all done in the existing LLVM/Clang compiler toolchain without introducing a new parallel representation. Our optimizations do not only improve the execution time of OpenMP annotated programs but also help to determine the caveats for transformations on the current representation of OpenMP.
机译:现代编译器支持OpenMP作为将并行性引入C / C ++和Fortran等顺序语言的便捷方式,但其使用也介绍了立即缺点。在许多实现中,由于早期概述和间接虽然OpenMP运行时,前端创建了由标准的中端编译器通过不可能克服的优化障碍。因此,OpenMP注释的程序构造防止各种经典编译器变换,如恒定的传播和循环不变的代码运动。此外,分析结果,尤其是别名信息,在可能会严重损害性能的情况下严重降级。在这项工作中,我们调查OpenMP运行时感知编译器优化可以减轻这些问题。我们讨论了几种显式改变OpenMP丰富的编译器中间表示的转换。它们充当独立的优化,但也能够以前不适用的现有优化。这一切都在现有的LLVM / CLANG编译器工具链中完成,而不引入新的并行表示。我们的优化不仅改进了OpenMP注释程序的执行时间,还可以帮助确定用于在OpenMP的当前表示转换的警告。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号