我在整个网络上都发现了六篇帖子,但是没有人真正回答这个问题。
我想将我的nvidia GPU设置为仅进行计算,而不驱动显示。但是,当我切换为在nvidia-prime配置中使用Intel GPU时,无法再加载nvidia模块。
modprobe: ERROR: could not insert 'nvidia_352': No such device
很明显,如果没有该模块,CUDA将无法正常工作。
那么nvidia-prime到底在做什么,从而使得无法加载模块?没有列入黑名单。没有xorg.conf文件,那么系统如何知道使用Intel GPU而不是离散GPU?
我使用的是已安装Ubuntu 14.04工厂的Dell 5510 Precision,我的GPU是Quadro M1000M。
有些人建议使用大黄蜂,但这对于纯计算负载来说不是必需的。
同样,大黄蜂显然能够加载模块。那到底在做什么呢?
更新:为什么经过数小时试图找出答案后,为什么我总能在最终发布问题时找到答案。这实际上只是部分答案,但我会讲一些。
到目前为止,我已经确定Prime至少会做两件事:
- 使用bbswitch关闭GPU。
- 更改/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf 的替代方法。
通过使用bbswitch重新打开GPU,我现在可以加载NVIDIA模块。
但是问题仍然存在:将系统配置为仅将NVIDIA卡用于计算的最佳方法是什么?
我是否应该将nvidia-prime设置为使用Intel GPU,并尝试手动说明使CUDA正常工作的原因?
如何确保系统仍使用Intel GPU进行显示?
我将如何简单地禁用NVIDIA prime并手动进行配置?
还是我应该让步并使用Bumblebee和optirun?如果有的话,这有什么缺点?
有什么建议吗?