TensorRT 系列之入门篇-优化特点

一 tensorTR对于kernel launch以及每层tensor data读取的速度不对称的问题的解决:
(1)(纵向融合)通过融合相同顺序的操作来减少Kernel launch的消耗以及避免层之间的读写操作.如卷积;bias和Relu层可以融合成一个kernel,这里称之为CBR
(2)(横向融合)TensorRT会去挖掘输入数据且filter大小相同但weights不同的层,对于这些层不是使用三个不同的kernel而是使用一个kernel来提高效率
(3)通过预分配输出缓存以及跳跃式的写入方式来避免这次转换

二 在前向传播中采用FP16或者INT8精度计算从而获得更小的模型,低的显存占用率和延迟以及更高的吞吐率

优化结果

上图为基于Resnet50网络,分别在CPU、V100+TensorFlow、V100+TensorRT上进行推理时的性能比较,纵轴为每秒处理的图片数量。相较于CPU和TensorFlow,TensorRT可以带来40倍和18倍的吞吐率的提升,而这部分的提升只需要在拥有GPU的前提下使用TensorRT即可免费获得。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章