0. 前言linux
1. 下载安装文件和官方指南ubuntu
登录官网 https://developer.nvidia.com/cuda-downloads,下载相应版本的安装文件,注意安装文件类型选择 runfile(local)vim
同时下载官方的安装指南,便于参考spa
2. 禁用 nouveau 驱动(nouveau是 ubuntu16.04 默认安装的第三方开源驱动,安装cuda会跟nouveau冲突,须要先禁用)命令行
lsmod | grep nouveau
sudo vim /etc/modprobe.d/blacklist.conf
在末尾加入code
blacklist nouveau options nouveau modeset=0
sudo update-initramfs –u
lsmod | grep nouveau
3. 文本命令行模式运行 runfile 文件安装CUDAblog
sudo service lightdm stop
cd 到 runfile 文件保存的路径,进行安装(重点!!! 要么在此处加上 --no-opengl-libs 选项,要么在后面经过交互式界面进行手动选择)ci
sudo sh cuda_10.1.168_418.67_linux.run --no-opengl-libs
执行命令后,稍等一下子,会出现交互界面,输入 accept,过一下子会出来选择页面进行手动设置(如是否安装 nvidia 驱动及驱动设置),最后选择 installubuntu16.04
注意:若不当心安装了 OpenGL,则后面会遇到循环登录的问题,缘由就是 NVIDIA显卡 的 OpenGL 库覆盖了当前 Intel 显卡的库,解决办法是再登入到文本命令行模式,用如下命令先卸载 cuda 和 NVIDIA驱动,再按正确的步骤从新安装it
sudo /usr/local/cuda-10.1/bin/cuda-uninstaller sudo /usr/bin/nvidia-uninstall
sudo service lightdm start
4. 检查 Device Node Verification
ls /dev/nvidia*
若结果显示 /dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm,则说明安装成功;若显示相似 No such file or directory等信息,则进行以下操做
sudo vim /etc/rc.local
第一行为 #!/bin/sh -e,把 -e 选项去掉,而后把下面的文本复制到 exit 0 以前,保存退出
/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 /sbin/modprobe nvidia-uvm if [ "$?" -eq 0 ]; then # Find out the major device number used by the nvidia-uvm driver D=`grep nvidia-uvm /proc/devices | awk '{print $1}'` mknod -m 666 /dev/nvidia-uvm c $D 0 else exit 1 fi
重启后,再次输入如下命令,此时应该会出现 /dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm,说明安装成功
ls /dev/nvidia*
5. 设置环境变量,写入 /etc/profile 文件
sudo vim /etc/profile
在最后加入两行(64位系统为lib64,32位系统为lib)
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
重启,检查环境变量是否设置成功
cat /proc/driver/nvidia/version
nvcc -V
6. 编译 cuda 提供的 samples
cd /home/xxx/NVIDIA_CUDA-10.1_Samples
make
等待一段时间,编译 成功后,二进制文件会存放在 NVIDIA_CUDA-10.1_Samples/bin 中,执行下面的二进制文件,看是否成功
cd /home/lxxx/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release
./deviceQuery
./bandwidthTest
若出现如下信息,则说明成功