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的动态链接库。














评论