无法在GeForce 540M上运行CUDA或OpenCL

3

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

对于CUDA,我收到消息“未检测到CUDA兼容设备”,对于OpenCL,则是应该查找支持OpenCL的设备功能的错误。

我已经安装了Nvidia的三个部分以便使用OpenCL进行开发 - devdriver for win7 64位v.301.27、cuda toolkit 4.2.9和gpu computing sdk 4.2.9。

我认为这可能与Optimus技术有关,该技术将输出从Nvidia GPU重定向到Intel以渲染物体(此笔记本电脑还配备了Intel 3000HD加速器),但在Nvidia控制面板中,我设置为使用高性能Nvidia GPU,并将电源配置文件设置为优先选择最大性能,并且对于PhysX,我再次从自动选择更改为Nvidia处理器。然而,什么也没改变,这些示例不会运行(甚至不会针对GF8000卡片的那些示例)。

我想玩一下OpenCL并看看它的能力,但是如果没有测试功能,它就毫无用处。我在论坛上找到了一些关于此的信息,但主要是针对Linux用户,您需要Bumblebee才能访问Nvidia GPU。然而,在Windows上没有这样的问题,驱动程序更好,因此您可以在不使用黑魔法的情况下访问它(或者我认为是这样,直到我发现这个问题)。


设备查询显示了什么?一样吗?还是这个结果来自设备查询?更重要的是:你有没有阅读过NVIDIA Optimus平台的NVIDIA CUDA开发人员指南 - Sebastian Dressler
3个回答

2
我的笔记本也是GeForce 540M,采用了Optimus配置,因为我的Sandy Bridge CPU还有英特尔集成显卡。要运行CUDA代码,我必须:
  1. 安装NVIDIA驱动程序
  2. 进入NVIDIA控制面板
  3. 单击3D设置 -> 管理3D设置 -> 全局设置
  4. 在首选图形处理器下拉菜单中,选择“高性能NVIDIA处理器”
  5. 应用设置
请注意,上述说明适用于所有应用程序的设置,因此您不必再担心CUDA错误。但它会更加耗电。
这里还有一个视频摘要。祝你好运!

谢谢您的回答,但正如您在我的问题中所看到的,我已经在控制面板中设置了全局设置以使用Nvidia GPU(高性能处理器)。此外,我已安装了最新的开发人员驱动程序。也许我可以运行OpenCL,但当我无法运行官方示例代码时,我感到有些泄气。您尝试过运行那些吗?它们随GPU计算SDK一起提供。 - Raven
也许官方代码没有考虑Optimus平台。 - Sebastian Dressler

2

好的,这被证明是一个非常疯狂的解决方案。我在思考是否有硬件和应用程序之间没有连接,唯一想到的是AV软件。我正在使用带有沙箱和Defense +的Comodo,在关闭它们后,我可以运行所有这些样本。更重要的是,只需要关闭Defense +。

现在我只是在考虑有多少应用程序可能已经被阻止访问GPU..


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接