This paper presents semi-automatic software refactorings to introduce and tune structured parallelism in sequential Erlang code, as well as to generate code for running computations on GPUs and possibly other accelerators. Our refactorings are based on the lapedo framework for programming heterogeneous multi-core systems in Erlang. lapedo is based on the PaRTE refactoring tool and also contains (1) a set of hybrid skeletons that target both CPU and GPU processors, (2) novel refactorings for introducing and tuning parallelism, and (3) a tool to generate the GPU offloading and scheduling code in Erlang, which is used as a component of hybrid skeletons. We demonstrate, on four realistic use-case applications, that we are able to refactor seque...
Funding: This work has been supportedby the European Union grants RII3-CT-2005-026133 SCIEnce: Symbo...
Dissertation in Computer Science to be publicly examined in Häggsalen, Ångströmlaboratoriet, Uppsala...
Program Shaping is the process of transforming a sequential program in order to better enable the in...
This paper presents semi-automatic software refactorings to introduce and tune structured parallelis...
We describe Lapedo, a novel library of hybrid parallel skeletons for programming heterogeneous multi...
We describe Lapedo, a novel library of hybrid parallel skeletons for programming heterogeneous multi...
We describe Lapedo, a novel library of hybrid parallel skeletons for programming heterogeneous multi...
This paper introduces a new programming methodology for intro- ducing and tuning parallelism in Erla...
This paper considers how to use program shaping and algorithmic skeletons to parallelise a multi-age...
This paper considers how to use program shaping and algorithmic skeletons to parallelise a multi-age...
Traditional refactoring is about modifying the structure of existing code without changing its behav...
As CPU chips integrate more processor cores, computer systems are evolving from multi-core to many-c...
This paper presents a new technique for introducing and tuning parallelism for heterogeneous shared-...
This paper presents a new technique for introducing and tuning parallelism for heterogeneous shared-...
In summary, the papers included in this special issue are representative of the progress achieved by...
Funding: This work has been supportedby the European Union grants RII3-CT-2005-026133 SCIEnce: Symbo...
Dissertation in Computer Science to be publicly examined in Häggsalen, Ångströmlaboratoriet, Uppsala...
Program Shaping is the process of transforming a sequential program in order to better enable the in...
This paper presents semi-automatic software refactorings to introduce and tune structured parallelis...
We describe Lapedo, a novel library of hybrid parallel skeletons for programming heterogeneous multi...
We describe Lapedo, a novel library of hybrid parallel skeletons for programming heterogeneous multi...
We describe Lapedo, a novel library of hybrid parallel skeletons for programming heterogeneous multi...
This paper introduces a new programming methodology for intro- ducing and tuning parallelism in Erla...
This paper considers how to use program shaping and algorithmic skeletons to parallelise a multi-age...
This paper considers how to use program shaping and algorithmic skeletons to parallelise a multi-age...
Traditional refactoring is about modifying the structure of existing code without changing its behav...
As CPU chips integrate more processor cores, computer systems are evolving from multi-core to many-c...
This paper presents a new technique for introducing and tuning parallelism for heterogeneous shared-...
This paper presents a new technique for introducing and tuning parallelism for heterogeneous shared-...
In summary, the papers included in this special issue are representative of the progress achieved by...
Funding: This work has been supportedby the European Union grants RII3-CT-2005-026133 SCIEnce: Symbo...
Dissertation in Computer Science to be publicly examined in Häggsalen, Ångströmlaboratoriet, Uppsala...
Program Shaping is the process of transforming a sequential program in order to better enable the in...