如何在Ubuntu 17.10上安装CUDA 9


41

Ubuntu 17.10随附依赖于lang 3.8的CUDA 8(例如,请参阅此博客文章)。

但是,如果可能的话,我想安装CUDA 9并依赖GCC。我怎样才能做到这一点?

Answers:


57

安装NVIDIA驱动程序384

首先,我们在装有NVIDIA GPU的计算机上安装一个全新的Ubuntu 17.10,并在此过程中选择“安装第三方软件”。另外,我们可以手动添加图形驱动程序存储库:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

然后,我们使用apt安装最新的NVIDIA驱动程序:

sudo apt install nvidia-384 nvidia-384-dev

我们通过运行以下命令来验证安装:

nvidia-smi

我们应该看到一个输出,其中列出了NVIDIA 384驱动程序和离散的NVIDIA GPU-类似于下面的汇总表:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90                 Driver Version: 384.90                    |
|                                                                             |
|-------------------------------+----------------------+----------------------+
|   0  Quadro M500M        Off  | 00000000:06:00.0 Off |                  N/A |
| N/A   48C    P0    N/A /  N/A |    943MiB /  2002MiB |     26%      Default |
+-------------------------------+----------------------+----------------------+

准备安装CUDA 9 + SDK

我们安装了一些以后需要的build / dev软件包:

sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

我们注意到17.10的默认gcc / g ++版本是7.2.0 (Ubuntu 7.2.0-8ubuntu3)

gcc -v

CUDA 9需要gcc6。因此,我们将其安装:

sudo apt install gcc-6
sudo apt install g++-6

请注意,默认gcc版本仍为7.2; 可以通过gcc -v再次运行来检查。

CUDA 9 + SDK的安装

CUDA工具包存档中,选择“运行文件(本地)”安装软件包之一以下载CUDA 9的版本,例如

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

使下载的文件可执行,并使用sudo运行它:

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

我们使用以下配置安装CUDA:

You are attempting to install on an unsupported configuration. Do you wish to continue?
y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
n
Install the CUDA 9.0 Toolkit?
y
Enter Toolkit Location
[default location]
Do you want to install a symbolic link at /usr/local/cuda?
y
Install the CUDA 9.0 Samples?
y
Enter CUDA Samples Location
[default location]

为gcc / g ++设置符号链接:

sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++

使用SDK测试CUDA 9安装

构建您喜欢的CUDA示例并运行它:

cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/smokeParticles
make
../../bin/x86_64/linux/release/smokeParticles 

您可能希望在安装cuda之后设置gcc / g ++符号链接。


1
在这个问题上停留了一段时间。运行17.10,尝试安装CUDA9。我在步骤2上遇到问题:nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidia说我有GeForce mokutil --sb-stateGTX760 。显示SecureBoot已禁用。跑sudo apt-get purge nvidia*,为384运行安装命令,并运行dpkg -S nvidia-sminvidia-384:/ usr / lib / nvidia-384 / bin / nvidia-smi。有什么建议么?
克拉克·肯特

4
我不得不做,sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.0/bin/gcc sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.0/bin/g++或者sudo ./cuda_9.0.176_384.81_linux-run --override如以下作者所述,建议在没有编译器冲突的情况下成功安装
y.selivonchyk

11
必须在安装cuda之后完成为gcc 6编译器添加符号链接的两个命令,因为/ usr / local / cuda在安装之前不存在
Luis Lobo Borobia

1
帮手很多!我做过的唯一一件事-在安装完cuda之后创建了符号链接。
QtRoS

1
在运行之前cuda_9.0.176_384.81_linux.run,如何创建软链接(ln -s)?您是否手动创建了cuda文件夹?
Mahohod

5

安装此程序花费的时间比我想承认的要多,尽管以上答案是一个好的模板,但我还需要一些额外的步骤来重新安装Ubuntu 17.10:

黑名单

sudo vim /etc/modprobe.d/blacklist.conf

添加以下内容:

# this one might not be required for x86 32 bit users.
blacklist amd76x_edac 

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

更新initramfs磁盘

sudo update-initramfs -u

停止gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

获取内容

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-384 nvidia-384-dev
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

nvidia-smi

取得包裹

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

使用--override运行以覆盖编译器选择

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

安装软件包后,我在使用nvidia-smi时会出错,因此建议再次运行该命令以验证其是否有效。当我遇到问题时,我将清除nvidia *并重新获取它。

nvidia-smi

有些人可能需要停下lightdm来代替gdm3,请参见askubuntu.com/a/65867/422690
crypdick

1

我遵循了接受的答案(@ubashu),一切顺利(如果不完全相同,说明将指向正确的路径)。我只会导出到Path(也在https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions上指定)

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

之后,您可以使用nvcc -V检查安装是否真的顺利。

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.