我正在寻找OpenCL和DirectCompute之间的比较,但我没有找到任何东西。OpenCL跨平台和支持更多GPU的优势对我来说无关紧要。我可以在Windows上使用DX11 GPU编码。假设这样,每种API的优缺点是什么?
我知道this question was raised before,但我想知道更多细节。
我对CUDA不感兴趣,因为我不想把自己限制在Nvidia硬件上。
发布于 2010-07-04 10:46:22
对于编码器来说,最大的区别可能是DirectCompute是由类似于HLSL的语言编程的,而OpenCL是通过类似C的语言编程的。
另一个需要考虑的区别是,一般来说,对于商品级GPU,DirectX支持比Windows上的OpenGL支持更好(更快,错误更少)。这可能会转化为对DirectCompute更稳定的支持,但实际上,这只是一种猜测。
发布于 2010-07-04 10:32:37
嗯,OpenCL的主要优势是它不仅仅局限于显卡。您可以使用您的多核CPU,显卡和潜在的任何数量的其他硬件加速设备(DSP等),所有这些都来自同一个程序。
我不确定DirectCompute是否允许这种自由。
发布于 2010-07-22 16:57:22
OpenCL的跨平台性不仅仅是一个细节,因为主机代码(调用OpenCL应用程序接口并提交内核的代码)本身也可以是跨平台的(参见link text,link text...)。
编写一次,在任何地方的任何GPGPU上运行。
除此之外,随着Visual Studio的ATI Stream插件、包含大量示例的NVidia和ATI SDK等,OpenCL工具真的变得越来越好了。
https://stackoverflow.com/questions/3172220
复制相似问题