我在运行他们的GPU计算SDK(有一个已编译的示例代码库)时运行Nvidia提供的样本时遇到问题。
对于cuda,我收到消息“没有检测到支持CUDA的设备”,对于OpenCL,应该找到能够找到支持OpenCL的单元的函数的错误。
我已经安装了Nvidia的所有三个部分来开发OpenCL - devdriver for win7 64bit v.301.27,cuda toolkit 4.2.9和gpu computing sdk 4.2.9。
我认为这可能与Optimus技术有关,它将Nvidia GPU的输出重新路由到英特尔以渲染东西(这款笔记本还有Intel 3000HD加速器),但在Nvidia控制面板中我设置使用高性能Nvidia GPU,设置功率配置文件更喜欢最高性能,而PhysX我再次从自动选择更改为Nvidia处理器。但是没有任何改变,这些样品将无法运行(甚至不是GF8000卡的目标)。
我想在OpenCL上玩一下,看看它有什么能力,但没有能力测试它没用的东西。我在论坛上发现了一些关于此的信息,但主要是关于Linux用户,你需要Bumblebee才能访问Nvidia GPU。在Windows上没有这样的问题,但是驱动程序更好,所以你可以在没有黑魔法的情况下访问它(或者我一直这么认为,直到我发现这个问题)。
答案 0 :(得分:2)
我的笔记本电脑也配备了GeForce 540M,采用Optimus配置,因为我的Sandy Bridge CPU还配备了英特尔的集成显卡。要运行CUDA代码,我必须:
请注意,上述说明适用于所有应用程序的设置,因此您不必再担心CUDA错误。但它会耗尽更多的电池。
这也是video recap。祝你好运!
答案 1 :(得分:2)
好的,这已被证明是完全疯狂的解决方案。我在想是否有什么东西没有在硬件和应用程序之间挂钩,只有我想到的是AV软件。我正在使用带有沙盒和防御+的Comodo,在关闭它之后我可以运行所有这些样本。更重要的是,只需要关闭防御+。
现在我只考虑可以阻止多少应用访问该GPU ..
答案 2 :(得分:1)
这很可能是因为Optimus的架构。所以我建议你阅读 NVIDIA CUDA Developer Guide for NVIDIA Optimus Platforms,尤其是“查询CUDA设备”一节,我相信这个问题。