错误:
Unsupported SM: 0x809, Assertion engine != nullptr failed.), TensorRT 8.4 support RTX 4060
在利用tensorrt加速推理yolo v5时,遇到这个问题,经过不断探索,不断尝试,发现是因为笔记本的显卡为4060
解决办法:
在该错误中,“不支持 SM”意味着 TensorRT 8.4.1.5 不支持 RTX 4080 的 SM。SM 是 Streaming Multiprocessor,RTX 4060 具有与之前 GPU 系列不同的 SM 架构。比如RTX 3080。
因此,如果您想将 TensorRT 与 RTX 4080 GPU 一起使用,则必须更改 TensorRT 版本。
TensorRT 8.5.1.7 支持 RTX 4060 的 SM。
如果要使用TensorRT 8.5.1.7,则需要升级与该TRT版本兼容的cuDNN和CUDA版本。
错误参考链接
cuda、cudnn、tensorrt版本对应
记录以下安装cuda、cudnn、tensorrt的版本对应。
需要根据所安装的tensorrt的版本来安装cuda和cudnn
tensorrt的版本选择
tensorrt的下载
我这里选择TensorRT 8.5.1.7
安装参考下面这篇文章
安装参考
参考安装2
gedit .bashrc
然后添加
export LD_LIBRARY_PATH=/usr/TensorRT-8.5.1.7/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/TensorRT-8.5.1.7/lib:$LIBRARY_PATH
记得这里换成自己的路径
source .bashrc
sudo ldconfig
我的电脑出现了下面的问题:
ImportError: libcublas.so.11: cannot open shared object file: No such file or directory
cuda、cudnn、tensorrt版本对应
TensorRT 8.5.1.7版本对应链接
根据这个版本对应关系下载cuda、cudnn、pytorch
因为4060的显卡需要下载cuda11.8,所以cuda11.8、CUDNN8.6.0
安装cuda==11.8
如果之前已经安装过显卡驱动,Driver不要选择。
如果之前没有安装过显卡驱动,可以参考下面的文章
深度学习环境配置
环境配置
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
验证cuda安装是否成功:关闭当前命令行,并执行
source ~/.bashrc
nvcc -V
验证安装是否正常
参考下面的文章
验证安装是否正常
我们编译和运行cuda的范例文件来验证cuda的安装
特别提示,cuda10以前的版本,安装过程中不选择安装范例文件,实际上在cuda安装目录下是有范例文件夹的;但cuda10以后的版本,安装如果不选择范例文件,那么就真的没有范例文件的。
下载对应CUDA版本的示例文件
我们在https://github.com/NVIDIA/cuda-samples/releases找到cuda-11.8的示例文件下载
解压并进入1_Utilities/deviceQuery目录,我们以deviceQuery为例,示例验证cuda
cuda-samples-11.8.tar.gz && cd cuda-samples-11.8/Samples/1_Utilities/deviceQuery
修改Makefile文件,指定nvcc安装的绝对路径
CUDA_PATH ?= /usr/local/cuda-11.8
保存退出编辑后,编译
make
生成可执行文件deviceQuery
运行deviceQuery
./deviceQuery
最后输出PASS即为cuda安装成功
特别注意CUDA Capability Major/Minor version number: 6.1,这个值在很多计算软件编译GPU版本时,要求在Makefile文件中填写arch值时需要。这里的6.1,arch值就是61,以此类推。
至此,CUDA的单机安装完成。
安装CUDNN==8.6.0
CUDNN下载
解压后将对应include和lib中的文件拷贝到cuda-11.8的include和lib64文件夹中:
sudo cp -r lib/* /usr/local/cuda-11.8/lib64
sudo cp -r include/* /usr/local/cuda-11.8/include
pytorch安装
出现的问题
[E] [TRT] 6: [libLoader.h::DynamicLibrary::54] Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.5.1)
解决办法参考链接
解决办法链接
在安装过程中的参考链接
20.04的tensort、cuda、cudnn的版本对应
ensort、cuda、cudnn的版本对应
删除cuda的命令
添加链接描述
cuda11.4安装教程
cuda11.4安装教程
查看cuda的cuBLAS
cuBLAS
查看版本对应关系
查看版本对应关系
卸载
cuda、cudnn卸载
cuda、cudnn卸载