OpenCL C++

Benedict R. Gaster, Lee Howes
Advanced Micro Devices, 1 AMD, Sunnyvale, CA, USA
Sixth Workshop on General Purpose Processing Using GPUs (GPGPU-6), 2013


   author={Benedict R. Gaster and Lee Howes},

   title={OpenCL C++},

   booktitle={Proceedings of the Sixth Workshop on General Purpose Processing Using GPUs (GPGPU-6)},



   date={16 March 2013},

   location={Houston, TX, USA}


Download Download (PDF)   View View   Source Source   



With the success of programming models such as Khronos’ OpenCL, heterogeneous computing is going mainstream. However, these models are low-level, even when considering them as systems programming models. For example, OpenCL is effectively an extended subset of C99, limited to the type unsafe procedural abstraction that C has provided for more than 30 years. Computer systems programming has for more than two decades been able to do a lot better. One successful case in point is the systems programming language C++, known for its strong(er) type system, templates, and object-oriented abstraction features. In this paper we introduce OpenCL C++, an object-oriented programming model (based on C++11) for heterogeneous computing and an alternative for developers targeting OpenCL enabled devices. We show that OpenCL C’s address space qualifiers, and by implication Embedded C’s, can be lifted into C++’s type system. A novel application of C++11’s new type inference features (auto/decltype) with respect to address space qualifiers allows natural and generic use of the this pointer. We qualitatively show that OpenCL C++ is a simpler and a more expressive development platform than its OpenCL C counter part.
Rating: 2.0/5. From 1 vote.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: