Mashing load balancing algorithm to boost hybrid kernels in molecular dynamics simulations

The path to the efficient exploitation of molecular dynamics simulators is strongly driven by the increasingly intensive use of accelerators. However, they suffer performance portability issues, making it necessary both to achieve technological combinations that allow taking advantage of each progra...

ver descrição completa

Detalhes bibliográficos
Autores: Nozal, Raúl|||0000-0002-4927-9829, Bosque Orero, José Luis|||0000-0002-7718-8449
Formato: artículo
Fecha de publicación:2023
País:España
Recursos:Universidad de Cantabria (UC)
Repositorio:UCrea Repositorio Abierto de la Universidad de Cantabria
Idioma:inglés
OAI Identifier:oai:repositorio.unican.es:10902/28379
Acesso em linha:https://hdl.handle.net/10902/28379
Access Level:acceso abierto
Palavra-chave:Load balancing
Co-execution
Hybrid programming models
HPC
Molecular dynamics
OpenMP
OpenCL
C++
CPU-GPU-MIC
Accelerators
Descrição
Resumo:The path to the efficient exploitation of molecular dynamics simulators is strongly driven by the increasingly intensive use of accelerators. However, they suffer performance portability issues, making it necessary both to achieve technological combinations that allow taking advantage of each programming model and device, and to define more effective load distribution strategies that consider the simulation conditions. In this work, a new load balancing algorithm is presented, together with a set of optimizations to support hybrid co-execution in a runtime system for heterogeneous computing. The new extended design enables the exploitation of custom kernels and acceleration technologies altogether, being encapsulated for the rest of the runtime and its scheduling system. With this support, Mash algorithm allows to simultaneously leverage different workload distribution strategies, benefiting from the most advantageous one per device and technology. Experiments show that these proposals achieve an efficiency close to 0.90 and an energy efficiency improvement around 1.80 over the original optimized version.