存算一体架构下的新型AI加速范式:从Samsung HBM-PIM看近内存计算趋势

引言:突破"内存墙"的物理革命

冯·诺依曼架构的"存储-计算分离"设计正面临根本性挑战——在GPT-4等万亿参数模型中,数据搬运能耗已达计算本身的200倍。存算一体(Processing-In-Memory, PIM)技术通过‌在存储介质内部集成计算单元‌,开辟了突破"内存墙"的新路径。本文将聚焦三星HBM-PIM设计,解析近内存计算如何重塑AI加速器的能效边界。

一、HBM-PIM架构的颠覆性设计

1.1 传统HBM与PIM架构对比

三星2021年发布的HBM-PIM芯片在DRAM Bank中植入‌可编程AI引擎‌
在这里插入图片描述
关键创新点‌

  • Bank级计算单元‌:每个DRAM Bank集成16个INT16 MAC单元
  • 指令缓存优化‌:支持SIMD指令的本地解码与调度
  • 数据通路重构‌:消除传统架构中的PHY接口瓶颈

1.2 芯片级架构解析

HBM-PIM的3D堆叠设计包含核心组件:

┌───────────────────────┐  
│  Host Interface Layer │  
├───────────────────────┤  
│  Buffer Chip          │  
│  (TSV Interposer)     │  
├───────────────────────┤  
│  DRAM Layer           │  
│  ┌───────┬───────┐    │  
│  │ Bank 0│ Bank 1│ ...│  
│  │  MAC  │  MAC  │    │  
│  └───────┴───────┘    │  
└───────────────────────┘  

每个Bank内的AI引擎可并行执行:


// HBM-PIM指令流水线示例  
always @(posedge clk) begin  if (cmd_decoder == MAC_OP) begin  // 从本地row buffer读取数据  operand_a = row_buf[addr_a];  operand_b = row_buf[addr_b];  // 执行乘累加  mac_result <= operand_a * operand_b + mac_accumulator;  // 结果写回指定row  row_buf[addr_c] <= mac_result[31:16];  end  
end  

该设计使ResNet-50的推理能效提升2.8倍,延迟降低40%。

二、近内存计算的系统级创新

2.1 数据流重构范式

HBM-PIM引入‌计算流式传输‌模式,与传统架构对比:

‌传统架构数据流‌

DRAM → PHY → GDDR Bus → I/O Die → Compute Core  

‌PIM架构数据流‌

DRAM Bank → Local MAC → Result Aggregation → Host  

在Llama-2 7B模型测试中,该方案减少89%的片外数据搬运。

2.2 新型编程模型

三星提供SDK支持C++扩展语法:

#pragma pim_parallel  
void vec_add(int* a, int* b, int* c, int len) {  #pragma pim_for  for (int i = 0; i < len; ++i) {  c[i] = a[i] + b[i];  // 在PIM阵列执行  }  
}  

编译器自动生成:

  • 数据分片策略‌:将数组划分为Bank对齐的块
  • 指令调度‌:并行化循环到多个AI引擎
  • 同步机制‌:屏障同步确保数据一致性

三、性能实测与优化分析

3.1 典型AI负载测试

在AMD MI250X + HBM-PIM平台上对比:
在这里插入图片描述

3.2 关键优化技术

  1. 数据局部性增强‌
  • 权重矩阵切片与Bank存储对齐
  • 利用DRAM row buffer的8KB局部性‌
  1. 混合精度计算‌
  • FP16激活值 + INT8权重:误差补偿算法
def compensation(grad):  scale = torch.mean(torch.abs(grad))  return grad * scale / 127.0  
  1. 动态电压调节‌
  • 根据计算负载调整Bank电压(1.2V → 0.9V)
  • 空闲Bank进入休眠状态

四、技术挑战与演进方向

4.1 当前技术瓶颈

  • 热密度问题‌:PIM芯片功耗密度达78W/cm²,需液冷散热‌
  • 工艺限制‌:DRAM制程(20nm)落后于逻辑芯片(5nm)
  • 软件生态‌:缺乏统一编程标准,移植成本高

4.2 前沿突破方向

  1. 3D集成技术‌
  • 计算层与存储层的混合键合(Hybrid Bonding)
  • 硅通孔(TSV)密度提升至10^6/mm²
  1. 新型存储介质‌
  • 基于FeRAM的存算一体单元:非易失性+低漏电
  • 相变存储器(PCM)的多值存储特性
  1. 异构计算架构‌
  • 存内计算 + 近存计算 + 存外计算的协同调度
  • 光子互连突破带宽瓶颈

五、产业应用启示

美光2024年发布的HBM4-PIM路线图显示:

  • 2025年:36层堆叠,带宽突破2TB/s
  • 2026年:集成FPGA可编程逻辑单元
  • 2027年:支持存内训练(In-Memory Training)

这将使大模型训练出现颠覆性变革:

  • 万亿参数模型‌的能效提升5-8倍
  • 边缘设备‌实现100B参数级推理‌
  • 实时学习‌成为可能

结语:架构重构的临界点

存算一体不是简单的技术改良,而是对计算本质的重新思考。当HBM-PIM将能效边界推向10 TFLOPS/W,我们正站在架构革命的临界点。这场变革的终极目标,是让计算回归数据本源——‌在比特诞生的地方处理比特‌

本文实验数据基于Samsung Aquabolt-XL HBM-PIM实测,更多技术细节请参考ISSCC 2023论文《A 1ynm 16Gb 4.8TFLOPS/W HBM-PIM with Bank-Level Programmable AI Engines》。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/81964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯15届国赛 合法密码

问题描述 小蓝正在开发自己的 OJ 网站。他要求网站用户的密码必须符合以下条件&#xff1a; 长度大于等于 8 个字符&#xff0c;小于等于 16 个字符。必须包含至少 1 个数字字符和至少 1 个符号字符。 例如 **lanqiao2024!、-*/0601、8((>w<))8** 都是合法的密码。 而…

Jenkins忘记admin密码后的恢复步骤

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 时间较长没有使用…

C++ - 仿 RabbitMQ 实现消息队列(1)(环境搭建)

C - 仿 RabbitMQ 实现消息队列&#xff08;1&#xff09;&#xff08;环境搭建&#xff09; 什么是消息队列核心特点核心组件工作原理常见消息队列实现应用场景优缺点 项目配置开发环境技术选型 更换软件源安装一些工具安装epel 软件源安装 lrzsz 传输工具安装git安装 cmake安装…

简单面试提问

Nosql非关系型数据库&#xff1a; Mongodb&#xff1a;开源、json形式储存、c编写 Redis&#xff1a;key-value形式储存&#xff0c;储存在内存&#xff0c;c编写 关系型数据库&#xff1a; sqlite;&#xff1a;轻量型、0配置、磁盘存储、支持多种语言 mysql&#xff1a;开源…

油气地震资料信号处理中的NMO(正常时差校正)

油气地震资料信号处理中的NMO&#xff08;正常时差校正&#xff09;介绍与应用 NMO基本概念 **正常时差校正&#xff08;Normal Moveout Correction&#xff0c;NMO&#xff09;**是地震资料处理中的一项关键技术&#xff0c;主要用于消除由于炮检距&#xff08;source-recei…

深度解析:从 GPT-4o“谄媚”到 Deepseek“物理腔”,透视大模型行为模式的底层逻辑与挑战

深度解析&#xff1a;从 GPT-4o“谄媚”到 AI“物理腔”&#xff0c;透视大模型行为模式的底层逻辑与挑战 标签&#xff1a;人工智能, GPT-4o, 大语言模型, AI伦理, 人机交互, 技术思考 大家好&#xff01;最近AI圈最火的“瓜”之一&#xff0c;莫过于OpenAI的GPT-4o模型在一…

Java引用RabbitMQ快速入门

这里写目录 Java发送消息给MQ消费者接收消息实现一个队列绑定多个消费者消息推送限制 Fanout交换机路由的作用Direct交换机使用案例 Java发送消息给MQ public void testSendMessage() throws IOException, TimeoutException {// 1.建立连接ConnectionFactory factory new Conn…

从读写分离到分布式服务:系统架构演进十阶段深度解析

第一阶段到第四阶段&#xff1a;架构进化四阶段&#xff1a;探索单体到集群的高可用性能优化之道-CSDN博客https://blog.csdn.net/pinbodeshaonian/article/details/147464084?spm1001.2014.3001.5502 以下是对从第五阶段到第十阶段详细的解释&#xff1a; 第五阶段&#xf…

Webug4.0靶场通关笔记07- 第9关反射XSS和第10关存储XSS

目录 第09关 反射型XSS 1.打开靶场 2.源码分析 3.渗透实战 第10关 存储型XSS 1.打开靶场 2.源码分析 3.渗透实战 本系列为通过《Webug4.0靶场通关笔记》的渗透集合&#xff0c;本文为反射型和存储型XSS漏洞关卡的渗透部分&#xff0c;通过对XSS关卡源码的代码审计找到漏…

Prometheus的安装部署

目录 一、概述 二、Prometheus的安装 1、二进制方式 1.1、下载系统安装包​编辑 1.2、解压 1.3、创建数据目录&#xff0c;服务运行用户 1.4、设置为系统服务&#xff08;创建服务运行脚本&#xff09; 1.5、启动服务&#xff0c;并通过浏览器访问验证 2、容器方式 2…

Jupyter Notebook为什么适合数据分析?

Jupyter Notebook 是一款超实用的 Web 应用程序&#xff0c;在数据科学、编程等诸多领域都发挥着重要作用。它最大的特点就是能让大家轻松创建和共享文学化程序文档。这里说的文学化程序文档&#xff0c;简单来讲&#xff0c;就是把代码、解释说明、数学公式以及数据可视化结果…

Python清空Word段落样式的方法

在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档&#xff0c;包括清空段落样式。以下是几种清空段落样式的方法&#xff1a; 方法一&#xff1a;直接设置段落样式为"Normal" from docx import Documentdoc Document(your_document.docx) # 打…

macOS 上是否有类似 WinRAR 的压缩软件?

对于习惯使用 Windows 的用户来说&#xff0c;WinRAR 是经典的压缩/解压工具&#xff0c;但 macOS 系统原生并不支持 RAR 格式的解压&#xff0c;更无法直接使用 WinRAR。不过&#xff0c;macOS 平台上有许多功能相似甚至更强大的替代工具&#xff0c;以下是一些推荐&#xff1…

WebRtc09:网络基础P2P/STUN/TURN/ICE

网络传输基本知识 NATSTUN&#xff08;Session Traversal Utilities for NAT&#xff09;TURNICE NAT 产生的原因 IPV4地址不够出于网络安全的原因 NAT种类 完全锥型NAT(Full Cone NAT)地址限制型NAT(Address Restricted Cone NAT)端口限制型NAT(Port Restricted Cone NAT…

如何添加或删除极狐GitLab 项目成员?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 项目成员 (BASIC ALL) 成员是有权访问您的项目的用户和群组。 每个成员都有一个角色&#xff0c;这决定了他们在项目中可以…

用单目相机和apriltag二维码aruco实现单目定位

目录 一、核心流程与代码框架 1. ‌环境准备‌ 2. ‌ArUco定位实现 3. ‌AprilTag定位实现&#xff08;需额外安装Apriltag库&#xff09; 二、关键优化点 1‌.亚像素角点优化 2‌ 多标签联合定位 三、性能指标&#xff08;实测&#xff09; 四、常见问题 ‌检测失败…

tinyrenderer笔记(透视矫正)

tinyrenderer个人代码仓库&#xff1a;tinyrenderer个人练习代码 引言 还要从上一节知识说起&#xff0c;在上一节中我为了调试代码&#xff0c;换了一个很简单的正方形 obj 模型&#xff0c;配上纹理贴图与法线贴图进行渲染&#xff0c;得了下面的结果&#xff1a; what&…

MySQL的内置函数与复杂查询

目录 前言 一、聚合函数 1.1日期函数 1.2字符串函数 1.3数学函数 1.4其它函数 二、关键字周边 2.1关键字的生效顺序 2.2数据源 2.3可以使用聚合函数的关键字 前言 在前面几篇文章中&#xff0c;讲解了有关MySQL数据库、数据库表的创建、数据库表的数据操作等等。本文我…

见多识广4:Buffer与Cache,神经网络加速器的Buffer

目录 前言传统意义上的Buffer与Cache一言以蔽之定义与主要功能BufferCache 数据存储策略二者对比 神经网络加速器的bufferInput BufferWeight BufferOutput Buffer与传统buffer的核心区别总结 前言 知识主要由Qwen和Kimi提供&#xff0c;我主要做笔记。 参考文献&#xff1a; …

内存的位运算

示例&#xff1a;提取和设置标志位 假设我们有一个32位的整数&#xff0c;其中不同的位代表不同的标志。例如&#xff1a; 位0&#xff1a;是否开启日志&#xff08;0表示关闭&#xff0c;1表示开启&#xff09; 位1&#xff1a;是否启用调试模式&#xff08;0表示禁用&#…