1

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

我没有使用 CILK。(应用程序是用纯 C++ 编写的)

我阅读了以下链接: 如何将计算卸载到 Intel(R) Graphics Technology

但是没有找到一种方法来处理图形卡上的写入函数或线程。

是否可以 ?有没有办法使用英特尔编译器将函数(或线程)卸载到英特尔高清显卡中?

谢谢

4

1 回答 1

4

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

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

我对此深表同情:

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

我不知道有任何工具能够并行化算法。

于 2015-04-27T19:08:54.463 回答