【问题标题】:How to write code which performs calculations using the GPU?如何编写使用 GPU 执行计算的代码?
【发布时间】:2013-05-13 01:48:56
【问题描述】:

我们听到很多关于如何通过 GPU 比 CPU 更快地完成某些类型的计算,但作为一名程序员,我不知道如何强制以这种方式运行计算。任何人都可以对这是如何完成的进行高级解释吗?

我知道有些图书馆会“通过魔法”做到这一点,但我想了解他们在幕后所做的事情。我很确定没有可以传递给低级系统调用的runOnGpu 标志,那么有哪些可用的技术?

【问题讨论】:

  • 也许从谷歌搜索“CUDA”或“OpenCL”开始。有大量参考资料可以回答您的问题...

标签: gpu gpgpu


【解决方案1】:

需要重写你的程序。如果您使用 C++,请使用 C++ AMP,如果您使用 Java,请使用 APARAPI。

【讨论】:

  • 正如问题所说:“我知道有些图书馆会'通过魔术'做到这一点,但我想了解他们在幕后所做的事情”
  • 抱歉,如果我没有完全理解您的问题。好吧,不要指望太多的魔法......没有通往高效、可移植和易于编写的并行代码的王道——至少我不知道(但我可能错了)。通常你选择 2 of 3。回到最初的问题,如果你对低级 GPU 感兴趣,那么研究 CUDA/OpenCL kernelsL。甚至查看生成的汇编代码以了解“幕后”,运行内核分析器(nvidia 有很好的工具)。如果您需要某种类型的计算(如 fft、线性代数),请相信供应商提供的库。
猜你喜欢
  • 1970-01-01
  • 2016-01-06
  • 2014-03-12
  • 2013-10-21
  • 2019-08-04
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 2018-06-27
相关资源
最近更新 更多