Talks and Poster Presentations (with Proceedings-Entry):
D. Quinlan, M. Schordan, Q. Yi, B Supinski:
"Semantic-Driven Parallelization of Loops Operating on User-Defined Containers";
Talk: Languages and Compilers for Parallel Computing: 16th International Workshop,
College Station, TX, USA;
- 2003-10-04; in: "Proceedings of the 16th Annual Workshop on Languages and Compilers for Parallel Computing (LCPC'03)",
Lecture Notes in Computer Science / Springer-Verlag,
We describe ROSE, a C++ infrastructure for source-to-source
translation, that provides an interface for programmers
to easily write their own translators for optimizing user-defined
high-level abstractions. Utilizing the semantics of these high-level
abstractions, we demonstrate the automatic parallelization of loops
that iterate over user-defined containers that have interfaces similar to
the lists, vectors and sets in the Standard Template Library (STL).
The parallelization is realized in two phases. First, we insert
OpenMP directives into a serial program, driven by the recognition
of the high-level abstractions, containers, that are thread-safe.
Then, we translate the OpenMP directives into library routines
that explicitly create and manage parallelism.
By providing an interface for the programmer to classify the
semantics of their abstractions, we are able to automatically
parallelize operations on containers, such as linked-lists,
without resorting to complex loop dependence analysis techniques.
Our approach is consistent with general goals within
Online library catalogue of the TU Vienna:
Electronic version of the publication:
Created from the Publication Database of the Vienna University of Technology.