基于3d稀疏卷积的centerpoint部署
创始人
2024-06-01 19:13:59
0

目前已实现基于稀疏卷积的centerpoint部署,精度不丢失,在3080ti 下,nuscenes数据集 fp32 一帧耗时32ms左右,比pytorch推理速度快3倍!

centerpoint推理网络分3部分:

  • 1.backbone前面部分用tensorRT实现定义算子,包含5个TensorRT算子

    • 由点云生成voxel信息
    • 对每个voxel计算均值
    • 子流线稀疏卷积
    • 普通的稀疏卷积
    • 稀疏卷积网络部分输出信息经scatter转为[N,C,H,W]形式

    该自定义算子部分调用TensorRT API搭建网络,导出用于TensoRT推理的pfe.trt文件

  • 2.backbone 2D卷积 ,该部分经过pytorch-->onnx-->Trt的的形式转换出TensoRTrpn.trt推理文件,方便后续做int8的感知训练量化

    1. 后处理:使用c++/cuda实现

性能优化记录

fp32rpn部分耗时11.5ms左右,后处理部分耗时1ms多点,rpn部分调用TensoRT2D卷积,耗时固定的,接下来主要针对自定义算子的前处理+pfe + 后处理速度进行优化

耗时优化记录如下:

  • 20230101: 完成初版
    pfe 3d conv:216ms
  • 20230105 : 针对自定义算子中间变量的显存分配,使用malloc、free太耗时,改为手动分配显存,合并内存分配,并保持内存对齐
    pfe 3d conv:200ms
  • 20230108: 使用二维grid和二维线程块
    pfe 3d conv 120ms
  • 20230110 : 使用共享内存,每个线程计算一个数
    pfe 3d conv 48ms
  • 20230202: 针对全局内存加载数据访存比低问题,使用共享内存并分块,每个线程计算 8*8 个数,同时解决M,N不能整除BM,BN的边缘问题,但结果有部分数据异常,需进一步排查
    pfe 3d conv 45ms
  • 20230302 : 修复分块共享内存的矩阵乘法部分数据异常问题
    pfe 3d conv:45ms
  • 20230308 共享内存存在bank冲突,将矩阵A在共享内存中按列缓存,解决共享内存将结果写入全局变量的bank冲突问题,同时使用向量化float4增大全局数据读写的带宽利用率
    pfe 3d conv:24ms
  • 20230310:
    • 使用向量化,定义宏定义#define INT4(pointer) (reinterpret_cast(&(pointer))[0]),替换new_getSubMIndicePairsKernel和fillGridKernelV2核函数中valid_points的全局读操作,增大内存读的带宽率 pfe 3d conv:22.8ms
    • 优化稀疏卷积核函数getValidOutPosKernel,去掉valid_points写的原子操作,
      利用向量化int4进行全局内存写,同时去掉valid_points_num的原子操作
      pfe 3d conv:21.8ms
    • 调整子流线卷积中indice_pairs(rulebook)的存储顺序,使用[N,27,2]替换[27,2,N] 便于使用向量化float2,
      #define FLOAT2(pointer) (reinterpret_cast(&(pointer))[0]),同时写入rulebook中输入输出序号,增大内存带宽利用率。矩阵乘法部分相应也需要修改
      pfe 3d conv:20.6ms
  • 20230311 :
    • 调整普通稀疏卷积中indice_pairs(rulebook)的存储顺序,使用[N,27,2]替换[27,2,N] 便于使用向量化float2读写数据
      pfe 3d conv:20.3ms
    • 稀疏卷积add_bias_kernel核函数改为二维grid和二维block,同时使用float4读写数据
      pfe 3d conv:19.9ms

下一步:

  • 3.15 :在orin芯片上测试基于稀疏卷积centerpoint耗时
  • 3.18:增加fp16TensorRT算子,预估fp16 x86下的耗时可以到20ms
  • 3.30 :针对后处理部分nms耗时1ms多,耗时过长,将head部分都统计改为cuda实现

相关内容

热门资讯

关於香港人的称呼 关於香港人的称呼陌生的中老年男子和女子正式的通常都叫先生,太太,小姐或女士。比较多人这样称呼,始终是...
天津市北辰区有那几个乡镇啊 !... 天津市北辰区有那几个乡镇啊 !那个乡镇工业多啊详细点北辰区现辖4个街道、9个镇(不是3个了):果园新...
北方盆栽桔子树怎么养 北方盆栽桔子树怎么养盆栽橘子如管理不当,往往只开花、不结果或少结果,甚至不开花。要让盆栽橘子年年开花...
马克龙施压英国承认巴勒斯坦国 据新华社电 英国媒体4日披露,法国总统埃马纽埃尔·马克龙正向英国首相基尔·斯塔默施加压力,试图让后者...
十二星座男最喜欢哪一种类型的女... 十二星座男最喜欢哪一种类型的女孩子,为什么?在我看来,对于水瓶座的男生来说,更喜欢那些娇小可爱的女孩...
马斯克宣布“美国党”成立 当地时间7月5日,美国企业家埃隆·马斯克在社交媒体平台X上发文称,“美国党”于当日成立,以还给人民自...
12生肖中哪肖权威最大? 12生肖中哪肖权威最大?在十二生肖中权威最大的动物肯定是山中的大王老虎,因为它是百兽之王。
当别人和你说,我只要你好好的就... 当别人和你说,我只要你好好的就行,怎么回答?当别人和你说,我只要你好好的就行,怎么你好,这个要看是谁...
汪伦是怎样解释十里桃花的 汪伦是怎样解释十里桃花的汪伦解释说:“十里桃花是指十里外的桃花渡;万家酒店是指桃花潭西有个姓万的人家...
成都有没有比较好的景观(园林)... 成都有没有比较好的景观(园林)设计的手绘培训?你可以去明思源问问看那儿是专门做室内设计跟园林设计培训...