【发布时间】:2011-01-19 22:10:03
【问题描述】:
我最近开始学习如何使用 openCL 来加速我的某些部分代码。到目前为止,速度增益令人印象深刻。在一种情况下,代码的运行速度比 CPU 快 50 倍。但是我想知道是否可以在生产环境中开始使用此代码。原因是我第一次尝试运行示例代码时,没有任何效果。我可以通过在 Nvidia openCL SDK 下载页面上下载驱动程序来运行它(我有一个 Geforce GTX260)。在安装过程中它给了我一个蓝色,但之后我能够运行示例程序并创建我自己的代码。
它对我来说“开箱即用”的事实是否意味着主流驱动程序还不支持它,尽管它在驱动程序下载页面上专门写了它? ATI 支持呢?每个人都必须下载安装时蓝屏的特殊驱动程序吗?
简而言之,openCL 准备好用于生产代码了吗?
如果有人可以给我一些细节,我想知道。有没有人能够在许多不同的设备上运行一个简单的程序而无需安装任何与 SDK 相关的东西?
【问题讨论】:
-
我不知道 openCL 的生产准备情况如何,但请确保并设计您的应用程序,以便它可以检测 openCL 并在不可用时使用传统的 CPU 方法,以便用户可以轻松强制常规CPU 计算。
-
我知道您已经记下了“前往 Khronos 论坛寻求答案”,但如果您这样做,您将不会让人们指出 MS 在做什么。我有完全相同的困境......我有一些我所做的事情所必需的 GPU 代码,但不知道如何向客户提供实际的可重用工具。如果您要在客户机器上部署 GPU 代码,您有两种选择:1)在 Mac 上的 Snow Leopard 上使用 OpenCL,或 2)使用 DirectCompute 并需要 Windows 7 + DirectX 11