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

我要开发同款
匿名用户2022年03月25日
78阅读
开发技术Python
所属分类人工智能、机器学习/深度学习
授权协议Apache 2.0

作品详情

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

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

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

架构设计

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

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

对比手写Plugin

优化TensorRT原生算子

TPAT使用案例使用TPAT支持Onehot算子(TensorRT-7.2.2.3)

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

 

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

评论