CUDA
安装
以11.8为例,使用.run安装,参考教程CUDA与cuDNN在linux / Ubuntu22.04上的安装与卸载,包含CUDA的.run安装与.deb安装,cuDNN的.tar安装与.deb安装
1.下载
下载.run
文件,可以进入CUDA下载官网找到对应版本直接下载,或者使用指令下载:
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
2.安装过程
找到下载目录,在终端中打开,以临时管理员权限sudo
运行代码
sudo sh cuda_11.8.0_520.61.05_linux.run
经过一段时间后会出现窗口,用键盘选择Continue
然后Enter
确认(我用的图是12.0的,大家对应成11.8就行)
接下来,用键盘输入accept
再回车,以同意用户条例。
正式安装前,要将显卡驱动安装的选项取消(调整到对应选项后按下回车即可。一般安装CUDA之前都会安装NVIDIA驱动,并且安装的都是比此版本高的,所以不勾选,其实下面的Demo和Document应该也可以取消勾选,真正使用的就Toolkit,不过为了验证安装成功大家还是勾选上),然后选择安装Install
。
等待一段时间后,显示安装成功如图。这里的报错是因为没有安装驱动导致的,不影响使用。
3.注意事项
- CUDA的安装目录在
/usr/local/cuda-11.8
,然后一般第一次安装会在/usr/local/
目录下再创建一个软链接/usr/local/cuda
,所以以后设置路径的时候/usr/local/cuda
就是/usr/local/cuda-11.8
- 安装完成后还需要设置环境变量
# 打开bashrc
sudo gedit ~/.bashrc
# 将下面内容复制粘贴到最下面,并保存
export PATH=$PATH:/usr/local/cuda-11.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.8
- 检查安装成功
nvcc-V
安装成功会如图所示
4.切换不同版本
方法一
切换 = ①删除原始软链接 + ②建立新的软链接
①删除之前创建的软链接
rm -rf /usr/local/cuda
②建立新的软链接, 将 cuda11.x链接到默认cuda上
sudo ln -s /usr/local/cuda-11.4 /usr/local/cuda
②再次核查 cuda版本:
cat /usr/local/cuda/version.
# 或者
nvcc -V
方法二
不管软连接,直接在当前终端export对应版本的cuda路径,然后执行对应版本的cuda操作就行了
export PATH="/usr/local/cuda-11.x/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.x/lib64:$LD_LIBRARY_PATH"
5.卸载
进入安装目录,勾选要卸载的内容,选择done
。显示successfully uninstalled,则该部分完成
cd /usr/local/cuda-11.8/bin
sudo ./cuda-uninstaller
如果bin目录下没有cuda自卸载文件,参考以下操作(这应该是apt安装的)
sudo apt-get remove cuda
sudo apt autoremovels
sudo rm -rf /usr/local/cuda-xx.x
sudo rm -rf /var/cuda-repo-xxx-local
完成初步卸载后,使用如下命令查询,把关于 cuda 的所有文件删除。
# 查询
sudo dpkg -l | grep cuda
将查询结果全部卸载,再进行查询,没有任何输出即卸载成功。
cuDNN
1.下载
进入cuDNN官网下载,第一次下载需要注册登录账号
2.安装
cuDNN的安装很简单,直接将下载的.tgz
文件解压,然后复制对应文件到CUDA目录就行了
# 解压,解压后会得到一个包含多个文件夹的目录,通常有 `include`、`lib` 和 `bin` 等。
tar -xzvf cudnn-版本号-linux-x64-v8.x.x.x.tgz
# 假设 CUDA 安装在 `/usr/local/cuda`,执行以下命令将 CuDNN 文件复制到相应位置:
# 注意好目录层级
# 复制include头文件
sudo cp cudnn-版本号-linux-x64-v8.x.x.x/include/cudnn*.h /usr/local/cuda/include/
# 复制lib库文件
sudo cp cudnn-版本号-linux-x64-v8.x.x.x/lib/libcudnn* /usr/local/cuda/lib64/
# 设置文件权限
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
3.检查安装成功
在终端执行一下命令:
cat /usr/local/cuda/include/cudnn_version.h
注意:不同的 Linux 发行版和 CUDA 版本可能会在安装过程中有一些细微差别。在安装过程中,请确保以管理员权限(sudo)执行相关命令,并根据实际情况调整路径。
4.卸载
输入如下命令:
# 解压安装的应该这一步就够了
sudo rm -rf /usr/local/cuda/include/cudnn*.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
# 查询(这应该是apt安装的)
sudo dpkg -l | grep cudnn
# 将查询结果全部卸载
sudo dpkg -r libcudnn8-samples
sudo dpkg -r libcudnn8-dev
sudo dpkg -r libcudnn8
sudo dpkg -r cudnn-local-repo-ubuntu2004-8.3.3.40
再进行查询,没有任何输出即卸载成功。
TensorRT
1.下载
下载网址:NVIDIA TensorRT 8.x Download | NVIDIA Developer
2.安装
解压:
tar -xzvf TensorRT-8.5.3.1.Linux.x86_64-gnu.cuda-11.8.cudnn8.6.tar.gz
配置环境变量:
gedit ~/.bashrc
# 配置环境变量,自己注意修改路径
export PATH=$PATH:/TensorRT-8.5.3.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/TensorRT-8.5.3.1/lib
source ~/.bashrc
将tensorrt的库和头文件复制到系统路径配置:(这一步我猜测正常是不需要的,直接添加到系统路径可能是怕export的时候出错)
cd /home/xxx/TensorRT-8.5.3.1
sudo cp -r ./lib/* /usr/lib
sudo cp -r ./include/* /usr/include
python配置TensorRT:
# 安装TensorRT
cd /home/xxx/TensorRT-8.5.3.1
cd python
# 选择对应的Python版本
pip install tensorrt-8.5.3.1-cp38-none-linux_x86_64.whl
3.安装验证
方法一:编译验证
进入到/home/xxx/TensorRT-8.5.3.1/samples/sampleOnnxMNIST
cd /home/xxx/TensorRT-8.5.3.1/samples/sampleOnnxMNIST
sudo make
编译完成后,进入/home/xxx/TensorRT-8.5.3.1/bin目录
cd /home/xxx/TensorRT-8.5.3.1/bin
./sample_onnx_mnist
成功则会输出pass
方法二:Python验证
python3
import tensorrt
print(tensorrt.__version__)
4.切换版本
export到对应版本就好
5.卸载
直接使用删除解压后的安装包,并删除bashrc中的相关内容
原谅博主越写越潦草(狗头保命)