安装前的准备

          安装之前,先确定安装什么版本驱动,什么版本的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