Embedding OpenCL in C++ for Expressive GPU Programming

  • Lawlor O
  • 20


    Mendeley users who have this article in their library.
  • N/A


    Citations of this article.


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 an 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 the new language on NVIDIA and ATI hardware for several small applications.

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document

There are no full text links


  • Orion Sky Lawlor

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free