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

news2024/11/15 15:48:07

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轮融资,显示了市场对其发展的认可和期待。

       苹芯科技:

参考文献:

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

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

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

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

相关文章

VSCode 安装LLDB调试器(OS X)并启动调试

插件:(LLDB插件安装) 安装这个版本不好弄错了,CodeLLDB(名字) 配置:(LLDB启动调试) {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更…

阻塞队列(超详细易懂)

目录 一、阻塞队列 1.阻塞队列概述 2.生产者消费者模型 3.阻塞队列的作用 4.标准库中的阻塞队列类 5.例子:简单生产者消费者模型 二、阻塞队列模拟实现 1.实现循环队列(可跳过) 1.1简述环形队列 1.2代码实现 2.实现阻塞队列 2.1实…

CMake生成osg的FFMPEG插件及Windows下不生成VS工程问题解决

在Windows下,如何利用CMake生成osg的FFMPEG插件,请参考如下博文,同生成jpeg插件类似: osg第三方插件的编译方法(以jpeg插件来讲解)。 如下为生成FFMPEG时必要的设置: 注意: 一定要…

开发智能化企业培训平台:教育系统源码的创新方法

在传统的企业培训模式中,往往面临着效率低下、内容过时以及难以个性化的问题。为了解决这些挑战,采用智能化技术成为了企业培训领域的热门趋势。通过开发智能化企业培训平台,可以提高培训效果、降低成本,并更好地满足员工多样化的…

海量数据处理商用短链接生成器平台 - 2

第二章 短链平台项目创建git代码管理开发分层规范 第1集 短链平台实战-Maven聚合工程创建微服务项目 **简介:Maven聚合工程创建微服务项目实战 ** Maven聚合工程拆分 dcloud-common 公共依赖包 dcloud-app FlinkKafka实时计算 dcloud-account 账号流量包微服务 dc…

Oracle 面试题 | 10.精选Oracle高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【深度测试】看到技术方案后,该怎么进行分析和测试

测试左移的思想,讲究尽早测试,测试是一系列的行为,并不一定要等代码运行起来才能测,下面会分享一些经验,提供大家参考。 一、静态分析 1.1 分析方法调用链 目标:梳理结构,化繁为简 原理&#…

Quppy wise 注册教程,轻松通过欧洲银行同名转账绑定个人IBAN账号

Quppy 注册教程,轻松通过欧洲银行同名转账绑定个人IBAN账号 官网下载APP或者去香港区下载APP使用, 按照官方APP里的邮箱注册就行,成功后添加电话和个人信息;需要说明的是:网站所填内容请全部用真实身份填写;名在前,姓…

华为机考入门python3--(7)牛客7-取近似值

分类:数字 知识点: str转float float(str) 向上取整 math.ceil(float_num) 向下取整 math.floor(float_num) 题目来自【牛客】 import math def round_to_int(float_num): # 如果小数点后的数值大于等于0.5,则向上取整&#xf…

计算机视觉中的目标跟踪

从保护我们城市的监控系统到自动驾驶车辆在道路上行驶,目标跟踪已经成为计算机视觉中的一项基础技术。本文深入探讨了目标跟踪,探索了其基本原理、多样化的方法以及在现实世界中的应用。 什么是目标跟踪? 目标跟踪是深度学习在计算机视觉中广…

分布式任务调度框架XXL-JOB详解

分布式任务调度 概述 场景: 如12306网站根据不同车次设置放票时间点,商品成功发货后向客户发送短信提醒等任务,某财务系统需要在每天上午10天前统计前一天的账单数据 任务的调度是指系统为了完成特定业务,基于给定的时间点,时间间隔&#…

axios二次封装用法

axios二次封装 一、request.js import axios from axios import router from "/router";const request axios.create({baseURL: http://localhost:9090,timeout: 5000 })// request 拦截器 // 可以自请求发送前对请求做一些处理 // 比如统一加token,对…

Unity DOTS中的baking(三)过滤baking的输出

Unity DOTS中的baking(三)过滤baking的输出 默认情况下,在conversation world(baker和baking system运行的环境)下产生的所有entities和components,都会作为baking环节的输出。在baking结束时,U…

[SWPUCTF 2021 新生赛]include

他让我们传入一个flag值 我们传入即可看到代码部分 传入一个php的伪类即可 得到经过Base64加密的flag,解密即可

x-shell安装、使用以及配置cuda、cudnn和conda

x-shell安装、使用以及安装最新版本conda x-shell安装远程连接服务器conda安装和环境配置 x-shell安装 x-shell是一款终端模拟软件,用于在Windows界面下远程访问和使用不同系统下的服务器。免费版本下载地址: https://www.xshell.com/zh/free-for-home-…

论文阅读:Learning Lens Blur Fields

这篇文章是对镜头模糊场进行表征学习的研究,镜头的模糊场也就是镜头的 PSF 分布,镜头的 PSF 与物距,焦距,光学系统本身的像差都有关系,实际的 PSF 分布是非常复杂而且数量也很多,这篇文章提出用一个神经网络…

Vulnhub靶机:hacksudo3

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:hacksudo3(10.0.2.45) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entry/hac…

Power BI案例-链接Mysql方法

Power BI案例-连锁Mysql 方法1-通过组件mysql-connector-net-8.3.0: 选择文件–获取数据–选择MySQL数据库–选择链接 提示无组件,选择了解详细情况 弹出浏览器,选择下载 不用登陆,可以直接下载 下载的组件如下&#xff1a…

cesium-加载谷歌影像

cesium在开发的时候有可能会加载不同的影像&#xff0c;今天就先看一下加载谷歌的吧。 使用谷歌有个好处就是基本不会出现此区域无卫星图的情况 闲言话语不多说&#xff0c;看代码 <template><div id"cesiumContainer" style"height: 100vh;"&g…

uniapp开发一个交流社区小程序

uniapp开发一个交流社区小程序 假期的时候简单学了一下uniapp&#xff0c;想开发一款类似百度贴吧的交流社区来练练手。本篇文章主要记录开发过程&#xff0c;文末附上项目地址。 主要需要开发以下几个页面。 信息页面热榜页面用户主页用户信息页 信息页面 该页面的功能主要…