存算一体:架构创新,打破算力极限

1 需求背景

     在全球数据量呈指数级暴涨,算力相对于AI运算供不应求的现状下,存算一体技术主要解决了高算力带来的高能耗成本矛盾问题,有望实现降低一个数量级的单位算力能耗,在功耗敏感的百亿级AIoT设备上、高能耗的数据中心、自动驾驶等领域有望发挥其低功耗、低时延、高算力密度等优势。 

    在现有的成熟架构及工艺下,当前依靠制程技术进步,增加晶体管密度提升算力、降低功耗已逐步趋于物理极限,且成本逐步提高;

    在冯诺依曼架构下,由于数据存储与运算单元分离,算力提升受限,功耗增加:

    应对存储单元与计算单元分离的现状,存算一体技术思路应运而生,在器件单元上存储与计算单元融合,通过底层的架构创新解决冯诺依曼架构的固有瓶颈

    由于存储介质技术在近年来不断突破,此外AIoT时代对于设备的智能化、低功耗、体积小、低时延等特性提出了天然要求(而现有的技术路线未能很好的满足需求),在技术突破叠加市场需求的双重作用力下,存算一体技术当前已到达产业化爆发拐点

     相对于五十多年前CPU的诞生以及二十多年前GPU的诞生,当前存算一体技术仍处于早期阶段,未来依靠其更好的并行度、更好的能效比等特性,有望成为智能化时代的主流算力平台之一,与现有的算力解决方案互为补充。

2 概念与原理

      存算一体是一种通过将数据存储单元与计算单元距离拉近、互相融合,从而提升访存带宽、减少访存功耗的技术。

       近存计算:不改变计算单元和存储单元本身设计功能,通过采用先进的封装方式及合理的硬件布局和结构优化,增强二者间通信宽带,增大传输速率;本质上属于冯诺依曼架构,通过拉近存储单元和计算单元的距离,对“存储墙”进行优化。

      存内计算:存储单元与计算单元完全融合,无独立计算单元,通过存储器颗粒上嵌入算法,由存储器芯片内部的存储单元完成计算操作;其设计难度更高,未来可提升的空间也更大,但需要获得代工厂许可支持。本文所探讨是存算一体/存内计算企业主要集中于这类。

3 技术路线

     分析存算一体,当前存算一体芯片研发企业/机构在成熟介质上的切入点集中在SRAM、Nor-Flash和DRAM等;部分学术机构选择切入RRAM等新型介质研发。

    从存储介质的分类来讲,分为易失性存储器和非易失性存储器。

    易失性存储器:即在正常关闭系统或者突然性、意外性关闭系统的时候,数据会丢失,成本高。如SRAM、DRAM;

    非易失性存储器: 在上述断电情况下数据不会丢失,成本低。如FLASH;

    不同的存储介质在计算机架构中均承担着必要的工作任务,其中SRAM距离CPU最近,响应时间最快,存储容量较小, 其次分别是DRAM、NAND-Flash等介质。

3.1 SRAM

     SRAM:CPU缓存(一个存储单元需要4-6个晶体管),特点是速度最快(纳秒级),不需要一直充电。

      优势是存储密度高于SRAM,适合数据中心等处理大容量模型的场景;但与CMOS工艺不兼容,访存性能和能效不如SRAM,其次设计需要DRAM vendor的支持。基于DRAM的存算技术路线大致有四类,具体如下:

  • 基于SRAM的近存计算:通常指采用大量片上SRAM作为缓存的计算架构,计算采用数字方式、精度较高、通常面向大算力场景,代表:Graphcore、Tenstorrent等;
  • 基于SRAM的数字存内计算:改造SRAM阵列,加入数字计算逻辑单元,在SRAM阵列中支持MAC计算,进一步提升Tensor计算的性能、减少功耗,适合AI大算力场景,代表:后摩智能、苹芯、TSMC等;
  • 基于SRAM的模拟存内计算:改造SRAM宏单元,利用电流、电荷累计等模拟计算方式,支持MAC计算,在低精度计算场景有低功耗的优势,适合边缘/物联网等低算力、低功耗的场景。代表:九天睿芯;

3.2 DRAM

     DRAM:内存条(一个存储单元仅需一个晶体管和一个小电容),占据58%的半导体存储市场份额,当前已突破20nm,往10nm过渡。

    优势是存储密度高于SRAM,适合数据中心等处理大容量模型的场景;但与CMOS工艺不兼容,访存性能和能效不如SRAM,其次设计需要DRAM vendor的支持。基于DRAM的存算技术路线大致有四类,具体如下:

  • 基于2D DRAM的近存计算:在DRAM芯片内部加入定制计算单元或者通用处理器,能够显著提升访存带宽,减少能耗,这种2D设计的好处是性价比高、可扩展性好,但是由于DRAM工艺的限制,能提供的计算密度受限,而且跨芯片间的通信带宽依旧受限,代表:Upmem、三星、海力士等;
  • 基于2.5D DRAM的近存计算:利用2.5D集成技术,高性能计算芯片将HBM与处理单元集成在一起,提供大访存带宽,适用于大算力的场景,主要挑战是价格昂贵,功耗较高,代表:GPU、TPU、寒武纪等。
  • 基于3D DRAM的近存计算:将计算单元与DRAM进行堆叠,甚至对HBM内部进行改造,把其中部分存储替换为计算单元,从而进一步提升带宽并减少访存功耗,相应的代价是增加了功耗密度、减少了存储容量等,代表:三星、平头哥等;
  • 基于DRAM的存内计算:修改DRAM的存储阵列,来支持基本的计算逻辑,因为对DRAM修改较大,主要在学术界提出一些原型设计;

3.3 FLASH

    优势是存储密度高,但读写速度慢、擦写次数受限明显。

    NAND Flash:如固态硬盘、U盘和内存;容量大,但读写速度极低

    NOR Flash:代码型内存,主要存一些指令;如机顶盒、网关、路由器中嵌入代码的存储;容量较小且写入数据极低,但读速较快。

基于Flash的存算技术路线大致有两类,具体如下:

  • 基于SSD的近存计算:也称为计算存储设备(Computational Storage Drive, CSD),在SSD控制器内/附近加入计算单元或者处理器,主要面向数据中心的大规模数据密集应用(如数据库,大数据分析等),代表:三星/Xilinx,ScaleFlux, NGD Systems等;
  • 基于Flash的模拟存内计算:基于Flash的模拟存内计算功耗低,但是由于写入速度慢,且高精度(即每个cell存储多比特)数值写入有挑战,适合模型固定的低功耗应用场景,代表:知存科技、Mythic、闪忆科技等;

3.4 新型工艺

    长期来看,存算一体芯片产品化的快速发展离不开新型存储介质成熟度提升的助推,以下为不同新型存储介质的原理比较:

    长期来看,RRAM(忆阻器)是除了电阻器、电容器、电感器之外的一大新发现;其与生物神经突触有着非常类似的特性,因此也被成为电子突触器件。

    以下为新型存储介质的性能比较:

3.5 性能比较

    以下为不同存储介质的存储原理及客观性能比较;其中成熟的存储介质如SRAM、DRAM、Flash基于电荷的移动完成数据存储;新型存储介质与RRAM、MRAM等基于电阻大小的变化完成数据存储功能。

4 挑战

     存算一体技术是一门非常复杂的综合性创新,产业还算不上成熟,在产业链方面仍旧存在上游支撑不足,下游应用不匹配的诸多挑战,但诸多的挑战同时也构成了当前存算一体创新未来可构筑的综合性壁垒。

5 趋势

      存算一体技术发展趋势:更高精度、更高算力、更高能效。

6 人才与生态

(1)作为一个新领域,存算一体芯片复合型人才稀缺,人才更多在学术界。

       完成存算一体芯片的产品化开发,需同时具备较强的学术原创能力(存算一体的架构和编译器设计、存算相关的量化算法开发等)及工程实践能力(场景理解能力、芯片落地能力)。

(2)从上游到下游的生态不完整,既是挑战也是机遇。

       存算一体芯片的大规模落地需与芯片厂商、软件工具厂商以及应用集成厂商等产业生态合作伙伴的大力协同研发和推广应用。

       需有一套方便、可用的工具链和软件,让采购方迁移成本低。

       兼容现有的软件生态,让采购方用起来“无感”,如可直接利用现有GPU训练软件框架。

       引导采购方逐步切入专用工具链进行模型适配、压缩等,更好利用存算一体的优势,逐步建立生态。

7 相关企业

       国内存算一体芯片企业有:知存科技、苹芯科技、后摩智能、亿铸科技、智芯科、千芯科技、九天睿芯等创新企业;国外有如Mythic、Syntiant等公司。

       知存科技:在存内计算芯片的研发和推广方面处于领先地位。他们的WTM2101基于nor flash存储介质,40nm的制程实现了超低功耗以及高算力。特别适用于智能语音和智能健康等领域。该公司不仅在技术上取得了突破,2023年1月还获得了2亿元的B2轮融资,显示了市场对其发展的认可和期待。

CSDN首个存内计算开发者社区来了,基于各界产学研存内技术研究,涵盖最丰富的存内计算内容,以存内技术为核心,史无前例的技术开源内容,囊括云/边/端侧商业化应用解析以及AI时代新技术趋势洞察等, 邀请业内大咖定期举办存内workshop,实战演练体验前沿架构;从理论到实践,做为最佳窗口,存内计算让你触手可及。

传送门:https://bbs.csdn.net/forums/computinginmemory?category=10003;

 首个存内计算开发者社区,现0门槛新人加入,发文享积分兑超值礼品;

 存内计算先锋/大使在社区投稿,可获得双倍积分,以及社区精选流量推送;

 此外,您的精选文章可获得社区奖金激励800,可获得线下训练营的免费名额以及存内主题活动大咖交流机会;

 社区优先赠送存内计算技术与应用精选论文,GitHub - CIMDeveloper/CIM-Files,请查收~

参考文献:

https://mp.weixin.qq.com/s/XvxzFQnKFliabFf8iey7cQ

https://blog.csdn.net/younger_china/article/details/135960527

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

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

相关文章

2024.02.06

TCP提供面向有连接的,可靠的数据传输服务,传输过程中,数据无误、数据无丢失、数据无失序、数据无重复 UDP面向无连接的,不保证数据可靠的,尽最大努力传输的协议,数据传输过程中,可能出现数据丢…

大路灯护眼灯有必要吗安全吗?五款优秀品质大路灯推荐

随着人们对健康生活的追求和对眼睛健康的关注,落地护眼灯逐渐成为一种热门的家居用品。落地护眼灯主要通过提供适宜的光照条件来保护眼睛,减少眼睛疲劳和视力损害的发生。那么,落地护眼灯是否有必要?它的使用是否安全呢&#xff1…

外包干了10个月,技术退步明显.......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

三网码支付系统源码,三网免挂有PC软件,有云端源码,附带系统搭建教程

搭建教程 1.先上传云端源码 然后配置Core/Config.php文件里面数据库信息注改;数据库帐号密码 2.云端源码里面Core/Api_Class/Instant_Url_List.php文件配置终端地址注改;第4 http://终端地址/ 3.导入云端数据库 账号admin 密码123456注改&#xff1…

【C语言】三子棋游戏实现代码

目录 1.三子棋代码功能介绍 2.三子棋游戏实现步骤 ①打印菜单栏 ②判断是否进入三子棋游戏 ③三子棋游戏基本函数实现 (1)清空(初始化)棋盘函数实现 (2)打印棋盘函数实现 (3&#xff0…

【如何学习CAN总线测试】——Vector VH6501干扰仪测试BusOff

系列文章目录 【如何学习CAN总线测试】系列文章目录汇总 文章目录 系列文章目录前言一、环境搭建1.硬件环境2.软件环境3.原理 二、测试方法1.打开Disturbance(CAN)工程2.使能 VH65013.MainConfigPanel面板4.TriggerConfiguration配置5.Sequence Configuration配置6.干扰结果 前…

leetcode9. 回文数|详细深入讲解算法

前往题目有 反转一半数字 思路 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转,然后将反转后的数字与原始数字进行比较&…

通信图(Communication Diagram)

UML2.0之前叫协作图(Collaboration Diagram) 一、定义 显示在某种情形下对象之间发送的消息。 协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息 二、元素 通信图的组成元素: 对象、链、消息 1、对象 通信图中的对象与顺序图中对象的概念相同&…

js中的事件模型详解

文章目录 一、事件与事件流二、事件模型原始事件模型标准事件模型IE事件模型 一、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性, 常见的有加载事件、鼠标事件、自定义事件等 …

工业以太网交换机引领现代工厂自动化新潮流

随着科技的飞速发展,现代工厂正迎来一场前所未有的自动化变革,而工业以太网交换机的崭新角色正是这场变革的关键组成部分。本文将深入探讨工业以太网交换机与现代工厂自动化的紧密集成,探讨这一集成如何推动工业生产的智能化、效率提升以及未…

金融信贷风控系统设计

前言 近一年多以来在金融行业负责风控系统,根据自己工作中的经验,写下这篇文章。既是对自己在风控领域工作的总结,也是给刚入行和准备入行的朋友打个样,希望能有所帮助。 为什么要有风控系统 记得 2016 年信贷行业的发展形势还…

Tauri 的基本使用笔记

文章目录 前言如何将 Tauri 集成到前端项目?进程间通信(命令)const invoke window.__TAURI__.invoke; 进程间通信(事件)前端 ⇒ RustRust ⇒ 前端我的疑问 开发时的一些技巧用代码打开前端的开发者工具让 Tauri 不要监听文件Rus…

cocos creator 3.x 预制体无法显示

双击预制体,进入详情页,没有显示资源 Bomb 是个预制体,但是当我双击进来什么都没有了,无法对预制体进行可视化编辑 目前我只试出来一个解决方法: 把预制体拖进Canvas文件中,这样就能展示到屏幕上&#xff…

Wireshark中的ARP协议包分析

Wireshark可以跟踪网络协议的通讯过程,本节通过ARP协议,在了解Wireshark使用的基础上,重温ARP协议的通讯过程。 ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。…

Vue-53、Vue技术vuex使用

vuex 是什么 1、概念 专门在Vue 中实现集中式状态(数据)管理的一个Vue 插件,对vue 应用中多个组件的共享状态进行集中式的 管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。2、…

无心剑小诗《醉爱平凡人生》

醉爱平凡人生 平凡人生,别样卓越 做调色板上最亮的颜料 没有豪华光环与繁杂束缚 只有一份简单的快乐 不追求虚名,不被物欲左右 安静地享受生活,品味每滴雨露 平凡人生,宛如流淌的小溪 没有壮烈激流,却有恒久细流 不…

pwn旅行之[WUSTCTF 2020]getshell2(一些小知识)

题目分析1 首先打开这个题目的链接的时候,看到了ret2syscall,以为是一个纯正的syscall的题,结果,做的时候发现这个题的危险函数限制的字符串个数不足以写入syscall需要的所有地址,所以,这里参考dalao们的方…

Go 中如何检查文件是否存在?可能产生竞态条件?

嗨,大家好!本文是系列文章 Go 技巧第十三篇,系列文章查看:Go 语言技巧。 Go 中如何检查文件是否存在呢? 如果你用的是 Python,可通过标准库中 os.path.exists 函数实现。遗憾的是,Go 标准库没有…

MySQL查询优化技巧和10个案例展示

优化MySQL查询的实战技巧: **避免使用SELECT ***:只获取需要的列,这样可以减少数据传输量,提高查询效率。使用索引:为查询频繁的列创建索引,可以显著提高查询速度。但请注意,索引并非万能&…

大华 DSS 数字监控系统 attachment_getAttList.action SQL 注入漏洞复现

0x01 产品简介 大华 DSS 数字监控系统是大华开发的一款安防视频监控系统,拥有实时监视、云台操作、录像回放、报警处理、设备管理等功能。 0x02 漏洞概述 大华 DSS存在SQL注入漏洞,攻击者 /portal/attachment_getAttList.action 路由发送特殊构造的数据包,利用报错注入获…