Automatic Code Generation of Distributed Parallel Tasks

With the advent of clustered systems, more and more parallel computing is required. However a lot of programming skills is needed to write a parallel codes, especially when you want to benefit from the various parallel architectural resources, with heterogeneous units and complex memory organization...

Full description

Saved in:
Bibliographic Details
Published in2016 IEEE Intl Conference on Computational Science and Engineering (CSE) and IEEE Intl Conference on Embedded and Ubiquitous Computing (EUC) and 15th Intl Symposium on Distributed Computing and Applications for Business Engineering (DCABES) pp. 234 - 241
Main Authors Lossing, Nelson, Ancourt, Corinne, Irigoin, Francois
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.08.2016
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:With the advent of clustered systems, more and more parallel computing is required. However a lot of programming skills is needed to write a parallel codes, especially when you want to benefit from the various parallel architectural resources, with heterogeneous units and complex memory organizations. We present in this paper a method that generates automatically, step by step, a task-parallel distributed code from a sequential program. It has been implemented in an existing source-to-source compiler PIPS. Our approach provides two main advantages 1) all the program transformations are simple and applied on source code, thus are visible by the user, 2) a proof of correctness of the parallelization process can be made. This ensures that we end up with a correct distributed-task program for distributed-memory machines. To our knowledge, it is the first tool that automatically generates a distributed code for task parallelization.
DOI:10.1109/CSE-EUC-DCABES.2016.190