TPAT TensorRT 插件自动生成工具开源项目

我要开发同款
匿名用户2022年03月25日
208阅读

技术信息

开源地址
https://github.com/Tencent/TPAT
授权协议
Apache 2.0

作品详情

TPAT是由腾讯联合英伟达开发的TesorRT插件自动生成工具。

TesorRT是当前应用最广的GPU推理框架,但由于支持的算子数量有限,用户面临手写插件以支持算子的痛点。而TPAT能够支持开放神经网络交换(ONNX)格式所有的算子,端到端生成TesorRT插件,在解放人力成本的同时,性能对比手写毫不逊色。

TPAT实现了TesorRT插件的全自动生成,TesorRT的部署和上线能基本流程化不再需要人工参与。手写插件的步骤将由TPAT代替,TPAT全自动生成一个算子插件耗时仅需要30-60分钟的时间(该时间用于搜索算子的高性能CUDAKerel)。

架构设计

TPAT接受用户输入的ONNX-Model,指定需要生成TesorRTPlugi的算子和batchsize,基于TVM深度学习编译器,对固定形状的算子进行AutoTue,自动生成高性能的CUDAKerel.将CUDAKerel和Rutime必要的参数填充进TesorRTPlugi模板,生成动态链接库,可以直接加载到TesorRT运行。

TPAT部分算子性能数据使用TPAT自动生成TesorRT-7.2不支持的算子,并且用TPAT优化TesorRT-7.2原生实现性能较差的算子;

对比手写Plugi

优化TesorRT原生算子

TPAT使用案例使用TPAT支持Oehot算子(TesorRT-7.2.2.3)

输入包括了oehot算子的ONNX_Model、Oehot算子的名字、batch_sizeTPAT借助TVM的Relay和AutoScheduler组件,生成高性能的CUDAKerel;经过模板填充后直接生成可用的oehot算子Plugi的动态链接库。

 

功能介绍

TPAT 是由腾讯联合英伟达开发的 TensorRT 插件自动生成工具。 TensorRT 是当前应用最广的 GPU 推理框架,但由于支持的算子数量有限,用户面临手写插件以支持算子的痛点。而TP...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论