Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorJanjic, Vladimir
dc.contributor.authorBrown, Christopher
dc.contributor.authorBarwell, Adam
dc.contributor.authorHammond, Kevin
dc.date.accessioned2020-06-23T23:36:20Z
dc.date.available2020-06-23T23:36:20Z
dc.date.issued2019-06-24
dc.identifier.citationJanjic , 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.5420en
dc.identifier.issn1532-0634
dc.identifier.otherPURE: 259077723
dc.identifier.otherPURE UUID: f31ae458-56ad-48b8-9df9-132877165e0f
dc.identifier.otherORCID: /0000-0002-4326-4562/work/58984300
dc.identifier.otherORCID: /0000-0003-1236-7160/work/58984325
dc.identifier.otherScopus: 85068082266
dc.identifier.otherORCID: /0000-0001-6030-2885/work/70619181
dc.identifier.urihttp://hdl.handle.net/10023/20135
dc.descriptionThis 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.abstractThis 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.extent25
dc.language.isoeng
dc.relation.ispartofConcurrency and Computation : Practice and Experienceen
dc.rights© 2019, John Wiley & Sons, Ltd. This work has been made available online in accordance with the publisher’s policies. This is the author created accepted version manuscript following peer review and as such may differ slightly from the final published version. The final published version of this work is available at https://doi.org/10.1002/cpe.5420en
dc.subjectErlangen
dc.subjectGPUen
dc.subjectHeterogenousen
dc.subjectMulti-coreen
dc.subjectParallelismen
dc.subjectRefactoringen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectNDASen
dc.subjectBDCen
dc.subjectR2Cen
dc.subject.lccQA75en
dc.titleRefactoring for introducing and tuning parallelism for heterogeneous multicore machines in Erlangen
dc.typeJournal articleen
dc.description.versionPostprinten
dc.contributor.institutionUniversity of St Andrews.Centre for Interdisciplinary Research in Computational Algebraen
dc.contributor.institutionUniversity of St Andrews.School of Computer Scienceen
dc.identifier.doihttps://doi.org/10.1002/cpe.5420
dc.description.statusPeer revieweden
dc.date.embargoedUntil2020-06-24


This item appears in the following Collection(s)

Show simple item record