如何在台式机上使用Intel集成显卡进行显示并使用NVidia卡进行CUDA


11

在我的台式机上,我有一个GTX560Ti,用于CUDA,并显示我已经安装了nvidia驱动程序,并且一切正常

我的CPU中集成了Intel HD Graphics 3000。我想使用该显卡代替我的Nvidia卡用于显示。

如何进行 ?如何在不破坏CUDA的情况下安装英特尔驱动程序?

我的Ubuntu版本是12.04


简单总结,如果你有一个干净的Ubuntu启动(13.10,而应概括):osdf.github.io/blog/...
osdf

Answers:


3

技巧是将nvidia卡加载到不带模块nvidia的设备中,因为nsight不需要此模块进行调试。而且我不需要nvidia模块作为显示。

这是我所做的:

我将名为nvidia_cuda的文件添加到/etc/init.d中,并通过chmod + X使其执行。

这是nvidia给出的,但我注释了/ sbin / modprobe nvidia行

#!/bin/bash

# /sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then
  # Count the number of NVIDIA controllers found.
  NVDEVS=`lspci | grep -i NVIDIA`
  N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
  NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

   N=`expr $N3D + $NVGA - 1`
   for i in `seq 0 $N`; do
     mknod -m 666 /dev/nvidia$i c 195 $i
   done

   mknod -m 666 /dev/nvidiactl c 195 255

 else
   exit 1
 fi

该文件来自 http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/#runfile-installation 2.5.2。运行文件安装,步骤6。

但是首先,您需要验证您是否将两张卡都作为pci设备。我在BIOS中启用了Intel多屏显示来获取此信息。

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 635] (rev a1)

3

我已经在装有HD4600 + NV860M + Ubuntu 14.04的笔记本电脑上成功安装了CUDA,希望对您有所帮助。

您只需要遵循官方文档(Cuda安装)。如果要保留英特尔图形作为显示,运行文件会更好地工作,因为它是默认选项。诀窍是在运行运行文件时使用--no-opengl-libs,这样您以前的显示设置就不会被Nvidia驱动程序覆盖,而Xvid无法使用该驱动程序。

更多细节:

  • 确保您拥有用于英特尔的设备iXXX(在我的情况下为i915)
  • 阻止nouveau设备(如果存在)
  • 从运行级别3运行运行文件
  • 不要安装OpenGL
  • 添加路径,一切都应该正常工作

我用其他解决方案尝试了很多次,看来官方文档是最好的方法。如果我的解决方案对您不起作用,建议您阅读更多文档,也许您会找到一些有趣的东西。

希望您能尽快找到出路。


您提供从cuda-runfile安装驱动程序吗?nvidia运行文件驱动程序安装二进制文件的当前版本(367)不提供此标志。
vskubriev

借口我错了--no-opengl-files,因为cuda或驱动程序runfile中缺少标志。
vskubriev

1

安装通用的图形驱动程序包:它将为显示选择合适的文件:

sudo apt-get install xserver-xorg-video-all
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.