UPIR: Toward the Design of Unified Parallel Intermediate Representation for Parallel Programming Models

UPIR: Toward the Design of Unified Parallel Intermediate Representation for Parallel Programming Models
复制标题

UPIR:面向并行编程模型的统一并行中间表示的设计

DOI:
10.1145/3559009.3569646
复制
发表时间:
2022
期刊:
PACT '22: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques
影响因子:
--
通讯作者:
Yan, Yonghong
Yan, Yonghong
中科院分区:
--
文献类型:
--
作者:
Wang, Anjia;Yi, Xinyao;Yan, Yonghong

文献摘要

参考文献

相似文献

异质计算体系结构的复杂性,以及对高效和可移植的并行应用程序开发的需求,推动了并行编程模型的演变,使其变得比以前更加全面和复杂。增强传统的编译技术和软件基础设施使其具有并行性,已成为最近编译器开发的主要目标之一。在这项工作中,我们提出了多个并行编程模型的统一并行中间表示(UPIR)的设计,并实现了对这些模型的统一编译转换。UPIR指定了三种常用的并行模式(SPMD、数据和任务并行)、数据属性和显式数据移动和内存管理,以及并行编程中使用的同步操作。我们通过ROSE编译器中的原型实现演示了UPIR,该实现用于统一OpenMP和Openacc以及C/C++和Fortran的IR,用于统一将OpenMP和Openacc代码降低到LLVM运行时的转换,以及用于将UPIR导出到LLVM MLIR方言。这篇摘要的全文可以在https://arxiv.org/abs/2209.10643.上找到
The complexity of heterogeneous computing architectures, as well as the demand for productive and portable parallel application development, have driven the evolution of parallel programming models to become more comprehensive and complex than before. Enhancing the conventional compilation technologies and software infrastructure to be parallelism-aware has become one of the main goals of recent compiler development. In this work, we propose the design of unified parallel intermediate representation (UPIR) for multiple parallel programming models and for enabling unified compiler transformation for the models. UPIR specifies three commonly used parallelism patterns (SPMD, data and task parallelism), data attributes and explicit data movement and memory management, and synchronization operations used in parallel programming. We demonstrate UPIR via a prototype implementation in the ROSE compiler for unifying IR for both OpenMP and OpenACC and in both C/C++ and Fortran, for unifying the transformation that lowers both OpenMP and OpenACC code to LLVM runtime, and for exporting UPIR to LLVM MLIR dialect. The fully extended paper of this abstract can be found from https://arxiv.org/abs/2209.10643.
用于并行化、SIMD 矢量化和卸载的 LLVM 框架和 IR 扩展
DOI: --
发表时间: 2016
期刊: Workshop on the LLVM Compiler Infrastructure in HPC
影响因子: --
作者:
Xinmin Tian;Hideki Saito;Ernesto Su;A. Gaba;Matt Masten;Eric N. Garcia;A. Zaks
通讯作者: A. Zaks
OpenMPIR:使用 Tapir 实施 OpenMP 任务
DOI: --
发表时间: 2017
期刊: LLVM-HPC@SC
影响因子: --
作者:
George Stelle;William S. Moses;Stephen L. Olivier;P. McCormick
通讯作者: P. McCormick
数据并行语言中的同步问题
DOI: --
发表时间: 1993
期刊: International Workshop on Languages and Compilers for Parallel Computing
影响因子: --
作者:
S. Prakash;Maneesh Dhagat;R. Bagrodia
通讯作者: R. Bagrodia
在存在同步的情况下分块并行循环
DOI: --
发表时间: 2009
期刊: International Conference on Supercomputing
影响因子: --
作者:
J. Shirako;Jisheng Zhao;V. K. Nandivada;Vivek Sarkar
通讯作者: Vivek Sarkar
SPMD 执行模型中的同步最小化
DOI: --
发表时间: 1995
期刊: J. Parallel Distributed Comput.
影响因子: --
作者:
M. O’Boyle;L. Kervella;F. Bodin
通讯作者: F. Bodin