2010-02-23 42 views
6

我最近开始学习如何使用openCL来加速我的部分代码。迄今为止,速度增益令人印象深刻。在一种情况下,代码的运行速度比在CPU上快50倍。不过,我想知道是否可以开始在生产环境中使用此代码。原因是,我第一次尝试运行示例代码,没有任何工作。我可以通过在Nvidia openCL SDK下载页面下载驱动程序来运行它(我有一个Geforce GTX260)。它在安装过程中给了我一个蓝色,但之后我能够运行示例程序并创建自己的代码。我可以在分发给非开发人员机器的应用程序中使用openCL吗?

对于我来说,“开箱即用”这一事实是否意味着主流驱动程序还不支持它,尽管事实上它是专门写在驱动程序下载页面上的? ATI支持怎么样?每个人都必须下载安装时给我一个蓝屏的特殊驱动程序?

总之,openCL是否准备好了生产代码?

如果有人能给我一些细节,我想知道。有没有人能够在没有安装任何SDK相关的许多不同设备上运行一个简单的程序?

+2

我不知道生产就绪的openCL是如何工作的,但可以肯定地设计你的应用程序,以便它可以检测到openCL,如果不可用,可以使用传统的CPU方法,以便用户可以轻松地强制进行常规的CPU计算。 – 2010-02-23 03:51:03

+1

我知道你已经记下了“回到Khronos论坛寻找答案”,但如果你这样做,你不会让人们指出MS在做什么。我有完全相同的困境......我拥有一些GPU代码,这些代码对于我所做的事情是必需的,但对于如何将实际可重用工具交付给客户而言毫无头绪。 如果您要在客户端机器上部署GPU代码,您有两种选择:1)在Mac上的Snow Leopard上使用OpenCL,或者2)使用DirectCompute并需要Windows 7 + DirectX 11 – 2010-03-05 03:03:08

回答

3

您可以在Khronos Group留言板上的OpenCL论坛上找到准确的答案。 OpenCL工作组定期挂在那里。

1

有谁已经能够运行在许多不同 设备的 简单的程序,而无需安装任何 SDK相关?

Nop。例如,在ATI的GPU上,最终用户需要安装ATI Stream SDK才能运行OpenCL代码(只有最新的图形驱动程序是不够的)。

1

您可能需要考虑尝试DirectCompute(微软的GPU编程版本)或在Snow Leopard Mac上执行OpenCL工作。这些是我知道的两种方式,您可以将GPU编程解决方案提供给其他用户,而无需任何驱动程序或其他安装麻烦。

相关问题