The benefits of high level approach to parallel programming are well understood and are often desired in order to separate the domain view of the problem from the intricate implementation details. Yet, a naive execution of the resulting programs attracts unnecessary and even prohibitive performance costs. One convenient way of expressing a program is by composing collective operations on large data structures. Even if these collective operations are implemented efficiently and provide a high degree of parallelism, the result of each operation must be fully computed and written into memory before the next operation can consume it as input. The cost of transferring these intermediate results to and from memory has a very noticeable impact on...
We present an embedded language in Haskell for programming pipelined computations. The language is a...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
This thesis presents a parallel programming model based on the gradual introduction of implementatio...
Abstract. Loop fusion is a program transformation that merges multi-ple loops into one. It is eectiv...
Loop fusion improves data locality and reduces synchronization in data-parallel applications. Howeve...
Fusion is one of the most important code transformations as it has the potential to substantially op...
We present a refined approach to parallel array fusion that uses indexed types to specify the intern...
High-level domain-specific languages for array processing on the GPU are increasingly common, but th...
many benefits in simplifying array-based computations and expressing data parallelism. However, they...
Loop fusion is a program transformation that merges multiple loops into one and is an effective opti...
On modern processors, data transfer exceeds floating-point operations as the predominant cost in man...
As the demand increases for high performance and power efficiency in modern computer runtime systems...
Data parallel operations are widely used in game, multimedia, physics and data-intensive and scienti...
Loop fusion is a program transformation that merges multiple loops into one and is an effective opti...
Over the past few decades, scientific research has grown to rely increasingly on simulation and othe...
We present an embedded language in Haskell for programming pipelined computations. The language is a...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
This thesis presents a parallel programming model based on the gradual introduction of implementatio...
Abstract. Loop fusion is a program transformation that merges multi-ple loops into one. It is eectiv...
Loop fusion improves data locality and reduces synchronization in data-parallel applications. Howeve...
Fusion is one of the most important code transformations as it has the potential to substantially op...
We present a refined approach to parallel array fusion that uses indexed types to specify the intern...
High-level domain-specific languages for array processing on the GPU are increasingly common, but th...
many benefits in simplifying array-based computations and expressing data parallelism. However, they...
Loop fusion is a program transformation that merges multiple loops into one and is an effective opti...
On modern processors, data transfer exceeds floating-point operations as the predominant cost in man...
As the demand increases for high performance and power efficiency in modern computer runtime systems...
Data parallel operations are widely used in game, multimedia, physics and data-intensive and scienti...
Loop fusion is a program transformation that merges multiple loops into one and is an effective opti...
Over the past few decades, scientific research has grown to rely increasingly on simulation and othe...
We present an embedded language in Haskell for programming pipelined computations. The language is a...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
This thesis presents a parallel programming model based on the gradual introduction of implementatio...