前言
毕设需要用到TensorRT,小白我第一次下载没经验。把我遇到的坑和大家分享,避免咱调入同一个坑!
在下载完TensorRT-8.2.5.1后,我尝试运行TensorRT自带的MNIST数据集的例子,报错了,报错内容如下:
1: [caskUtils.cpp::trtSmToCask::147] Error Code 1: Internal Error (Unsupported SM: 0x809)
2: [builder.cpp::buildSerializedNetwork::609] Error Code 2: Internal Error (Assertion enginePtr != nullptr failed.)
在网上搜了一下,说是这个版本的TensorRT不支持SM,也就是不支持该架构的流多处理器。英伟达官方建议的是4080用TensorRT-8.5.1.7。
但是我服务器上的GPU是4090,我尝试用TensorRT-8.6.6.1
步骤
首先把原来安装的TensorRT给删除了。
如果你用包管理器(如apt)安装的,你可以使用类似以下命令来卸载旧版本:
sudo apt remove tensorrt
如果你是通过手动方式安装的,你可以删除TensorRT的安装目录(默认为/usr/local/TensorRT/)。
2.
下载并安装新版本:从NVIDIA官方网站下载TensorRT 8.6的安装包,然后按照官方文档的说明进行安装。通常,安装过程包括解压缩安装包并运行安装脚本。
3.
更新环境变量:一旦安装了新版本的TensorRT,你可能需要更新你的环境变量以指向新的安装目录。确保LD_LIBRARY_PATH环境变量包含新版本TensorRT的库文件路径。更新命令为:
export LD_LIBRARY_PATH=/usr/local/TensorRT-8.x.x.x/lib:$LD_LIBRARY_PATH
验证安装:安装完成后,你可以使用之前提到的方法来验证TensorRT的版本是否已经更新到了8.6。