OpenMPIR: Implementing OpenMP Tasks with Tapir

OpenMPIR: Implementing OpenMP Tasks with Tapir
复制标题

OpenMPIR:使用 Tapir 实施 OpenMP 任务

DOI:
--
复制
发表时间:
2017
期刊:
LLVM-HPC@SC
影响因子:
--
通讯作者:
P. McCormick
P. McCormick
中科院分区:
--
文献类型:
--
作者:
George Stelle;William S. Moses;Stephen L. Olivier;P. McCormick

文献摘要

被引文献

相似文献

针对任务级并行的优化编译器仍处于起步阶段。这项工作探索了一种编译器前端,它将OpenMP任务语义转换为Tapir,Tapir是对LLVM IR的一种扩展,用于表示分叉 - 合并并行性。这使得对OpenMP代码以前无法进行的分析和优化成为可能,并且在代码生成时能够针对其他运行时环境。使用Cilk运行时后端,我们将结果与现有的OpenMP实现进行比较。巴塞罗那OpenMP任务集的初步性能结果表明,与现有实现相比性能有所提高。
Optimizing compilers for task-level parallelism are still in their infancy. This work explores a compiler front end that translates OpenMP tasking semantics to Tapir, an extension to LLVM IR that represents fork-join parallelism. This enables analyses and optimizations that were previously inaccessible to OpenMP codes, as well as the ability to target additional runtimes at code generation. Using a Cilk runtime back end, we compare results to existing OpenMP implementations. Initial performance results for the Barcelona OpenMP task suite show performance improvements over existing implementations.