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.

Mon 26 Oct

10:30 - 12:00: AGERE - Session 2 - Abstraction and Runtime Environments at Grand Station 4
agere201510:30 - 10:50
Lamont SamuelsUniversity of Chicago, John ReppyUniversity of Chicago
File Attached
agere201510:50 - 11:10
Angelo CroattiUniversity of Bologna, Alessandro RicciUniversity of Bologna
agere201511:10 - 11:30
agere201511:30 - 11:50
Travis Desell University of North Dakota, Carlos VarelaRensselaer Polytechnic Institute, US