新黑名单

新黑名单

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 来检查安装是否顺利。

相关内容