Enabling programmers to "think parallel'' is critical if we are to be able to effectively exploit future multicore/manycore architectures.This paper introduces paraforming: a new approach to constructing parallel functional programs using formally-defined refactoring transformations.We introduce a number of new refactorings for Parallel Haskell that capture common parallel abstractions, such as divide-and-conquerand data parallelism,and show how these can be used by the HaRe Haskell refactoring engine. Using a paraforming approach, we are able to easily obtainsignificant and scalable speedups (up to 7.8 on an 8-core machine)
Nowadays, performance in processors is increased by adding more cores orwider vector units, or by co...
If you want to program a parallel computer, a purely functional language like Haskell is a promising...
This work has been partially supported by the EU H2020 grant “RePhrase: Refactoring Parallel Heterog...
We propose a refactoring tool for the Haskell programming language, capable of introducing paralleli...
Refactoring is the process of changing the structure of a program without changing its behaviour. Re...
It has often been suggested that functional languages provide an excellent basis for programming par...
Funding: This work has been supported by the European Union grants RII3-CT-2005- 026133 SCIEnce: Sym...
This paper describes a new technique for identifying potentially parallelisable code structures in f...
It has long been known that some of the most common uses of for and while-loops in imperative progra...
Recent trends towards increasingly parallel computers mean that there needs to be a seismic shift in...
This paper describes the ParaPhrase project, a new 3-year targeted research project funded under EU ...
We demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool for a com...
AbstractWe demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool f...
<p>With the emergence of commodity multicore architectures, exploiting tightly-coupled paralle...
Computing is everywhere and our society depends on it. Increased performance over the last decades h...
Nowadays, performance in processors is increased by adding more cores orwider vector units, or by co...
If you want to program a parallel computer, a purely functional language like Haskell is a promising...
This work has been partially supported by the EU H2020 grant “RePhrase: Refactoring Parallel Heterog...
We propose a refactoring tool for the Haskell programming language, capable of introducing paralleli...
Refactoring is the process of changing the structure of a program without changing its behaviour. Re...
It has often been suggested that functional languages provide an excellent basis for programming par...
Funding: This work has been supported by the European Union grants RII3-CT-2005- 026133 SCIEnce: Sym...
This paper describes a new technique for identifying potentially parallelisable code structures in f...
It has long been known that some of the most common uses of for and while-loops in imperative progra...
Recent trends towards increasingly parallel computers mean that there needs to be a seismic shift in...
This paper describes the ParaPhrase project, a new 3-year targeted research project funded under EU ...
We demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool for a com...
AbstractWe demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool f...
<p>With the emergence of commodity multicore architectures, exploiting tightly-coupled paralle...
Computing is everywhere and our society depends on it. Increased performance over the last decades h...
Nowadays, performance in processors is increased by adding more cores orwider vector units, or by co...
If you want to program a parallel computer, a purely functional language like Haskell is a promising...
This work has been partially supported by the EU H2020 grant “RePhrase: Refactoring Parallel Heterog...