Embedding OpenCL in C++ for Expressive GPU Programming

Orion Sky Lawlor · 2011

We present a high performance GPU programming language, based on OpenCL, that is embedded in C++. Our embedding provides shared data structures, typesafe kernel invocation, and the ability to more naturally interleave CPU and GPU functions, similar to CUDA but with the portability of OpenCL. For expressivity, our language provides the FILL abstraction that releases control over data writes to the runtime system, which both improves expressivity and eliminates the chance of memory race conditions. We benchmark our new language EPGPU on NVIDIA and AMD hardware for several small examples. 1.

Read the paper · More papers on PaperTik