Skip Navigation

Colloquium Details

Simplifying OpenCL Programming with Actors in the Ensemble Programming Language

Author:Paul Harvey University of Glasgow
Date:November 13, 2014
Time:15:30
Location:220 Deschutes

Abstract

GPU and multicore hardware architectures are commonly used in many different application areas to accelerate problem solutions relative to single CPU architectures. Currently, there are number of different frameworks and annotations styles that are available to enable a developer to take advantage of these parallel hardware architectures, including OpenCL, CUDA, and OpenACC. However, at present these approaches are either proprietary, coarse-grained, or overly verbose. This is particularly problematic given that the developers using these hardware platforms are commonly non-computer scientists or at least non-experts in parallel programming.

This paper shows that direct integration of OpenCL into the actor-based model of computation found in the Ensemble programming language enables non-specialist programmers to avail themselves of parallel hardware architectures in a simple manner. Quantitative code analysis shows that Ensemble applications using OpenCL are simpler than C equivalents. Additionally, measurements show that the performance overheads in providing this simpler style are minimal when compared to hand-coded C using OpenCL for sample and real-world applications.

Biography

Paul Harvey is a fourth year PhD student visiting the University of Oregon from the University of Glasgow, and was previously supervised by Professor Joe Sventek. The focus of his research is in applying actor-based programming models to multiple levels of computing scale, from wireless sensor networks to multicore and GPU programming.