[RAM] HBM 导论 | 为什么我们需要 HBM?

主页: 元存储博客

文章目录

    • 前言
    • 1. 什么是 HBM
    • 2. HBM 发展
      • 2.1 HBM 起源
      • 2.2 HBM 简史
    • 3. HBM 3D 结构原理
    • 4. 为什么需要 HBM
    • 5. HBM 生产商家
    • 6. HBM 封装厂家
    • 7. HBM 应用
    • 8. HBM 挑战
      • 8.1 工艺成本
      • 8.2 量产良率问题
      • 8.3 散热问题
    • 总结

前言

在AI时代的浪潮中,需要高效的内存来支持快速的数据访问和处理。而在这个追求速度和效率的世界中,HBM(High Bandwidth Memory)内存崭露头角。在这里插入图片描述

1. 什么是 HBM

HBM==High Bandwidth Memory, 是将很多个DDR芯片堆叠在一起后和GPU封装在一起,实现大容量,高位宽的DDR RAM 组合阵列。

HBM内存是一种创新的堆叠式内存技术,其特点是将多个内存芯片垂直堆叠在一起,并通过短而宽的通道将它们连接起来。这种设计不仅节省了空间,还大大提高了内存的带宽,使数据能够以更快的速度传输。

传统的DDR就是采用的"平房设计"方式,HBM则是"楼房设计"方式,从而可实现了更高的性能和带宽。

2. HBM 发展

2.1 HBM 起源

随着深度学习对算力需求的迅速增长,内存带宽已经成为一个重要的瓶颈,也被称为"内存墙"。[6]。

高带宽存储器(HBM)技术解决了与现代DRAM相关的两个关键问题[2]:
(1) 显著增加了计算设备(例如GPU)可用的带宽
(2) 降低了功耗

2.2 HBM 简史

文献[6]

HBM1
HBM1量产是在 2014 年,HBM1 单Stack 1024bit,最大容量1GB,带宽128GB/s。搭载4个HBM1 Stacks总容量4GB,总带宽为512GB/s。

HBM2
HBM2首发在2016年的NVIDIA P100上,P100采用4个HBM2 4GB Stacks,此时总带宽达到了720GB/s, 是采用GDDR的M40带宽的3倍。

2017年,也许是为了赶上深度学习热潮,仅隔一年,首次搭载Tensor Core的V100也正式发布,同样搭载4 HBM2 Stacks,内存翻倍至32GiB, 带宽来到了900GB/s。

HBM2e
2020年面世的A100搭载5个HBM2e 8Hi 16GB Stacks,此时总容量达到了80GB,带宽2039GB/s。

HBM3
2023年年底,AMD正式发布了MI300X,搭载了8个HBM3 12Hi 24GB Stacks,总容量192GB,总带宽达到了惊人的5.3TB/s。

HBM3e
H200尚未问世,应该是H100的完全体版本,采用6个HBM3e 12Hi 24GB Stacks,总带宽4.8 TB/s。

HBM4
to be continue

3. HBM 3D 结构原理

HBM的构建像楼房一样,将传输信号、指令、电流都进行了重新设计,而且对封装工艺的要求也高了很多。
在这里插入图片描述
来源: 知乎-EDA学习

  • DRAM通过堆叠的方式,叠在一起,Die之间用TVS方式连接
  • DRAM下面是DRAM逻辑控制单元, 对DRAM进行控制
  • GPU和DRAM通过uBump和Interposer(起互联功能的硅片)连通

4. 为什么需要 HBM

在这里插入图片描述
来源; AMD

我们把 HBM 和 GDRR5 比较, 可以看出 HBM 的优势所在[1] [5]。

  • 更高速,更高带宽
    HBM 最高带宽100GB/s 是 GDDR5 带宽 28GB/s 的近乎 4 倍。

  • 更高位宽
    HBM 位宽 1024 bit, 而GDDR5 位宽只有 32 bit。

  • 更低功耗
    HBM重新调整了内存的功耗效率,也即是功耗降低 3 倍多[5]。

在这里插入图片描述
图. 功耗效率对比(GB/每瓦, 值越小说明单位功耗下的速度越高, 值越大越好)
来源: AMD

  • 更小外形
    HBM比GDDR5节省了 94% 的表面积[5]。

5. HBM 生产商家

三星 Samsung
海力士 SK Hynix
美光 Micron

目前只有这三个巨头有 HBM 设计能力。

国产: 无

6. HBM 封装厂家

SK Hynix - 作为HBM的主要供应商之一,SK Hynix不仅生产HBM芯片,还提供封装和测试服务。

Samsung -三星也提供HBM封装和测试服务。

Intel - 英特尔也涉足HBM封装领域。

ASE Group - 作为全球领先的封装和测试服务供应商之一,ASE Group也提供HBM封装服务。

Amkor Technology - Amkor Technology是另一家全球领先的封装和测试服务供应商,也提供HBM封装服务。

国产: 无
虽然国内没有厂商有封装能力, 像国外封装厂如 Amkor 在国内也有建封装厂。

7. HBM 应用

HBM 内存产品广泛应用在高性能计算、图形处理和人工智能领域, 还有数据中心、游戏和虚拟现实等。

专用AI加速板卡、高端GPU、用于HPC的FPGA板卡抑或是最先进的CPU服务器,都搭载了HBM的。HBM以其高吞吐高带宽的优势,活跃在工业界和学术界。

HBM 体验
想象一下,使用HBM内存的计算机游戏,可以实现更逼真的图形效果和更流畅的游戏体验;使用HBM内存的人工智能应用,可以实现更快的模型训练和更准确的预测;使用HBM内存的大规模数据分析,可以实现更快速的数据处理和更准确的结果。

8. HBM 挑战

8.1 工艺成本

HBM较高的工艺而大大提升了制造成本。

8.2 量产良率问题

现在(2024Q1)的良率只有 65%[3],远低于传统DRAM 良率(已达黄金良率95%[4])。 堆叠的RAM 只要有一层是坏的, 整个都报废。

封装环节限制了良率的提升,封装(包括封装代工、塑封设备、封装材料等)将是HBM产业链最关键的环节。

8.3 散热问题

大量DRAM堆叠,和GPU封装在一起,性能越高发热就越凶,如何散热是极大的挑战。

总结


参考文献
[1] EDA学习,HBM火了,它到底是什么?
[2] HBM内存介绍
[3] https://zhuanlan.zhihu.com/p/685958450
[4] https://new.qq.com/rain/a/20231030A08HTI00
[5] https://zhuanlan.zhihu.com/p/671539540
[6] https://zhuanlan.zhihu.com/p/681519240

声明
本文仅为学习交流目的。
文中部分文字和图片来源于互联网,列在参考的文献,但可能有遗漏。如有侵权,请告知我删除。

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

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

相关文章

vue项目入门——index.html和App.vue

vue项目中的index.html文件 在Vue项目中,index.html文件通常作为项目的入口文件,它包含了Vue应用程序的基础结构和配置。 该文件的主要作用是引入Vue框架和其他必要的库,以及定义Vue应用程序的启动配置。 import Vue from vue import App …

Android Studio学习8——点击事件

在xml代码中绑定 在java代码中绑定 弹出一个toast 随机,数组

H5 点击图片翻转效果

需求 ☑ h5 实现点击图片得到的是放大的镜像图片(不是放大镜效果 而是实现图片镜像对折,左右翻转) ☑ 鼠标点击后原图消失/隐藏,在原来的位置上取而代之的是翻转后的图(除了翻转之外不要改变其他的性质,比…

Langchain教程 | langchain+OpenAI+PostgreSQL(PGVector) 实现全链路教程,简单易懂入门

前提: 在阅读本文前,建议要有一定的langchain基础,以及langchain中document loader和text spliter有相关的认知,不然会比较难理解文本内容。 如果是没有任何基础的同学建议看下这个专栏:人工智能 | 大模型 | 实战与教程…

【CicadaPlayer】demuxer_service中DASH的简单理解

DASH协议 dash 是属于demuxer模块的 MPEG-DASH是一种自适应比特率流技术,可根据实时网络状况实现动态自适应下载。和HLS, HDS技术类似, 都是把视频分割成一小段一小段, 通过HTTP协议进行传输,客户端得到之后进行播放;不同的是MPEG-DASH支持MPEG-2 TS、MP4(最新的HLS也支持…

Linux 多线程

目录 初识线程 线程的概念 Linux下的线程 线程优缺点 线程控制 线程创建 线程终止 线程等待 线程分离 线程取消 其它 线程互斥 互斥的概念 互斥锁的使用 锁的本质 线程同步 线程同步的概念 条件变量的概念 条件变量的使用 信号量 信号量的概念 信号量接口…

非机构化解析【包含PDF、word、PPT】

此项目是针对PDF、docx、doc、PPT四种非结构化数据进行解析,识别里面的文本和图片。 代码结构 ├── Dockerfile ├── requirements ├── resluts ├── test_data │ ├── 20151202033304658.pdf │ ├── 2020_World_Energy_Data.pdf │ ├── …

【Web】纯萌新的BUUCTF刷题日记Day1

目录 [RoarCTF 2019]Easy Java [网鼎杯 2018]Fakebook [CISCN2019 华北赛区 Day2 Web1]Hack World [BJDCTF2020]The mystery of ip [网鼎杯 2020 朱雀组]phpweb [BSidesCF 2020]Had a bad day [BJDCTF2020]ZJCTF,不过如此 [BUUCTF 2018]Online Tool [GXYCTF…

虚拟主机VPS和共享服务器有什么区别?VPS和共享服务器怎么选择,VPS和云服务器区别

今天易极赞小编来跟大家科普一个新的知识“虚拟主机和云服务器有什么区别?”看完这篇文章后你应该就能知道虚拟主机和云服务器哪个更适合你了。 如果你不知道服务器的常见类型有哪些,查看下面这篇文章: 服务器7中常见的类型,服务…

【C语言】如何判断一个机器的大小端

如何判断一个机器的大小端 一:什么是机器的大小端二:为什么会有大小端三:设计一个小程序来判断当前机器的大小端方法一:指针类型强转方法二:联合体 一:什么是机器的大小端 机器的大小端是指在内存中存储多…

【移动安全】对webview漏洞的一些分析

这次分析的app如下: 打开发现该app发现需要登录界面: 拖进jadx看一下,先来看一下AndroidManifest.xml文件 发现有两个类是导出,再来分析这两个类 这个RegistrationWebView类利用webview.loadUrl进行加载网页 java public class…

JS——判断节假日(假日包括周末,不包括调休上班的周末)

思路:创建两个数组,数组1为节假日数组,数组2为是周末上班日期数组。如果当前日期(或某日期)同时满足2个条件(1.在节假日数组内或在周末。2.不在周末上班日期数组)即为节假日,否则即为…

SystemC入门学习Demo用例的工程化配置

背景:对不同的用例文件,使用CMakeLists.txt进行工程化管理的演示,这样开发者可以更加关注在代码开发上。 1,首先安装好系统环境的systemC库:ubuntu系统安装systemc-2.3.4流程-CSDN博客 2,准备好一个demo用…

再续前缘——C++【入门】

目录 1. 引用 引用概念 使用场景 1. 做参数 2. 引用做返回值 3.传值、传引用效率比较 4. 引用和指针的不同点 2. 内联函数 3.auto关键字 推导应用场景 auto不能推导的场景 4.基于范围的for循环(C11) 5.指针空值nullptr(C11) 1. 引用 引用概念 引用不是新定义一个…

JUC:手写实现一个简易的线程池(Java)

目录 ​编辑 先上完整代码: 解析: 任务队列: 线程池类: 拒绝策略: 先上完整代码: public class MyThreadPool {public static void main(String[] args) {ThreadPool threadPool new ThreadPool(2, …

Linux进程状态深度解析:探索进程的生命周期

文章目录 一、引言1、进程的概念与重要性2、Linux系统下进程状态的意义3、进程状态与系统性能的关系 二、Linux下进程状态概述1、Linux进程状态的分类2、进程状态信息的获取方法 三、Linux下进程状态详解1、运行状态(Running)2、可中断睡眠状态&#xff…

27.WEB渗透测试-数据传输与加解密(1)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:26.WEB渗透测试-BurpSuite(五) BP抓包网站网址:http:…

实现Hello Qt 程序

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、使用 "按钮" 实现 1、纯代码方式实现 2、可视化操作实现 (1&#xff09…

Hive3.0.0建库表命令测试

Hive创建表格格式如下: create [external] table [if not exists] table_name [(col_name data_type [comment col_comment],)] [comment table_comment] [partitioned by(col_name data_type [comment col_comment],)] [clustered by (col_name,col_name,...)…

对抗样本攻击

对抗样本是指经过特殊设计或调整的输入数据,旨在欺骗人工智能模型,使其产生错误的预测或输出。对抗样本通常是通过对原始输入进行微小但精心计算的改变,使得模型产生意外的结果。这种模糊化的输入可能难以从人类角度甄别,但对机器…