Ubuntu 17.10 附带 CUDA 8,它依赖于 clang 3.8(例如参见这篇博文)。
但是,如果可能的话,我想安装 CUDA 9 并依赖 GCC。我该怎么做?
答案1
安装 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 安装准备
我们安装了一些稍后需要的构建/开发包:
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 需要 gcc 6。因此,我们安装它:
sudo apt install gcc-6
sudo apt install g++-6
注意,默认的 gcc 版本仍然是7.2
;可以通过gcc -v
再次运行进行检查。
安装 CUDA 9 + SDK
来自CUDA 工具包档案,选择其中一个“runfile(local)”安装包下载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++ 符号链接。
答案2
安装它花费的时间比我想承认的要多,虽然上述答案是一个很好的模板,但我在全新安装 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
答案3
我按照已接受的答案 (@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 来检查安装是否顺利。