This paper presents and evaluates a restructuring optimization technique for the compilation of synchronous FORALLs. Because of its elegant machine-independence we choose Modula-2*, a problem-oriented explicitly parallel programming language, as our conceptual framework. The presented optimization technique has improved runtime performance on Modula-2* benchmarks by over 40% on a MasPar MP-1 and by over 100% on sequential workstations. We present our approach in terms of a source-to-source transformation. The compiler analyzes programs that contain synchronous FORALLs and, hence, vast numbers of synchronization barriers. These are transformed into semantically equivalent programs that only contain asynchronous FORALLs, thus greatly simplify...
Parallel programs should be machine-independent, i.e., independent of properties that are likely to ...
A parallel program consists of sets of concurrent and sequential tasks. Often, a reduction (such as ...
This thesis provides a fully automatic translation from synchronous programs to parallel software fo...
As parallel machines become part of the mainstream computing environment, compilers will need to app...
Most current compiler analysis techniques are unable to cope with the semantics introduced by explic...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Developers of scalable libraries and applications for distributed-memory parallel systems face many ...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
: Many coarse-grained, explicitly parallel programs execute in phases delimited by barriers to prese...
Loops in scientific and engineering applications provide a rich source of parallelism. In order to o...
In this paper, we focus on the need for two approaches to optimize producer and consumer synchroniza...
Parallelism suffers from a lack of programming languages both simple to handle and able to take adva...
EjFcient synchronization primitives are essential for achieving high performance in he-grain, shared...
Parallelism suffers from a lack of programming languages both simple to handle and able to take adva...
Despite recent advances in compiler technology, programmers are still confronted with machinedepende...
Parallel programs should be machine-independent, i.e., independent of properties that are likely to ...
A parallel program consists of sets of concurrent and sequential tasks. Often, a reduction (such as ...
This thesis provides a fully automatic translation from synchronous programs to parallel software fo...
As parallel machines become part of the mainstream computing environment, compilers will need to app...
Most current compiler analysis techniques are unable to cope with the semantics introduced by explic...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Developers of scalable libraries and applications for distributed-memory parallel systems face many ...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
: Many coarse-grained, explicitly parallel programs execute in phases delimited by barriers to prese...
Loops in scientific and engineering applications provide a rich source of parallelism. In order to o...
In this paper, we focus on the need for two approaches to optimize producer and consumer synchroniza...
Parallelism suffers from a lack of programming languages both simple to handle and able to take adva...
EjFcient synchronization primitives are essential for achieving high performance in he-grain, shared...
Parallelism suffers from a lack of programming languages both simple to handle and able to take adva...
Despite recent advances in compiler technology, programmers are still confronted with machinedepende...
Parallel programs should be machine-independent, i.e., independent of properties that are likely to ...
A parallel program consists of sets of concurrent and sequential tasks. Often, a reduction (such as ...
This thesis provides a fully automatic translation from synchronous programs to parallel software fo...