是否可以将功能卸载到显卡?

Is it possible to offload function to graphic card?

我有一个 C++ 多线程应用程序,我想通过使用 Intel HD Graphics 获得更好的性能并减少总 CPU 使用率。

我没有使用 CILK。 (应用纯C++编写)

我阅读了以下内容link: How to offload computation to Intel(R) Graphics Technology

但是没找到处理写在显卡上的函数或线程的方法

可能吗? 有没有办法使用英特尔编译器将函数(或线程)卸载到英特尔核芯显卡中?

谢谢

是的,这是可能的。但这并不简单。

您可以根据需要使用 CUDA、OpenCL 或 DirectCompute,但是您需要编写函数的并行版本。 运行 GPU 上的 "sequential" 函数绝对没有意思。并行化算法可能是最困难的任务,底层 API 大致相似。

这点我很感同身受:

  • 您拥有的代码是为(单线程)CPU 编写的,顺序也是如此
  • 您希望 GPU 执行的代码 运行 需要 并行

我不知道有什么工具能够并行化算法。