安装前的准备
安装之前,先确定安装什么版本驱动,什么版本的cuda,cuDNN等。先确定你需要安装的这些版本是否相互匹配。比如2080Ti的显卡需要安装410以上版本的显卡驱动。tensorflow-gpu 13以上版本需要cuda 10以上才能支持。tensorflow-gpu 13以下的则需安装cuda9.x的版本。这个需要提前了解清楚。
安装NVIDIA显卡驱动
安装显卡驱动的时候,可以通过在“软件和更新-->附加驱动”找到对应版本的驱动并安装。如果使用本地安装,则应该从NVIDIA官网下载驱动程序,然后在本地安装。安装需要注意一下几点:
1 安装前,必须将原来安装的驱动卸载干净,保证目前机器上没有任何显卡驱动程序。
2 安装时,应该关闭X Server。通过init 3进入命令行界面安装驱动程序,然后使用init 5返回桌面。可使用nvidia-smi指令查看是否安装成功(可能需要重启一下)。
安装cuda
安装cuda建议从NVIDIA官网下载,一般下载的cuda文件包含一个支持版本的显卡驱动,安装过程中,如果之前已经安装显卡驱动,则此处可以跳过安装显卡驱动的环节。使用NVIDIA显卡,可以不安装Open ssl组件。
注意事项:
1 安装cuda也需要先关闭X Server。通过init 3进入命令行界面安装cuda,然后使用init 5返回桌面。
2 安装cuda需要对应版本的gcc进行编译,所以你需要使用 gcc --version来查看gcc版本,太高的版本不兼容编译相对低版本的cuda。所以请根据需要对gcc进行降级。如降级至gcc 5.5可执行如下命令:
# sudo bash gcc_downgrade.sh
apt-get install gcc-5.5
cd /usr/bin
mv gcc gcc.bak
ln -s gcc-5 gcc
mv g++ g++.bak
ln -s g++-5 g++
# check gcc version after install
gcc --version
安装完成后,可以通过如下命令查看cuda是否安装成功:
nvcc -V
如需删除已安装的cuda 以安装新版本的cuda,运行以下命令即可卸载原cuda,注意修改对应的版本号,此处以cuda10.0为例。
/usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl
rm -rf /usr/local/cuda-10.0/
安装cuDNN
安装cuDNN其实只是将下载好的cudnn文件解压后,放到cuda安装目录的文件夹下即可,你可以将cudnn理解为cuda的一个扩展包。cudnn下载之前需要注册账号。
安装cudnn,只需要解压并拷贝文件到对应目录下。将cudnn的压缩包解压后,切换目录到解压后的文件夹下 运行如下命令即可完成安装:
cp cuda/include/cudnn.h /usr/local/cuda/include
cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
cuDNN官网下载页面:https://developer.nvidia.com/rdp/cudnn-download
安装nccl
如果提示错误如下:
libnccl.so.2: cannot open shared object file: No such file or directory
则是没有安装nccl组件
如果需要你的设备有多个GPU,那么可能需要安装nccl,同样可在官网下载nccl的deb文件,将目录切换到deb文件所在目录下执行以下安装命令:(以下命令仅为某版本的示例)
# sudo bash install_nccl.sh
dpkg -i nccl-repo-ubuntu1604-2.4.2-ga-cuda9.0_1-1_amd64.deb
apt update
apt install libnccl2 libnccl-dev
nccl官网下载页面: https://developer.nvidia.com/nccl/nccl-download