RDK-X5硬件目前是否支持 CenterPoint 中的 点云体素化以及 SparseConvolution / ScatterDense 算子

结论

RDK-X5 不支持 DSP 开发

根据社区确认的硬件信息:

  • RDK-X5 搭载的是地平线 Sunrise 5 (J6) 芯片,而非 J5 芯片
  • J6 芯片架构与 J5 不同,不配备 VDSP (Vision DSP) 模块
  • 社区中所有的 DSP 开发示例 (vdsp_rpc_sample) 仅适用于 J5 芯片 的开发板

详细说明

1. RDK-X5 硬件架构

组件 规格
芯片 Sunrise 5 (J6)
CPU 8 核 Cortex-A55
BPU 10 TOPS (神经网络处理器)
GPU 32 GFLOPS
DSP :cross_mark: 不支持

2. 为什么找不到 RDK-X5 的 DSP 示例?

  • VDSP 是 J5 芯片的专属模块,用于加速图像预处理(如点云体素化、图像缩放等)
  • J6 芯片采用了不同的架构,取消了 VDSP,改为:
    • 更强的 BPU 用于神经网络推理
    • 依赖 CPU + BPU 完成预处理任务
    • 部分预处理可通过 GPU硬件 VPS (Video Processing Subsystem) 加速

3. RDK-X5 的点云预处理方案

既然没有 DSP,CenterPoint/PointPillars 的点云预处理如何实现?

方案 A:CPU 实现(官方推荐)

OE 包中已提供纯 CPU 实现的预处理代码:

ddk/samples/ai_benchmark/j6/qat/script/detection/centerpoint_pointpillar/
  • 文件:qat_centerpoint_preprocess_method.cc
  • 性能:在 RDK-X5 上约 20-30ms(单核)

方案 B:BPU 集成预处理

将部分预处理算子集成到模型中,由 BPU 统一调度:

  • 使用 horizon_plugin_pytorch 中的定制算子
  • PointPillarsScatterVoxelization(部分支持)

方案 C:GPU 加速(可选)

利用 RDK-X5 的 GPU (Mali-G610) 进行并行计算:

  • 需要编写 OpenCL 或 Vulkan 计算着色器
  • 社区暂无成熟示例,需自行开发

官方文档参考

文档 链接 适用平台
J5 DSP 示例包说明 DSP 示例包使用说明 :cross_mark: 仅 J5
RDK-X5 开发指南 RDK-X5 文档中心 :white_check_mark: RDK-X5
CenterPoint 参考算法 CenterPoint V1.2.1 :white_check_mark: J5/J6 通用(CPU 实现)
BPU 算子支持列表 ONNX 算子支持 :white_check_mark: J6/RDK-X5

建议

  1. 放弃 DSP 方案:RDK-X5 硬件不支持,无需浪费时间寻找 DSP 示例
  2. 使用官方 CPU 实现:OE 包中的 ai_benchmark 示例已优化,性能可接受
  3. 如需进一步优化
    • 考虑将部分预处理算子融合到 BPU 模型中
    • 或评估是否需改用 J5 开发板(如确需 DSP 加速)
  4. 确认芯片型号:可通过以下命令验证:
    cat /proc/cpuinfo | grep "Hardware"
    # 或
    hb_sys_info
    

需要我帮你:

  1. 查看 RDK-X5 的 CPU 预处理代码实现细节?
  2. 分析如何将部分预处理算子迁移到 BPU?
  3. 提供 J5 与 J6 的硬件对比表?

结论

RDK-X5 不支持 DSP 开发

根据社区确认的硬件信息:

  • RDK-X5 搭载的是地平线 Sunrise 5 (J6) 芯片,而非 J5 芯片
  • J6 芯片架构与 J5 不同,不配备 VDSP (Vision DSP) 模块
  • 社区中所有的 DSP 开发示例 (vdsp_rpc_sample) 仅适用于 J5 芯片 的开发板

详细说明

1. RDK-X5 硬件架构

组件 规格
芯片 Sunrise 5 (J6)
CPU 8 核 Cortex-A55
BPU 10 TOPS (神经网络处理器)
GPU 32 GFLOPS
DSP :cross_mark: 不支持

2. 为什么找不到 RDK-X5 的 DSP 示例?

  • VDSP 是 J5 芯片的专属模块,用于加速图像预处理(如点云体素化、图像缩放等)
  • J6 芯片采用了不同的架构,取消了 VDSP,改为:
    • 更强的 BPU 用于神经网络推理
    • 依赖 CPU + BPU 完成预处理任务
    • 部分预处理可通过 GPU硬件 VPS (Video Processing Subsystem) 加速

3. RDK-X5 的点云预处理方案

既然没有 DSP,CenterPoint/PointPillars 的点云预处理如何实现?

方案 A:CPU 实现(官方推荐)

OE 包中已提供纯 CPU 实现的预处理代码:

ddk/samples/ai_benchmark/j6/qat/script/detection/centerpoint_pointpillar/
  • 文件:qat_centerpoint_preprocess_method.cc
  • 性能:在 RDK-X5 上约 20-30ms(单核)

方案 B:BPU 集成预处理

将部分预处理算子集成到模型中,由 BPU 统一调度:

  • 使用 horizon_plugin_pytorch 中的定制算子
  • PointPillarsScatterVoxelization(部分支持)

方案 C:GPU 加速(可选)

利用 RDK-X5 的 GPU (Mali-G610) 进行并行计算:

  • 需要编写 OpenCL 或 Vulkan 计算着色器
  • 社区暂无成熟示例,需自行开发

官方文档参考

文档 链接 适用平台
J5 DSP 示例包说明 DSP 示例包使用说明 :cross_mark: 仅 J5
RDK-X5 开发指南 RDK-X5 文档中心 :white_check_mark: RDK-X5
CenterPoint 参考算法 CenterPoint V1.2.1 :white_check_mark: J5/J6 通用(CPU 实现)
BPU 算子支持列表 ONNX 算子支持 :white_check_mark: J6/RDK-X5

建议

  1. 放弃 DSP 方案:RDK-X5 硬件不支持,无需浪费时间寻找 DSP 示例
  2. 使用官方 CPU 实现:OE 包中的 ai_benchmark 示例已优化,性能可接受
  3. 如需进一步优化
    • 考虑将部分预处理算子融合到 BPU 模型中
    • 或评估是否需改用 J5 开发板(如确需 DSP 加速)
  4. 确认芯片型号:可通过以下命令验证:
    cat /proc/cpuinfo | grep "Hardware"
    # 或
    hb_sys_info
    

需要我帮你:

  1. 查看 RDK-X5 的 CPU 预处理代码实现细节?
  2. 分析如何将部分预处理算子迁移到 BPU?
  3. 提供 J5 与 J6 的硬件对比表?