1

Working on an Object-Oriented C++ library and I want to take advantage of my Intel Graphics GPU. I tried to learn some OpenCL only to find out it doesn't support C++ O.O programming style and classes. Any suggestions of libraries or frameworks that could make it easier to tap into the GPU would be really helpful.

Many thanks, Amine

asked Oct 12, 2020 at 19:19
3
  • Which kind of operations do you want to accelerate? Image Processing, Neural Networks, Data Structures? Commented Oct 12, 2020 at 19:50
  • @Sebastian so far only data structures in C++, such as the ones in the STL. Commented Oct 12, 2020 at 19:56
  • Then probably you should look into libraries like Thrust: thrust.github.io Commented Oct 14, 2020 at 2:15

1 Answer 1

1

Yes, OpenCL (and CUDA) are specialized programming languages, because GPGPUs are very specialized heterogeneous computing devices.

You might perhaps be interested in semi-automatic translation of some subset of C code (or Fortran) to these, but there is No Silver Bullet. Either use a library (e.g. TensorFlow) ported to GPGPUs or accept the idea of difficult development efforts specific to your GPGPU hardware.

Look into OpenACC, TransPyle, Numba, VEXCL, etc.

Read also this about SYCL.

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks! I took upon the task of figuring out OpenCL fundamentals, which is cross-platform and should help understanding how GPU memory and computation works in a bit of detail.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.