3

我在运行 Nvidia 在其 GPU Computing SDK 中提供的示例时遇到问题(有一个已编译示例代码库)。

对于 cuda,我收到消息“未检测到支持 CUDA 的设备”,对于 OpenCL,应该找到支持 OpenCL 的单元的函数出现错误。

我已经安装了来自 Nvidia 的所有三个部分,以使用 OpenCL 进行开发 - win7 64bit v.301.27 的 devdriver、cuda 工具包 4.2.9 和 gpu 计算 sdk 4.2.9。

我认为这可能与将输出从 Nvidia GPU 重新路由到 Intel 以渲染事物的 Optimus 技术有关(此笔记本还具有 Intel 3000HD 加速器),但在 Nvidia 控制面板中,我设置为使用高性能 Nvidia GPU,将电源配置文件设置为首选最高性能,对于 PhysX,我再次从自动选择更改为 Nvidia 处理器。但是什么都没有改变,那些样本不会运行(甚至那些针对 GF8000 卡的样本也不会运行)。

我想稍微玩一下 OpenCL,看看它有什么能力,但没有能力测试它没用的东西。我在论坛上找到了一些关于此的信息,但主要是关于需要 Bumblebee 访问 Nvidia GPU 的 linux 用户。但是在 Windows 上没有这样的问题,驱动程序更好,所以你可以在没有黑魔法的情况下访问它(或者在我发现这个问题之前我是这么认为的)。

4

3 回答 3

2

我的笔记本电脑也有 GeForce 540M,采用 Optimus 配置,因为我的 Sandy Bridge CPU 也有 Intel 的集成显卡。要运行 CUDA 代码,我必须:

  1. 安装 NVIDIA 驱动程序
  2. 转到 NVIDIA 控制面板
  3. 单击 3D 设置 -> 管理 3D 设置 -> 全局设置
  4. 在首选图形处理器下拉菜单中,选择“高性能 NVIDIA 处理器”
  5. 应用设置

请注意,上述说明适用于所有应用程序的设置,因此您不必再担心 CUDA 错误。但它会消耗更多的电池。

这里还有一个视频回顾。祝你好运!

于 2012-04-28T13:53:32.467 回答
2

好的,这已被证明是完全疯狂的解决方案。我在想,如果硬件和应用程序之间没有挂钩,我唯一想到的就是 AV 软件。我正在使用 Comodo 和沙盒和 Defense+,关闭它们后我可以运行所有这些样本。更重要的是,只需要关闭防御+。

现在我只想想想有多少应用程序可能被阻止访问该 GPU..

于 2012-04-28T15:08:20.933 回答
1

这很可能是因为 Optimus 的架构。因此,我建议您阅读 NVIDIA Optimus 平台的 NVIDIA CUDA 开发人员指南,尤其是解决此问题的“查询 CUDA 设备”部分,我相信。

于 2012-04-28T13:35:13.940 回答