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 Day
Mon 26 Oct

Displayed time zone: Eastern Time (US & Canada) change

10:30 - 12:00
Session 2 - Abstraction and Runtime EnvironmentsAGERE! at Grand Station 4
10:30
20m
Talk
Bulk-Synchronous Communication Mechanisms in Diderot
AGERE!
Lamont SamuelsUniversity of Chicago, John ReppyUniversity of Chicago
File Attached
10:50
20m
Talk
Programming Abstractions for Augmented Worlds
AGERE!
Angelo CroattiUniversity of Bologna, Alessandro RicciUniversity of Bologna
11:10
20m
Talk
Manyfold Actors: Extending the C++ Actor Framework to Heterogeneous Many-Core Machines using OpenCL
AGERE!
11:30
20m
Talk
A Performance and Scalability Analysis of Actor Message Passing and Migration in SALSA Lite
AGERE!
Travis Desell University of North Dakota, Carlos VarelaRensselaer Polytechnic Institute, US