Files in this item
Refactoring for introducing and tuning parallelism for heterogeneous multicore machines in Erlang
Item metadata
dc.contributor.author | Janjic, Vladimir | |
dc.contributor.author | Brown, Christopher | |
dc.contributor.author | Barwell, Adam | |
dc.contributor.author | Hammond, Kevin | |
dc.date.accessioned | 2020-06-23T23:36:20Z | |
dc.date.available | 2020-06-23T23:36:20Z | |
dc.date.issued | 2019-06-24 | |
dc.identifier | 259077723 | |
dc.identifier | f31ae458-56ad-48b8-9df9-132877165e0f | |
dc.identifier | 85068082266 | |
dc.identifier | 000664714600015 | |
dc.identifier.citation | Janjic , V , Brown , C , Barwell , A & Hammond , K 2019 , ' Refactoring for introducing and tuning parallelism for heterogeneous multicore machines in Erlang ' , Concurrency and Computation : Practice and Experience , vol. Early View , e5420 , pp. 1-25 . https://doi.org/10.1002/cpe.5420 | en |
dc.identifier.issn | 1532-0634 | |
dc.identifier.other | ORCID: /0000-0002-4326-4562/work/58984300 | |
dc.identifier.other | ORCID: /0000-0003-1236-7160/work/58984325 | |
dc.identifier.other | ORCID: /0000-0001-6030-2885/work/70619181 | |
dc.identifier.uri | https://hdl.handle.net/10023/20135 | |
dc.description | This research has been generously supported by the European Union Framework 7 Para-Phrase project (IST-288570), EU Horizon 2020 projects RePhrase (H2020-ICT-2014-1), agreement number 644235; Teamplay (H2020-ICT 2017-1) agreement number 779882, and EPSRC Discovery, EP/P020631/1. EU COST Action IC1202: Timing Analysis On Code-Level (TACLe), and by a travel grant from EU HiPEAC. | en |
dc.description.abstract | 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 sequential code and produce heterogeneous parallel versions that can achieve significant and scalable speedups of up to 220 over the original sequential Erlang program on a 24‐core machine with a GPU. | |
dc.format.extent | 25 | |
dc.format.extent | 1695499 | |
dc.language.iso | eng | |
dc.relation.ispartof | Concurrency and Computation : Practice and Experience | en |
dc.subject | Erlang | en |
dc.subject | GPU | en |
dc.subject | Heterogenous | en |
dc.subject | Multi-core | en |
dc.subject | Parallelism | en |
dc.subject | Refactoring | en |
dc.subject | QA75 Electronic computers. Computer science | en |
dc.subject | NDAS | en |
dc.subject | BDC | en |
dc.subject | R2C | en |
dc.subject.lcc | QA75 | en |
dc.title | Refactoring for introducing and tuning parallelism for heterogeneous multicore machines in Erlang | en |
dc.type | Journal article | en |
dc.contributor.sponsor | EPSRC | en |
dc.contributor.sponsor | European Commission | en |
dc.contributor.sponsor | European Commission | en |
dc.contributor.institution | University of St Andrews. Centre for Interdisciplinary Research in Computational Algebra | en |
dc.contributor.institution | University of St Andrews. School of Computer Science | en |
dc.identifier.doi | 10.1002/cpe.5420 | |
dc.description.status | Peer reviewed | en |
dc.date.embargoedUntil | 2020-06-24 | |
dc.identifier.grantnumber | EP/P020631/1 | en |
dc.identifier.grantnumber | 779882 | en |
dc.identifier.grantnumber | 644235 | en |
This item appears in the following Collection(s)
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.