TL;DR
This paper introduces OpenCL-enabled actors in the C++ Actor Framework, enabling seamless data parallelism on heterogeneous hardware like GPUs while maintaining actor-based programming and achieving scalable performance.
Contribution
It presents a novel integration of OpenCL with CAF, allowing data parallel kernels to be encapsulated as actors for transparent, efficient execution on diverse hardware.
Findings
Linear scaling observed on GPUs and coprocessors with larger workloads
Offloading efficiency varies significantly for sub-second tasks across devices
Negligible overhead compared to native OpenCL programming
Abstract
The actor model of computation has been designed for a seamless support of concurrency and distribution. However, it remains unspecific about data parallel program flows, while available processing power of modern many core hardware such as graphics processing units (GPUs) or coprocessors increases the relevance of data parallelism for general-purpose computation. In this work, we introduce OpenCL-enabled actors to the C++ Actor Framework (CAF). This offers a high level interface for accessing any OpenCL device without leaving the actor paradigm. The new type of actor is integrated into the runtime environment of CAF and gives rise to transparent message passing in distributed systems on heterogeneous hardware. Following the actor logic in CAF, OpenCL kernels can be composed while encapsulated in C++ actors, hence operate in a multi-stage fashion on data resident at the GPU.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
