【问题标题】:Can't run CUDA nor OpenCL on GeForce 540M无法在 GeForce 540M 上运行 CUDA 或 OpenCL
【发布时间】:2012-05-08 22:26:49
【问题描述】:

我在运行 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,设置电源profile 更喜欢最高性能,对于 PhysX,我再次从自动选择更改为 Nvidia 处理器。但是没有任何改变,这些样本不会运行(甚至那些针对 GF8000 卡的样本也不会运行)。

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

【问题讨论】:

标签: cuda opencl nvidia optimus


【解决方案1】:

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

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

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

这里也是video recap。祝你好运!

【讨论】:

  • 感谢您的回答,但正如您在我的问题中看到的那样,我已经在控制面板中设置了全局设置以使用 Nvidia GPU(高性能处理器)。我还安装了最新的开发者驱动程序。好吧,也许我可以运行 OpenCL,当我无法运行官方示例代码时,我只是不鼓励编写一些代码。你尝试运行这些代码吗?它们带有 GPU 计算 sdk..
  • 可能官方代码没有考虑擎天柱平台。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    这很可能是因为 Optimus 的架构。所以我建议你阅读 NVIDIA CUDA Developer Guide for NVIDIA Optimus Platforms,尤其是“查询 CUDA 设备”部分,我相信它解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 2013-05-02
      • 2017-07-05
      • 2017-03-20
      • 2014-07-25
      相关资源
      最近更新 更多