1. 首先安装显卡驱动
注意:不能用软件与更新安装——会导致无法切换cuda版本
1.1 查看显卡型号
ubuntu-drivers devices
1.2 下载驱动
官方 GeForce 驱动程序 | NVIDIA
中文版下载可能会没有响应
1.3 安装依赖项
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
1.4 禁用系统默认显卡驱动
sudo gedit /etc/modprobe.d/blacklist.conf
打开文件,在文件末尾写入:
blacklist nouveau
options nouveau modeset=0
保存后手动更新;
sudo update-initramfs -u
电脑重启,输入下列指令进行确认,若无输出,则禁用成功:
lsmod | grep nouveau
1.5 配置环境变量
gedit命令打开配置文件:
sudo gedit ~/.bashrc
末尾写入:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
保存更新:
source ~/.bashrc
1.6 卸载原有驱动(如果有的话)
有两种方法
sudo apt-get --purge remove nvidia*
sudo apt autoremove
或
卸载命令位置/usr/bin/nvidia-uninstall
sudo /usr/bin/nvidia-uninstall
1.7 退出图形界面
按住ctrl+alt+F1(1-6均可),进入x-server
sudo service lightdm stop
禁用图形界面。
如果提示unit lightdm.service not loaded
则需要安装LightDm:
sudo apt install lightdm
安装完毕后跳出一个界面,选择lightdm,再sudo service lightdm stop
。
1.8 安装驱动
先对对应文件进行授权,然后执行安装程序。
sudo chmod +x NVIDIA-……………….run*
sudo sh NVIDIA-……………….run* --no-opengl-files --no-x-check --no-nouveau-check
第二项指令的三个参数分别为:
–no-opengl-files 不安装OpenGL文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后两项可以不加,在安装过程中会出现对应对话框进行选择。
安装过程中选项如下:
1.The distribution-provided pre-install script failed! Are you sure you want to continue?
“Yes”
2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
“No”
3.Nvidia’s 32-bit compatibility libraries?
“No”
4.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
“Yes”
其余一路回车即可。
2.9 安装完成,验证
安装完成后,仍会回到x-server界面,此时
- 挂载NVIDIA驱动:
modprobe nvidia
- 回到图形界面或直接将电脑重启
sudo service lightdm start #回到图形界面
sudo reboot now #重启
- 终端输入指令
nvidia-smi
如果有下图式的输出,则安装成功。
2. 安装cuda11.2
2.1 安装cuda
查看支持的cuda版本
nvidia-smi
下载地址
CUDA Toolkit Archive | NVIDIA Developer
选择类型 runfile(local)
,并使用生成的指令进行下载和安装
弹出安装界面
在下一步中去除driver
项,之后选择install
:
安装完成后,显示如下:
2.3 环境变量设置
安装完成必须手动修改配置文件
打开home目录下的.bashrc文件:
gedit ~/.bashrc
在文件末尾添加:
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
(这里的cuda路径不加版本号,以便后续升级cuda版本的时候不需要重新配置)
保存之后,更新环境变量:
source ~/.bashrc
测试安装是否成功
2.2 安装cudnn
去官网下载与 CUDA 搭配的 cudnn 版本。下载 cudnn 需要注册一个 NIVDIA 账号。官方已经给出了 cuda 与 cudnn 搭配的建议。
下载tgz格式的,安装方便
解压
tar -xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
拷贝相关的库文件
sudo cp include/cudnn* /usr/local/cuda/include/
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
测试是否安装成功
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
输出如下表示成功:
监控gpu状态
watch -n 1 nvidia-smi
3. 安装tensorflow1
直接安装tensorflow1.115
pip install --default-time=300 tensorflow-gpu==1.15.5
安装低版本的tf会报错
思考:为什么cuda11+tf1.15.5可以跑程序?
看到有人说cuda向下兼容,豁然开朗