我的系统是Ubuntu16.04, 按照Nvidia官网的说明, 下载相应的deb包, 安装即可.
安装指令如下:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
如果执行sudo apt-get update
的时候发生如下错误:
*** Error in `appstreamcli': double free or corruption (fasttop): 0x0000000001166b20 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fe27911e7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fe27912737a]
...
执行命令sudo apt remove appstream
, 然后再进行更新操作.
说明: 安装的时候, 如果遇到其他问题, 可以参考一下详细的安装手册, 检查相应的系统要求是否满足.
参考详细的安装手册里面的操作, 把CUDA的路径加入到bash配置文件中, 输入如下:
# 将CUDA的相关路径加入到bash全局配置文件中
sudo vim /etc/profile
# 写入如下配置, 如果是安装其他版本的CUDA, 应该按官网的后处理提示添加路径
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
注意: 上面的export LD_LIBRARY_PATH
不要写成两行, 否则容易导致source的时候错误
设置显卡的persistenced模式:
echo "/usr/bin/nvidia-persistenced --verbose" | sudo tee -a /etc/init.d/rc.local
sudo /usr/bin/nvidia-persistenced --verbose
检查是否安装成功. 重新登录一下terminal, 使得配置生效, 执行如下命令:
cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery # 这里应该输出成功
# 看一下nvidia-smi是否成功
nvidia-smi
# 看一下nvcc的版本, 正常显示不报错就成功了
nvcc -V
cuDNN是用于神经网络的GPU库, 有些python包依赖cuDNN才能运行. 先在官网上注册账号, 下载相应的安装包.
安装的步骤相对简单, 可以根据官网的提示, 如下一条命令即可:
# 找到相应的文件
sudo dpkg -i ./libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb
至此, CUDA和cuDNN已经完成安装.
一般来说, CUDA版本越高, 需要的驱动越高. 如果使用deb的方式安装, 驱动会自动安装到合适的版本. 但是后续如果改动的驱动, 可能导致CUDA不能使用, 或者显卡的程序出现异常, 此时, 检查下是否驱动的版本有问题.
如果使用Anaconda安装python环境, 会发现, conda在安装的时候, 会自动安装cudatoolkit, 如下所示
$ conda list | grep cuda
cudatoolkit 9.0 h13b8566_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cudnn 7.6.0 cuda9.0_0
nccl 1.3.5 cuda9.0_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
pytorch 1.1.0 py3.6_cuda9.0.176_cudnn7.5.1_0 https://mirrors.tuna.tsinghua.edu.cn/anacond
a/cloud/pytorch
这里安装的cudatoolkit只是Nvidia安装的CUDA的部分文件, 为了让普通需要CUDA的程序能够在系统没有安装CUDA的时候也能运行, 环境在安装的时候, 自动安装了部分CUDA文件. 但是CUDA的其他文件可能没有, 比如nvcc.
因此完整的CUDA也需要安装, 另外, 如果驱动满足, 这里的cudatoolkit版本不和系统一样, 也能正常使用.
cuDNN也是一样, conda自动安装了合适的版本.
参考如下