STEP: Transformation System for Parallel Execution
STEP,
Système de Transformation pour l'Exécution
Parallèle, aims at transforming a parallel program containing
high-level directives, expressing parallelism, into a message-passing
program. STEP wants to provide a parallel programming model suitable
for both shared-memory and distributed-memory architectures. The
approach is based on the programmer expertise provided by the
directives and program transformation tools. Goals are several:
- keeping a global view of the parallel application,
- separating parallel concerns and applications concerns,
- generating a parallel version using the program transformation tool to help the programmer with programming,
- generating several versions of the parallel application
depending on the hardware architecture,
- handling hybrid parallelism.
Keywords: software engineering, compilation, parallel
programming, program transformation, annotation programming,
semi-automatic parallelization.
Main features
Our first prototype aims at transforming an OpenMP program
into a MPI program. The OpenMP standard provides high-level
directives to express both loop and task parallelism.
OpenMP directives are easily inserted by the programmer and
provide the program transformation tool with data and
computation dependences. With these information, the program
transformation tool is able to generate a correct message-passing
parallel program.
Our first prototype is based on the
PIPS framework. See
Download.
LINKS
Papers
- D. Millot, A. Muller, C. Parrot and
F. Silber-Chaussumier, "Premières expérimentations avec le système de
transformation pour l'exécution parallèle STEP", Rencontres
francophones du Parallélisme (RenPar'19), 2009.
- D. Millot, A. Muller, C. Parrot and
F. Silber-Chaussumier, "From OpenMP to MPI: first experiments of the
STEP source-to-source transformation", Mini-symposium in International
Conference on Parallel Computing (ParCO) - Parallel Programming Tools
for Multi-core Architectures, 2009.
- A. M. Kouadri-Mostéfaoui, D. Millot, C. Parrot and
F. Silber-Chaussumier, "Prototyping the automatic generation of MPI
code from OpenMP programs in GCC.", First International Workshop on
GCC Research Opportunities (GROW09), 2009.
- D. Millot, A. Muller, C. Parrot and
F. Silber-Chaussumier, "STEP: a distributed OpenMP for coarse-grain
parallelism tool", International Workshop on OpenMP '08, OpenMP in a
New Era of Parallelism, Purdue University, USA, IWOMP 2008, iwomp.pdf.
- More to come...