tao/tao-toolkit/text/excerpts/tensorrt_oss_on_x86.html
在 x86 上构建 TensorRT OSS
安装 Cmake (>=3.13)。
注意
TensorRT OSS 需要 cmake >= v3.13,因此如果您的 cmake 版本低于 3.13c,请安装 cmake 3.13
sudo apt remove --purge --auto-remove cmake wget https://github.com/Kitware/CMake/releases/download/v3.13.5/cmake-3.13.5.tar.gz tar xvf cmake-3.13.5.tar.gz cd cmake-3.13.5/ ./configure make -j$(nproc) sudo make install sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
获取 GPU 架构。
GPU_ARCHS
值可以通过deviceQuery
CUDA 示例检索cd /usr/local/cuda/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
如果您的系统中不存在
/usr/local/cuda/samples
,您可以从此 GitHub 仓库下载deviceQuery.cpp
。编译并运行deviceQuery
。nvcc deviceQuery.cpp -o deviceQuery ./deviceQuery
此命令将输出如下内容,表明
GPU_ARCHS
基于 CUDA Capability 主/次版本为75
。Detected 2 CUDA Capable device(s) Device 0: "Tesla T4" CUDA Driver Version / Runtime Version 10.2 / 10.2 CUDA Capability Major/Minor version number: 7.5
构建 TensorRT OSS
git clone -b 21.08 https://github.com/nvidia/TensorRT cd TensorRT/ git submodule update --init --recursive export TRT_SOURCE=`pwd` cd $TRT_SOURCE mkdir -p build && cd build
注意
确保步骤 2 中的
GPU_ARCHS
在 TensorRT OSSCMakeLists.txt
中。如果 GPU_ARCHS 不在 TensorRT OSSCMakeLists.txt
中,请添加-DGPU_ARCHS=<VER>
,如下所示,其中<VER>
表示步骤 2 中的GPU_ARCHS
。/usr/local/bin/cmake .. -DGPU_ARCHS=xy -DTRT_LIB_DIR=/usr/lib/x86_64-linux-gnu/ -DCMAKE_C_COMPILER=/usr/bin/gcc -DTRT_BIN_DIR=`pwd`/out make nvinfer_plugin -j$(nproc)
构建成功结束后,
libnvinfer_plugin.so*
将在\`pwd\`/out/.
下生成。替换原始的
libnvinfer_plugin.so*
sudo mv /usr/lib/x86_64-linux-gnu/libnvinfer_plugin.so.8.x.y ${HOME}/libnvinfer_plugin.so.8.x.y.bak // backup original libnvinfer_plugin.so.x.y sudo cp $TRT_SOURCE/`pwd`/out/libnvinfer_plugin.so.8.m.n /usr/lib/x86_64-linux-gnu/libnvinfer_plugin.so.8.x.y sudo ldconfig