CoopCL: A Framework for Cooperative Execution of Data-parallel Kernels on Multi-device Platforms
Research output: Contribution to book/Conference proceedings/Anthology/Report › Conference contribution › Contributed › peer-review
Contributors
Abstract
This paper describes CoopCL framework that is specifically designed to reduce the multi-device programming complexity. CoopCL consists of a three core components: a C++ API, custom-compiler and a runtime that abstracts and unifies the cooperative workload execution on multi-device heterogeneous platforms. CoopCL takes the OpenCL-C kernel function and automatically uses platform devices to execute it in parallel. We show a runtime-system that transparently manages the data transfers and the synchronization necessary to ensure memory coherency without requiring any effort from the programmer. The programmer is only responsible for developing a dataparallel kernel function in OpenCL, while the system automatically partitions the workload across an arbitrary set of devices, executes the partial workloads, and efficiently merges the partial results together. Moreover, CoopCL-runtime in combination with a custom-compiler includes an auto-tuning approach based on a platform performance-model. CoopCL is completely portable across different machines including platforms with multi-core CPUs and discrete and/or integrated GPUs.
Details
Original language | English |
---|---|
Title of host publication | Proceedings of the 11th International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies, HEART 2021 |
Publisher | Association for Computing Machinery |
ISBN (electronic) | 978-1-4503-8549-7 |
Publication status | Published - 21 Jun 2021 |
Peer-reviewed | Yes |
Publication series
Series | HEART: Highly Efficient Accelerators and Reconfigurable Technologies |
---|
Conference
Title | 11th International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies, HEART 2021 |
---|---|
Duration | 21 - 23 June 2021 |
City | Virtual, Online |
Country | Germany |
External IDs
ORCID | /0000-0003-2571-8441/work/159607561 |
---|
Keywords
ASJC Scopus subject areas
Keywords
- C++, GPGPU, Heterogeneous systems, multi-core CPU, OpenCL