用于在Ubuntu 16.04上显示的CUDA和AMD卡的NVIDIA卡

我正在使用Ubuntu 16.04,因为它是我发现使用卷积神经网络(CNN)更方便的操作系统。 安装Ubuntu的过程很好,直到我想在同一系统上设置两个图形卡:

  • NVIDIA 970 GTX
  • AMD R9 380

我想仅将我的NVIDIA卡用于CUDA,以便能够使用其所有图形内存和AMD用于图形用户界面。 为此,所有显示器都将插入此卡中。

问题:

  • 当我安装nvidia和cuda 8.0驱动程序时似乎都没问题,但是当我安装AMD驱动程序时,我无法登录到lightdm。
  • 如果我将显示器插在AMD显卡上,则说明lightdm在低图形模式下运行并且没有任何效果。
  • 修改xorg.conf文件没有任何区别,因为它被gpu-manager覆盖

我找不到任何教程解释如何这样做。

在开始之前,我建议安装ssh,以便在出现问题时能够远程关闭系统。 为此,请使用此命令:

sudo apt-get install ssh 

要关闭系统,您必须使用另一台计算机或移动设备ssh并使用此命令:

 sudo shutdown -r now 

步骤1

首先,您必须物理移除AMD卡,保留NVIDIA卡并安装CUDA和NVIDIA驱动程序。 您可以从这里下载cuda: https : //developer.nvidia.com/cuda-downloads

使用此命令确保一切正常:

 nvidia-smi 

第2步

此时我们必须修改grub以便在控制台模式下启动,因为我们正在搞乱图形卡。

使用您喜欢的编辑器(在我的情况下为joe)编辑默认的grub配置文件:

 sudo joe /etc/default/grub 

并改变这些线:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX="" #GRUB_TERMINAL=console 

这些:

 GRUB_CMDLINE_LINUX_DEFAULT="text" GRUB_CMDLINE_LINUX="text" GRUB_TERMINAL=console 

最后使用此命令更新grub:

 sudo update-grub 

第3步

关闭系统并移除NVIDIA卡并插入AMD卡。 打开计算机并安装最新的AMD图形驱动程序。 在我的例子中,我使用以下命令安装了驱动程序:

 wget https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-16.40-348864.tar.xz tar -Jxvf amdgpu-pro-16.40-348864.tar.xz cd amdgpu-pro-16.40-348864/ ./amdgpu-pro-install sudo usermod -a -G video $USER 

重启你的电脑。 现在,您可以使用以下命令启动lightdm(用户界面):

 sudo service lightdm start 

所有应该按预期工作,现在您可以使用系统设置设置显示。

第4步

关闭您的系统,现在添加您的NVIDIA卡,不要删除AMD(此时您的系统中将有两块图形卡)。 打开电脑并使用您的用户名登录,但不要启动LIGHTDM!

此时,gpu-manager已自动为控制台模式设置了两个图形卡,并且仅为lightdm设置了AMD(因为我们在上一步中启动了lightdm)。 如果我们在这一点上运行lightdm,那么gpu-manager会搞得一团糟。 所以现在我们必须完全禁用gpu-manager。 为此,我们必须再次修改grub:

 sudo joe /etc/default/grub 

并替换这些行:

 GRUB_CMDLINE_LINUX_DEFAULT="text" GRUB_CMDLINE_LINUX="text" GRUB_TERMINAL=console 

通过这些:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nogpumanager" GRUB_CMDLINE_LINUX="" #GRUB_TERMINAL=console 

最后使用此命令更新grub:

 sudo update-grub 

第5步

重新启动系统,如果lightdm无法正常启动(它显示为黑屏),则必须按Ctrl + F1,在控制台模式下登录并将此命令添加到rc.local文件:

 sudo joe /etc/rc.local 

在“退出0”之前添加此行:

 service lightdm start 

重启你的系统,现在一切都应该正常工作……

在控制台中,您可以使用以下命令检查两个图形卡是否正在使用中:

 lspci -nnk | grep -i vga -A3 | grep 'in use' Kernel driver in use: amdgpu Kernel driver in use: nvidia 

和nvidia-smi应该工作正常。 显示您正在使用0兆字节的内存:

 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 375.26 Driver Version: 375.26 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 970 Off | 0000:02:00.0 Off | N/A | | 30% 42C P0 36W / 163W | 0MiB / 4036MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+