arrow
Return

Intermediate Representations for Explicitly Parallel Programs

delete2021-05-25
delete1
PRE
AI
A
Adilla Susungi *
C
Claude Tadonki
DOI:10.1145/3452299delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
While compilers generally support parallel programming languages and APIs, their internal program representations are mostly designed fromthe sequential programs standpoint (exceptions include source-to-source parallel compilers, for instance). This makes the integration of compilation techniques dedicated to parallel programs more challenging. In addition, parallelism has various levels and different targets, each of themwith specific characteristics and constraints. With the advent of multi-core processors and general purpose accelerators, parallel computing is now a common and pervasive consideration. Thus, software support to parallel programming activities is essential to make this technical transition more realistic and beneficial. The case of compilers is fundamental as they deal with (parallel) programs at a structural level, thus the need for intermediate representations. This article surveys and discusses attempts to provide intermediate representations for the proper support of explicitly parallel programs. We highlight the gap between available contributions and their concrete implementation in compilers and then exhibit possible future research directions.
Keywords:
Intermediate representation
compilation
parallelism
polyhedral model
intermediate language
graph
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

ACM Computing Surveys cover
ACM Computing Surveys
IF:
28
Papers:
2.4K
Citations:
3.5W

Organization

U
Universite PSL
Scholars:
3.3W
Papers: 2.5W
Citations: 91