UPIR: Toward the Design of Unified Parallel Intermediate Representation for Parallel Programming Models
Anjia Wang, Xinyao Yi, Yonghong Yan

TL;DR
This paper introduces UPIR, a unified intermediate representation designed to support multiple parallel programming models, simplifying compiler transformations and improving portability across heterogeneous architectures.
Contribution
It proposes a comprehensive IR that captures common parallelism patterns and data management, enabling unified compilation for OpenMP and OpenACC in C/C++ and Fortran.
Findings
Prototype implementation in ROSE compiler demonstrates feasibility.
Unified IR supports transformations for multiple parallel models.
Facilitates code lowering to LLVM runtime and MLIR dialects.
Abstract
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 paper, 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Cloud Computing and Resource Management
