当前位置: 首页 > news >正文

存内计算加速3D点云处理:PC2IM架构解析

1. PC2IM:当存内计算遇上3D点云处理

在自动驾驶汽车通过激光雷达感知周围环境时,每秒钟会产生数十万个三维坐标点。这些海量的点云数据(Point Cloud)需要实时处理,但传统GPU方案功耗高达上百瓦,根本无法在车载边缘设备上部署。这正是我们团队设计PC2IM加速器的初衷——通过存内计算(Computing-in-Memory, CIM)技术彻底重构点云神经网络的处理流程。

存内计算的核心思想是将计算单元嵌入存储阵列,打破传统冯·诺依曼架构中"存储-计算"分离带来的数据搬运瓶颈。SRAM-CIM作为当前最成熟的存内计算实现方式,在40nm工艺下就能实现2.5TOPS/W的能效,这比传统数字逻辑电路高出1-2个数量级。但现有SRAM-CIM方案在处理3D点云时面临两大挑战:

  1. 点云预处理阶段(如最远点采样)需要频繁访问片上缓存,占整体能耗的41%
  2. 特征计算阶段的多层感知机(MLP)需要16bit高精度计算,导致传统位串行CIM的延迟激增

2. 架构设计:从算法近似到硬件协同

2.1 近似距离计算的硬件实现

传统点云网络使用欧式距离(L2)进行最远点采样,其计算公式为:

L2 = \sqrt{(x-x_r)^2 + (y-y_r)^2 + (z-z_r)^2}

这需要三个乘法器和一个开方运算,在硬件实现时会产生两大问题:

  1. 乘法操作会扩展数据位宽(如16bit坐标经平方后变为32bit)
  2. 动态中间结果需要暂存,增加临时存储开销

我们提出用曼哈顿距离(L1)近似替代:

L1 = |x-x_r| + |y-y_r| + |z-z_r|

在ModelNet40数据集上的实验表明,当查询半径缩放1.6倍时,准确率损失小于2%。对应的硬件实现采用图1所示的APD-CIM阵列:

该阵列包含4个点群(PTG),每个PTG包含:

  • 16个点簇(PTC),每个PTC集成:
    • 标准6T SRAM单元(存储32个点坐标)
    • 动态逻辑感放(Dynamic Logic Sense Amplifier)
    • 近内存计算单元(Near-Memory Unit)
  • 绝对值累加器(ABSAcc)

工作时,参考点坐标通过字线(WL)并行读取到寄存器,查询点坐标通过位线(BL)输入。动态逻辑感放将减法运算转换为NAND/OR操作,近内存单元完成累加,最终输出19bit的L1距离。相比传统数字电路实现,能效提升8.9倍。

2.2 两级乒乓MAX-CAM设计

最远点采样需要持续更新并比较点集距离,传统实现方式如图2(a)所示:

  1. 从片上缓存读取临时距离(TD)
  2. 数字比较器找出最大值
  3. 更新TD寄存器
  4. 重复直到遍历所有点

这种方案导致大量片上数据搬运,占预处理阶段58%的能耗。我们创新的Ping-Pong-MAX CAM结构(图2b)将比较操作移至存储体内完成:

关键技术突破:

  1. 单元级乒乓:每个CAM单元存储一对距离值(Upper/Lower TD),通过本地选择器动态配置比较模式
  2. 波纹比较:预充电的比较线(LL)从首单元传播到尾单元,自动标记最大值位置
  3. 阵列级乒乓:双CAM阵列交替执行加载和搜索操作,实现流水线并行

实测显示,该结构将临时距离更新的能耗降低97%,使整个预处理模块能效提升3.7倍。

3. 分块拼接式特征计算引擎

3.1 高精度MLP的存内计算困境

传统位串行SRAM-CIM(BS-CIM)每个周期处理1bit输入,完成16bit乘法需要16个周期。若改用位并行方案,又会导致:

  • 乘法器面积增加16倍
  • 加法器位宽从16bit扩展到32bit
  • 布线拥塞加剧

3.2 SC-CIM的创新设计

我们的解决方案(图3)包含三大关键技术:

  1. 输入交错拆分

    • 将16bit输入拆分为4个4bit簇(如输入1011 1101 1111 0000 → 簇1:1_1_1_0, 簇2:0_1_1_0,...)
    • 相邻簇位权相差2⁴(而非2¹),减少进位传播
  2. 权重块拆分

    • 每组64个4bit权重块共享加法树
    • 相邻块A/B通过融合加法器(FuA)预计算A+B
  3. 稀疏-稠密混合累加

    • 稠密部分:17bit(16+符号位)常规累加
    • 稀疏部分:4bit进位专用通路

这种结构在40nm工艺下实现:

  • 4倍于BS-CIM的吞吐量(2TOPS@16bit)
  • 仅增加23%的面积开销
  • 支持动态精度切换(4/8/16bit)

4. 实测数据与对比分析

4.1 能效基准测试

在SemanticKITTI数据集(16k点/帧)上的测试结果:

指标Baseline-2 [10]PC2IM提升倍数
预处理能耗(mJ)4.21.13.8×
MLP延迟(ms)6.51.25.4×
整体能效(TOPS/W)0.92.532.7×

4.2 与GPU的对比

平台帧率(FPS)能效(FPS/W)
RTX 4090220.1
PC2IM77151.9

关键优势体现在:

  1. 数据预处理:CIM化改造减少73.4%的片上数据搬运
  2. 特征计算:SC-CIM在16bit模式下实现9.9倍FoM提升
  3. 数据流优化:基于中值的空间分区(MSP)提升15%的存储利用率

5. 工程实现中的经验总结

在实际芯片设计过程中,我们总结了以下宝贵经验:

  1. 近似计算的精度补偿

    • L1距离查询半径需放大1.6倍
    • 在最后一个PSA层保留原始L2计算作为校准
    • 采用动态范围缩放(DRS)补偿量化误差
  2. CAM设计的稳定性优化

    • 波纹比较线需插入中继缓冲器
    • 采用差分感放消除电荷注入效应
    • 添加温度补偿电路保证PVT稳定性
  3. 布局布线挑战

    • SC-CIM的融合加法器需与存储阵列行对齐
    • 采用蛇形走线平衡时序
    • 自定义电源网格降低IR drop

实测中发现,当工作频率超过300MHz时,MAX-CAM的比较误码率会急剧上升。最终通过调整预充电电压(从1.1V降至0.9V)和延长比较周期(从1ns到1.2ns)解决了该问题。

这套设计方法已成功应用于自动驾驶点云感知芯片,相比传统方案,在保持98%精度的同时,将能效提升到1518.9倍。未来我们将进一步探索3D堆叠技术,通过TSV实现存算一体阵列的垂直扩展,持续推动边缘AI计算的发展。

http://www.jsqmd.com/news/789797/

相关文章:

  • 从真值到补码:计算机如何用0和1表示正负与运算
  • 在Taotoken模型广场中根据任务与预算选择合适模型的思路
  • TRINE架构:多模态AI边缘计算的高效能效比解决方案
  • 做垂直领域内容,我们踩过的坑和偷着乐的甜
  • 免费解锁B站4K大会员视频下载:三步完成离线观看的终极指南
  • Unlock Music Electron:数字音乐加密格式的本地化解密解决方案
  • 别再死记硬背电路图了!用PLC(西门子S7-1200)轻松实现电机正反转,附梯形图与实物接线
  • 双附点的意思
  • 3:介绍stable difussion
  • 基于FastAPI与OpenAI API构建可定制化聊天机器人全流程指南
  • 永久保存微信聊天记录的终极方案:WeChatMsg开源工具完整指南
  • ChatGPT对话时间线:构建可追溯、可分析的AI对话治理工具
  • Noto Emoji一站式解决方案:彻底解决跨平台表情符号显示难题
  • STM32新手避坑指南:正点原子、野火、慧净、小马飞控的Systick延时函数到底差在哪?
  • Linux文件内容查看
  • 3分钟让模糊录音变清晰:VoiceFixer语音修复神器使用指南
  • MongoDB数据模型设计:构建高效的文档结构
  • 中兴光猫工厂模式终极解锁:zteOnu工具专业配置指南
  • DLSS Swapper深度解析:5分钟掌握游戏性能调优终极方案
  • Dreamer:基于神经科学原理的AI智能体记忆管理与优化引擎
  • 地铁12号线临时加车通知(附官方调度日志截图),避开早高峰拥堵的最后机会!
  • 告别记事本!用CLion+NDK r21在Windows上优雅开发Android C/C++项目(CMake实战)
  • 为AI Agent构建文件交付通道:OpenClaw File Links Tool部署与集成指南
  • 构建认知智能体:从任务分解到工程落地的全流程指南
  • 从克拉坡振荡器到丙类功放:深入拆解一个调频发射机的每个模块(含原理、选型与实测分析)
  • 如何在5分钟内实现Figma界面全中文汉化?
  • 如何用ncmdumpGUI免费快速解密网易云音乐NCM格式:完整解决方案指南
  • 颠覆性网络资源捕获神器:res-downloader如何5分钟改变你的数字内容管理方式
  • 5步掌握LinkSwift网盘直链下载助手:告别限速困扰的完整技术方案
  • LangGraph 生产踩坑录:真实项目中遇到的 10 个坑,每一个都让人崩溃过