pointpillar部署-TensorRT实现(一)
1. 主干部分
核心部分分为:PreProcessCuda前处理; TRT(ppOnnxPath, stream_)模型推理; PostProcessCuda(stream_)后处理
内存管理部分:
cudaMallocManaged 统一内存管理,无须进行cpu内存申请,gpu内存申请,cpu到gpu的数据拷贝过程。cudaMallocManaged 即可完成同一个变量的引用; 但是需要注意的是cudaMallocManaged 需要在变量初始化之前使用。
cudaMemsetAsync 相对于主机是异步的,因此调用可能在memset完成之前返回。可以通过传递非零流参数将操作与流相关联。如果流为非零,则该操作可能与其他流中的操作重叠。
PointPillar::PointPillar(TSelfPcAlgParam * AlgParams){YAML::Node pc_cfg = YAML::LoadFile(AlgParams->m_strRootPath + AlgParams->m_stPcAlgParam.m_strCfgPath);ppOnnxPath = AlgParams->m_strRootPath + pc_cfg["POINTPILLAR_MODEL"].as<std::string>();AlgParams->m_s