Live Webcast 15th Annual Charm++ Workshop

Accelerating scientific applications on heterogeneous systems with HybridOMP
| Matthias Diener | Dan Bodony | Laxmikant Kale
International Meeting on High Performance Computing for Computational Science (VECPAR) 2018
Publication Type: Paper
Repository URL:
High Performance Computing relies on accelerators (such as GPGPUs) to achieve fast execution of scientific applications. Traditionally, such accelerators have been programmed with specialized languages, such as CUDA or OpenCL. In recent years, OpenMP emerged as a promising alternative for supporting accelerators, providing advantages such as maintaining a single code base for the host and different accelerator types and providing a simple way to extend support for accelerators to existing code. Efficiently using this support requires solving several challenges, related to performance, work partitioning, and concurrent execution on multiple device types. In this paper, we discuss these challenges and introduce a library, HybridOMP, that addresses several of them, thus enabling the use of OpenMP for accelerators effectively. We apply HybridOMP to a scientific application, PlasCom2, that has not been able to use accelerators previously. Experiments on three architectures show that HybridOMP results in performance gains of up to 10x compared to CPU-only execution. Concurrent execution on the host and GPU resulted in gains of up to 10% compared to running on the GPU only.
Research Areas