2013-05-09 83 views
1

我们听说很多关于如何通过GPU比CPU更快地完成某些类型的计算,但作为程序员,我不知道如何强制以这种方式运行计算。任何人都可以给出一个关于如何完成的高层解释?如何编写使用GPU执行计算的代码?

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

+1

也许以“CUDA”或“OpenCL”的搜索开始。有大量的参考资料可以回答你的问题... – talonmies 2013-05-09 19:05:09

回答

0

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

+0

正如问题所说:“我知道有些图书馆会通过魔术来做到这一点,但我想了解他们在做什么场景“ – codebox 2013-05-13 08:24:16

+1

对不起,如果我不明白你的问题。那么不要期望太多的魔法..有效,便携和易于编写的并行代码没有通向王道 - 至少我不知道(但我可能是错的)。通常你会选择3中的2个。回到原来的问题,如果你对低级GPU感兴趣,那么研究CUDA/OpenCL kernelsL。甚至可以查看生成的汇编代码以查看“幕后”,运行内核分析器(nvidia具有很好的工具)。如果您需要某种类型的计算(如fft,线性代数),请相信供应商提供的库。 – 2013-05-13 11:51:27

+0

感谢您的指点,我会看看那些 – codebox 2013-05-13 13:45:57

相关问题