Skip to content

Research at St Andrews

Lapedo: hybrid skeletons for programming heterogeneous multicore machines in Erlang

Research output: Chapter in Book/Report/Conference proceedingConference contribution


We describe Lapedo, a novel library of hybrid parallel skeletons for programming heterogeneous multi-core/many-core CPU/GPU sys- tems in Erlang. Lapedo’s hybrid skeletons comprise a mixture of CPU and GPU components, allowing skeletons to be flexibly and dynamically mapped to available resources. We also describe a model for deriving near-optimal division of work between CPUs and GPUs, ensuring load balancing between resources. Finally, we evaluate the effectiveness of Lapedo on three realistic use cases from different domains, demonstrating significant speedups compared to executing the same application on only CPU cores or a GPU.


Original languageEnglish
Title of host publicationParallel Computing
Subtitle of host publicationOn the Road to Exascale
EditorsGerhard R Joubert, Hugh Leather, Mark Parsons, Frans Peters, Mark Sawyer
PublisherIOS Press
ISBN (Print)9781614996200, 9781614996217
Publication statusPublished - Apr 2016
EventInternational Conference on Parallel Computing (ParCo) 2015 - University of Edinburgh, Informatics Forum, Edinburgh, United Kingdom
Duration: 1 Sep 20154 Sep 2015

Publication series

NameAdvances in Parallel Computing


ConferenceInternational Conference on Parallel Computing (ParCo) 2015
CountryUnited Kingdom
Internet address

    Research areas

  • Parallel skeletons, Heterogeneous systems, GPU Offloading

Discover related content
Find related publications, people, projects and more using interactive charts.

View graph of relations

Related by author

  1. The Missing Link! A new skeleton for evolutionary multi-agent systems in Erlang

    Stypka, J., Turek, W., Byrski, A., Kisiel-Dorohinicki, M., Barwell, A. D., Brown, C. M., Hammond, K. & Janjic, V., Feb 2018, In : International Journal of Parallel Programming. 46, 1, p. 4-22 19 p.

    Research output: Contribution to journalArticle

  2. RPL: a domain-specific language for designing and implementing parallel C++ applications

    Janjic, V., Brown, C. M., MacKenzie, K. W., Hammond, K., Danelutto, M., Aldinucci, M. & Garcia, D. J., 31 Mar 2016, 2016 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP). Cotronis, Y., Daneshtalab, M. & Papadopoulos, G. A. (eds.). Institute of Electrical and Electronics Engineers Inc., p. 288-295 7445342

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  3. Space exploration using parallel orbits: a study in parallel symbolic computing

    Janjic, V., Brown, C. M., Neunhoeffer, M., Hammond, K., Linton, S. A. & Loidl, H-W., Sep 2013, Parallel Computing: Accelerating Computational Science and Engineering (CSE). Bader, M., Bode, A., Bungartz, H-J., Gerndt, M., Joubert, G. R. & Peters, F. (eds.). IOS Press, Vol. 25. p. 225-232 8 p. (Advances in Parallel Computing).

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  4. Mapping parallel programs to heterogeneous CPU/GPU architectures using a Monte Carlo Tree Search

    Goli, M., McCall, J., Brown, C. M., Janjic, V. & Hammond, K., 20 Jun 2013, 2013 IEEE Congress on Evolutionary Computation, CEC 2013. IEEE, p. 2932-2939 8 p.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

ID: 228461812