This report focuses on the compilation of the ``while'' loops in data-parallel languages for MIMD Shared Memory architectures. An efficient compilation must decrease the number of ``global synchronizations'' due to dependencies. We validate an optimization suggested by Hatcher and Quinn for the DPC language. It consists in splitting the original loop into two loops : one ``computation loop'' without any additional control dependencies, and one ``waiting loop'' to assure termination. Computation loop's body presents a minimal number of global synchronizations. We study informaly its correction proof, and give the methodology leading of its conception. The formal proof is based on the axiomatic semantics of Owiki and Gries. We give an axiomat...
Les grilles de calculs sont des architectures distribuées couramment utilisées pour l'exécution de p...
Abstract: "Data-parallel programming languages have many desirable features, such as single-thread s...
Uncountable loops (such as while loops in C) and if-conditions are some of the most common construct...
(eng) This report focuses on the compilation of the ``while'' loops in data-parallel languages for M...
Loops in scientific and engineering applications provide a rich source of parallelism. In order to o...
We present two algorithms to minimize the amount of synchronization added when parallelizing a loop ...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Shared memory concurrency is the pervasive programming model for multicore architectures such as x8...
In this paper, we focus on the need for two approaches to optimize producer and consumer synchroniza...
Classical imperative data-parallel languages offer a simple synchronous programming model. The chall...
In this paper we present a unified approach for compiling programs for Distributed-Memory Multiproce...
Multicore shared-memory architectures are becoming prevalent but bring many programming challenges. ...
Loops are the main source of parallelism in scientific programs. Hence, several techniques were dev...
: Many coarse-grained, explicitly parallel programs execute in phases delimited by barriers to prese...
Les grilles de calculs sont des architectures distribuées couramment utilisées pour l'exécution de p...
Abstract: "Data-parallel programming languages have many desirable features, such as single-thread s...
Uncountable loops (such as while loops in C) and if-conditions are some of the most common construct...
(eng) This report focuses on the compilation of the ``while'' loops in data-parallel languages for M...
Loops in scientific and engineering applications provide a rich source of parallelism. In order to o...
We present two algorithms to minimize the amount of synchronization added when parallelizing a loop ...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Data-Parallel languages offer a programming model structured and easy to understand. The challenge c...
Shared memory concurrency is the pervasive programming model for multicore architectures such as x8...
In this paper, we focus on the need for two approaches to optimize producer and consumer synchroniza...
Classical imperative data-parallel languages offer a simple synchronous programming model. The chall...
In this paper we present a unified approach for compiling programs for Distributed-Memory Multiproce...
Multicore shared-memory architectures are becoming prevalent but bring many programming challenges. ...
Loops are the main source of parallelism in scientific programs. Hence, several techniques were dev...
: Many coarse-grained, explicitly parallel programs execute in phases delimited by barriers to prese...
Les grilles de calculs sont des architectures distribuées couramment utilisées pour l'exécution de p...
Abstract: "Data-parallel programming languages have many desirable features, such as single-thread s...
Uncountable loops (such as while loops in C) and if-conditions are some of the most common construct...