# TRT_customPlugin **Repository Path**: franck2333/trt_custom-plugin ## Basic Information - **Project Name**: TRT_customPlugin - **Description**: 编译自定义算子scatterND、scatterPlugin - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-19 - **Last Updated**: 2022-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TRT_customPlugin #### 介绍 编译自定义算子scatterND、scatterPlugin #### 目录结构 ![目录整体结构](https://images.gitee.com/uploads/images/2021/0819/184418_c5ec747d_7808645.png "屏幕截图 2021-08-19 174251.png") ![scatterPlugin文件夹的子文件](https://images.gitee.com/uploads/images/2021/0819/184500_8a773860_7808645.png "屏幕截图 2021-08-19 174647.png") #### 文件准备 1. 下载源码: ```shell script git clone https://github.com/nvidia/TensorRT cd TensorRT git submodule update --init --recursive git checkout release/7.2(# 注意需要将parse/onnx同样切换到release/v7.2) ``` 2. [CUB下载](https://nvlabs.github.io/cub/)下载CUB 1.8.0 3. [TensorRT7.2.3下载](https://developer.nvidia.com/nvidia-tensorrt-7x-download)选择7.2.3.4的TAR package版本下载 #### 使用说明 1. 配置环境变量: ```shell script cd TRT_ROOT export TRT_RELEASE=`pwd`/TensorRT-7.2.3.4 export TENSORRT_LIBRARY_INFER=$TRT_RELEASE/targets/x86_64-linux-gnu/lib/libnvinfer.so.7 export TENSORRT_LIBRARY_INFER_PLUGIN=$TRT_RELEASE/targets/x86_64-linux-gnu/lib/libnvinfer_plugin.so.7 export TENSORRT_LIBRARY_MYELIN=$TRT_RELEASE/targets/x86_64-linux-gnu/lib/libmyelin.so export LD_LIBRARY_PATH=$TRT_RELEASE/lib:$LD_LIBRARY_PATH export CUB_PATH=/home/TRT_ROOT/cub-1.8.0 ``` 2. 添加自定义Plugin - 自己的plugin文件夹(如`scatterPlugin`)拷贝到`TensorRT-src/plugin`中 - 修改`CMakeLists.txt`: `PLUGIN_LISTS`增加`scatterPlugin`; `InferPlugin.cpp`: `#include "scatterPlugin.h"`并且函数`initLibNvInferPlugins`增加`initializePlugin(logger, libNamespace);` 3. 编译src: ```shell script cd TRT_ROOT/TensorRT-src mkdir build & cd build cmake .. -DBUILD_PARSERS=ON -DBUILD_SAMPLES=OFF -DBUILD_PLUGINS=ON -DTRT_LIB_DIR=$TRT_RELEASE/lib -DTRT_OUT_DIR=`pwd`/out -DCUB_ROOT_DIR=$CUB_PATH make -j${nproc} make install ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)