Manyfold Actors: Extending the C++ Actor Framework to Heterogeneous Many-Core Machines using OpenCL
The processing power of modern many core machines such as graphics processing units (GPUs) or coprocessors is increasingly available for general-purpose computation. The seamless way of actor systems to addresses concurrent and distributed programming makes it an attractive approach to integrate these novel architectures. 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. This 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. New actors are instantiated by the function spawn_cl, while the runtime environment handles the discovery and setup of OpenCL devices in the background. Our evaluation reveals the expected linear scaling behavior when offloading work to a GPU. Moreover, our findings indicate a negligible overhead over programming the native OpenCL API.
Conference DayMon 26 OctDisplayed time zone: Eastern Time (US & Canada) change
10:30 - 12:00
|Bulk-Synchronous Communication Mechanisms in Diderot|
|Programming Abstractions for Augmented Worlds|
|Manyfold Actors: Extending the C++ Actor Framework to Heterogeneous Many-Core Machines using OpenCL|
|A Performance and Scalability Analysis of Actor Message Passing and Migration in SALSA Lite|