Programming heterogeneous parallel machines using refactoring and Monte–Carlo tree search.
Brown, Christopher; Janjic, Vladimir; Goli, M.; McCall, J.
Professor John McCall email@example.com
This paper presents a new technique for introducing and tuning parallelism for heterogeneous shared-memory systems (comprising a mixture of CPUs and GPUs), using a combination of algorithmic skeletons (such as farms and pipelines), Monte–Carlo tree search for deriving mappings of tasks to available hardware resources, and refactoring tool support for applying the patterns and mappings in an easy and effective way. Using our approach, we demonstrate easily obtainable, significant and scalable speedups on a number of case studies showing speedups of up to 41 over the sequential code on a 24-core machine with one GPU. We also demonstrate that the speedups obtained by mappings derived by the MCTS algorithm are within 5–15% of the best-obtained manual parallelisation.
BROWN, C. JANJIC, V., GOLI, M. and MCCALL, J. 2020. Programming heterogeneous parallel machines using refactoring and Monte–Carlo tree search. International journal of parallel programming [online], 48(4): high level parallel programming, pages 583-602. Available from: https://doi.org/10.1007/s10766-020-00665-z
|Journal Article Type||Article|
|Acceptance Date||May 27, 2020|
|Online Publication Date||Jun 10, 2020|
|Publication Date||Aug 31, 2020|
|Deposit Date||Jun 26, 2020|
|Publicly Available Date||Jun 26, 2020|
|Journal||International Journal of Parallel Programming|
|Peer Reviewed||Peer Reviewed|
|Keywords||Heterogeneous parallel computing; Monte–Carlo tree search; Optimisations|
BROWN 2020 Programming heterogeneous
Publisher Licence URL
You might also like
Ensemble of deep learning models with surrogate-based optimization for medical image segmentation.
Facility location problem and permutation flow shop scheduling problem: a linked optimisation problem.
Towards explainable metaheuristics: PCA for trajectory mining in evolutionary algorithms.
Towards the landscape rotation as a perturbation strategy on the quadratic assignment problem.