Embedding OpenCL in C++ for Expressive GPU Programming
U. Alaska Fairbanks
First International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, WOLFHPC 2011, 2011
@article{lawlor2011embedding,
title={Embedding OpenCL in C++ for Expressive GPU Programming},
author={Lawlor, O.S.},
journal={IPDPS WOLFHPC, May},
year={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 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.
September 23, 2011 by hgpu