ubuntu20.04安装CUDA,cudnn,tensorRT
更新日期:2023年7月7日
显卡驱动下载
lspci | grep -i VGA
# 然后根据返回的型号去: http://pci-ids.ucw.cz/mods/PC/10de?action=help?help=pci
# 安装驱动前先安装依赖。
sudo apt install gcc g++ cmake make -y
如果在安装驱动的时候提示你禁用 nouveau
:
# 首先禁用 nouveau
vim /etc/modprobe.d/blacklist-nouveau.conf
# add
## blacklist nouveau
## options nouveau modeset=0
sudo update-initramfs -u
lsmod|grep -i nouveau
默认情况下,你可以通过驱动程序的选项,其会自动将文件加入到:
/usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf,
/etc/modprobe.d/nvidia-installer-disable-nouveau.conf
下载显卡驱动: https://www.nvidia.cn/Download/index.aspx?lang=cn
下载 cuda Toolkit
各个版本: https://developer.nvidia.com/cuda-toolkit-archive
我选择的是 cuda_11.6.2_510.47.03_linux
还是选择 .run
文件吧, .deb
总是出错。
开始安装(建议非管理员安装)
管理员格式
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run --no-opengl-libs
非管理员格式
## 说明:.bashrc 初始文件位于:/etc/musk/.bashrc
# 添加 CUDA_HOME 路径到 ~/.bashrc 文件
echo -e "\n# cuda setting\nCUDA_HOME=\"${HOME}/software/cuda\"" >> ${HOME}/.bashrc
CUDA_VERSION=cuda_1122
source ${HOME}/.bashrc
mkdir -p ${CUDA_HOME}
bash cuda_11.2.2_460.32.03_linux.run --no-opengl-libs --toolkit --toolkitpath="${CUDA_HOME}/${CUDA_VERSION}" --librarypath="${CUDA_HOME}/${CUDA_VERSION}" --samples --samplespath="${CUDA_HOME}/samples" --override
安装完成之后,会提示:
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /home/XXX/software/cuda_1122/
Samples: Installed in /home/XXX/software/cuda/samples/, but missing recommended libraries
Please make sure that
- PATH includes /home/XXX/software/cuda_1122/bin
- LD_LIBRARY_PATH includes /home/XXX/software/cuda_1122/lib64, or, add /home/liyang/software/cuda_1122/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /home/liyang/software/cuda_1122/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 460.00 is required for CUDA 11.2 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /tmp/cuda-installer.log
cuda
路径配置和 cudnn
安装
export PATH=${CUDA_HOME}/${CUDA_VERSION}/bin:${PATH}
export LD_LIBRARY_PATH=${CUDA_HOME}/${CUDA_VERSION}/lib64:${LD_LIBRARY_PATH}
tar -zxf cudnn-11.3-linux-x64-v8.2.1.32.tgz # 解压后
chmod a+r cuda/include/* cuda/lib64/*
mv -v cuda/include/* ${CUDA_HOME}/${CUDA_VERSION}/include/
mv -v cuda/lib64/* ${CUDA_HOME}/${CUDA_VERSION}/lib64/
下载 cudnn
各个版本:https://developer.nvidia.com/rdp/cudnn-archive
方式1:deb 安装(不推荐)
我的选择:
cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)
cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb)
cuDNN Code Samples and User Guide for Ubuntu20.04 x86_64 (Deb)
下载并且通过 dpkg
安装完毕之后, 我们进行验证操作.
为防止破坏原有代码的架构, 我们将验证示例代码 复制 出来.
sudo apt install libfreeimage3 libfreeimage-dev
mkdir ${HOME}/test
cd ${HOME}/test
cp -r /usr/src/cudnn_samples_v8/ ${HOME}/test
cd cudnn_samples_v8/mnistCUDNN/
make clean && make
./mnistCUDNN # 出现 Test passed! 代表 cudnn 正常使用
如果提示错误, 那么需要安装依赖:
test.c:1:10: fatal error: FreeImage.h: No such file or directory
1 | #include “FreeImage.h”
| ^~~~~~~~~~~~~
compilation terminated.
sudo apt install libfreeimage3 libfreeimage-dev
方式二:压缩包安装
# 如果压缩包为:cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz
tar -xJvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz # 如果是 .tgz 的话, 则: tar -zxf
# 获得文件夹:cudnn-linux-x86_64-8.7.0.84_cuda11-archive
cd cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive
# $CUDA_HOME=/usr/local/cuda
chmod a+r include/cudnn.h lib/libcudnn*
mv -v include/* $CUDA_HOME/include/
mv -v lib/libcudnn* $CUDA_HOME/lib64/
下载 tensorRT
https://developer.nvidia.com/nvidia-tensorrt-8x-download
教程:
https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-tar
reference
@misc{BibEntry2024Feb,
title = {{NCCL在无root权限情况下的安装}},
journal = {知乎专栏},
year = {2024},
month = feb,
urldate = {2024-02-23},
language = {chinese},
note = {[Online; accessed 23. Feb. 2024]},
url = {https://zhuanlan.zhihu.com/p/655655609}
}