c++multithreadinggpuintelcilk

Is it possible to offload function to graphic card?


I have a C++ multithread application, and I want to get better performance and decrease the total CPU usage, by using the Intel HD Graphics.

I'm not using CILK. (The application is written in pure C++)

I read the follwoing link: How to offload computation to Intel(R) Graphics Technology

But didnt found a way to process written function or threads on the graphic card.

Is it possible ? Is there a way to use intel compiler in order to offload functions (or threads) into Intel HD Graphics ?

Thanks


Solution

  • Yes, it is possible. But it's not straightforward.

    You can use CUDA, OpenCL or DirectCompute for what you want, however you need to write a parallel version of your function. Running a "sequential" function on a GPU is definitely not interesting. Parallelising the algorithm might be the hardest task, underlyings APIs are roughly similar.

    I empathize on this:

    I don't know of any tool able to parallelize an algorithm.