腾讯联合英伟达开源 TensorRT 插件自动生成工具 TPAT

1,379

腾讯联合英伟达开发的TensorRT插件自动生成工具TPAT正式宣布开源。

开源的Github地址:github.com/Tencent/TPA…

TensorRT是英伟达推出的一个GPU推理框架,应用广泛,但由于支持的算子数量有限,用户面临手写插件以支持算子的痛点。

而TPAT的出现,则可以支持开放神经网络交换(ONNX)格式所有的算子,端到端生成TensorRT插件,在解放人力成本的同时,性能对比手写毫不逊色。

TPAT 实现了TensorRT插件的全自动生成,手写插件的步骤由TPAT替代,全自动生成一个算子插件耗时仅需要30-60分钟的时间。

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

与其它工具相比,TPAT主要有三大亮点:

  • 覆盖度:支持 onnx/tensorflow/pyTorch 所有的算子
  • 全自动:端到端全自动生成用户指定的 TensorRT Plugin
  • 高性能:大部分算子上性能超越手写 Plugin

根据TPAT的开源计划,未来它将重点进行三个方面的改进,分别是支持算子的多精度,支持子图优化以及支持动态形状。