1、前言
cuda环境搭建,记录安装指定版本的TensorRT、cuda、cudnn,并安装多个不同版本,记录每次不同设备环境搭建。安装配置CUDA-BEVFusion环境等。
2、安装TensorRT
2.1下载
进入TensorRT官网,Release Notes :: NVIDIA Deep Learning TensorRT Documentation。不能下载的,创建一个账户即可。
选择左边对应版本的TensorRT,如8.5.1,点击进入,向下滑动找到适配的cuda--v,cudnn,版本兼容。
更新补充:
下载步骤:
找到下载的包,使用tar包(其实只要下载相关的版本(当然可以下载很多包),并解压,配置bash路径就相当于安装了)
2.2安装
将下载的TensorRT对应版本放到需要放置的目录,如Package包中,并配置bash路径,更改版本如下,8.5/8.6都一样。
export PATH=/home/hk/Package/TensorRT-8.6.1.6/bin:$PATH
export LD_LIBRARY_PATH=/home/hk/Package/TensorRT-8.6.1.6/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/home/hk/Package/TensorRT-8.6.1.6/lib:$LIBRARY_PATH
然后验证TensorRT安装是否成功 输入trtexec,如下即可。
最终,验证模型样例能否运行成功
进入cd TensorRTx.x.x中的sample中选择一个样例验证下即可。
更新:(这里有个小问题,实在抱歉呢,因该是需要先安装下面步骤3和4的cuda和cudnn步骤,再来测试这个就可以成功,因为自己之前已经安装过了其它版本,所以对于没有安装过的来说,会出错,刚开始可能没有注意到这个问题。
其实上面trtexec测试后就说明可以了,这里再测试下是验证所有对应的cuda/cudnn版本是否安装配置好了。
还有个问题,在使用的cuda11.7和cudnn8.6.0中,再使用TensorRT8.6.1.6时找不到cuda路径,
使用TensorRT8.6.1.6时,需要指定 make CUDA_INSTALL_DIR=/usr/local/cuda-11.7,才可以测试成功。使用TensorRT8.5.1.7时反而能够成功make -j16,所以找好对应的版本要求。)
cd samples/sampleOnnxMNIST
make -j16
返回上两级目录运行上面生成的文件,成功运行会推理出相关数字。
cd ../../
cd bin
./sample_onnx_mnist
运行成功后说明TensorRT配置成功。还可以根据上述步骤安装其它版本的TensorRT。
3、安装cuda版本
3.1下载
点击图1中的相应cuda版本,如cuda-11.7,官网链接
CUDA Toolkit Archive | NVIDIA Developer
选择系统,如cuda11.7的如下。使用下面给出的wegt下载文件并运行。一般默认安装到/usr/local/位置。
3.2安装
运行 sudo sh cuda_xxx.run后,进入安装界面
1、选择continue。
2、输入accept。
3、只选中了Toolkit包,Driver取消,之前装过了,附加包没有选择,Enter键去掉‘x’,然后选择安装Install。
4、创建新的软链接到新的cuda版本,yes。
最后显示安装成功如下,可把路劲添加到bashrc,之前弄过了可忽略。
export PATH=$PATH:/usr/local/cuda-11.7/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.7 ##其实有上面两条就可以了
安装完成后执行nvcc -V查看新的版本编程11.7的了,之前是11.8。安装成功查看软链接 ll /usr/local/。不同的版本同样的安装方法。
当使用11.8的时候建立一个软链接指向11.8即可。
@/usr/local: sudo rm -rf cuda ## 删除重新链接
@/usr/local: sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda
4、安装cudnn
4.1下载
点击最开始的上面图1对应的cudnn版本,如8.6.0,进入cuDNN Archive | NVIDIA Developer,无法进入时网上搜索对应版本即可。并找到对应cuda版本。
4.2安装
下载好文件后放到指定位置,如我建立一个package文件夹放cudnn文件和TensorRT文件等。
进入cudnn installation官网Installation Guide - NVIDIA Docs
上面链接失效后可以在网上找到对应版本的cudnn install guide,包括以前非最新版本的
cuDNN Documentation Archives中找到以前版本的
选择installing on linux,阅读下需求,根据步骤安装相关的包,很多已经安装。
下拉找到tar包安装步骤,进入放置文件的Package包即可cd package,解压并按照步骤执行即可,拷贝相关文件到cuda中
进入cd /usr/local/cuda/lib64, 查看ll libcudnn*即可。未拷贝之前文件夹中没有cudnn*相关文件。也可进入include文件夹,vim打开cudnn_version.h文件查看版本,能找到对应版本的信息。安装不同的cuda版本需找到对应的cudnn版本。
4.结论
linux系统下安装不同版本的包,需配置对应的环境,大致流程如上所述,能够安装不同版本cuda/TensorRT。可能不是很全面,但自己配置基本没有什么问题。
参考链接:
Release Notes :: NVIDIA Deep Learning TensorRT Documentation