HBM(High Bandwidth Memory)

2024-03-06 03:20
文章标签 memory high bandwidth hbm

本文主要是介绍HBM(High Bandwidth Memory),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

选择正确的高带宽内存

构建高性能芯片的选择越来越多,但附加内存的选择却几乎没有变化。为了在汽车、消费和超大规模计算中实现最大性能,选择取决于一种或多种 DRAM,而最大的权衡是成本与速度。

尽管多年来人们一直在努力用更快、更便宜或更通用的内存来取代 DRAM,甚至将其嵌入到 SoC 中,但 DRAM 仍然是所有这些架构中的重要组成部分。但 DRAM 制造商并没有停滞不前,而是根据性能、功耗和成本提供了多种选择。这些仍然是基本的权衡,要进行这些权衡,需要深入了解如何使用内存、如何连接所有部件,以及芯片或使用芯片的系统的关键属性是什么。

Rambus产品管理高级总监 Frank Ferro 表示:“即使在宏观经济形势下,我们仍然看到对更多带宽内存的需求呈非常积极的趋势。 ” “有很多公司正在研究不同类型的内存架构。这包括解决带宽问题的各种方法,无论是具有大量片上内存的处理器还是其他方式。虽然这种方法是最便宜、最快的,但容量相当低,因此人工智能算法必须针对这种类型的架构进行定制。”

小芯片

这仍然没有减少对附加内存的需求。总体而言,向异构计算(尤其是小芯片)的发展只会加速对高带宽内存(无论是 HBM、GDDR6 还是 LPDDR6)的需求。

HBM 是三者中最快的。但到目前为止,HBM 一直基于 2.5D 架构,这限制了它的吸引力。“制作 2.5D 中介层仍然是相对昂贵的技术,”Ferro 说。“供应链问题并没有太大帮助。在过去的两年里,这种情况有所缓解,但它确实凸显了您在制作这些复杂的 2.5D 系统时的一些问题,因为您必须组合大量组件和基板。如果其中任何一件不可用,就会扰乱整个流程或导致较长的交货时间。”

一段时间以来,人们一直致力于将 HBM​​ 连接到其他一些封装方法,例如扇出,或使用不同类型的中介层或桥来堆叠芯片。随着更前沿的设计包括某种类型的先进封装以及可能在不同工艺节点开发的异构组件,这些将变得至关重要。

“许多 HBM 空间实际上更多的是制造问题,而不是 IP 问题,” Cadence IP 小组产品营销小组总监 Marc Greenberg 说。“当您拥有一个内部带有硅中介层的系统时,您需要弄清楚如何构建一个带有硅中介层的系统。首先,您将如何在那里制造硅中介层?它比普通硅芯片大得多。它必须被稀释。它必须粘合到其上的各种芯片上。它需要被包装。HBM 解决方案涉及大量专业制造。这最终超出了 IP 领域,更多地属于 ASIC 供应商和 OSAT 所做的领域。”
在这里插入图片描述

汽车中的高带宽内存

HBM 引起广泛关注的领域之一是汽车领域。但仍有一些障碍需要克服,而且目前还没有解决这些问题的时间表。

Synopsys产品营销总监 Brett Murdock 表示:“HBM3 具有高带宽、低功耗的特点,并且具有良好的密度。” “唯一的问题是它很贵。这是那段记忆的一个失败。HBM 的另一个缺点是它尚不符合汽车行业的要求,尽管它非常适合汽车行业。在汽车领域,正在发生的一件有趣的事情是所有电子设备都变得集中化。当这种集中化发生时,基本上现在你的后备箱里就有了一台服务器。发生的事情如此之多,因此不一定总是发生在单个 SoC 或单个 ASIC 上。因此,现在汽车公司开始研究小芯片以及如何在设计中使用小芯片以获得该集中式域中所需的所有计算能力。巧妙的是,小芯片的潜在用途之一是与中介层一起使用。如果他们现在使用中介层,他们就无法解决 HBM 的中介层问题。他们正在解决小芯片的中介层问题,也许 HBM 也能参与其中。然后,如果他们已经在为车辆进行小芯片设计,也许它就不再那么昂贵了。”

HBM 非常适合该领域,因为车辆中需要快速移动的数据量很大。“如果你考虑一下汽车中摄像头的数量,所有这些摄像头的数据速率以及处理所有信息的速度都是天文数字。HBM 是所有汽车行业人士都想去的地方。”Murdock 说道。“对于他们来说,成本可能并没有那么高,因为它只是解决技术、解决汽车内插器以及解决 HBM 设备的汽车温度问题。

不过,这可能需要一段时间。与此同时,GDDR 似乎是后起之秀。虽然它的吞吐量比 HBM 更有限,但它仍然足以满足许多应用的需求,并且已经符合汽车标准。

Rambus 的 Ferro 表示:“HBM 绝对会进入汽车应用领域,在汽车领域,汽车可以与不动的物体进行对话。” “但在车辆方面,GDDR 做得很好。LPDDR 已经出现在汽车中,您可以用 GDDR 替换大量 LPDDR,获得更小的占用空间和更高的带宽。然后,随着人工智能处理能力的提高,LPDDR5 和 LPDDR6 开始达到相当可观的速度(现在分别接近 8Gbps 和 10Gbps),它们也将成为汽车中非常可行的解决方案。仍然会有少量 DDR,但 LPDDR 和 GDDR 将成为汽车领域最受欢迎的技术。”

Cadence 的 Greenberg 表示,这种方法可能会在相当长的一段时间内发挥作用。“仅使用标准 PCB 和标准制造技术的解决方案似乎比尝试在方程中引入硅中介层并验证其温度、振动或 10 年寿命更明智。寿命。试图验证车辆中的 HBM 解决方案似乎比 GDDR-6 面临更大的挑战,GDDR-6 可以将内存放置在 PCB 上。如果我在一家汽车公司负责一些汽车项目,我只会选择HBM作为最后的选择。”

边缘 AI/ML 内存需要

GDDR 和 LPDDR5,甚至可能是 LPDDR6,在某些边缘加速卡上也开始看起来像是可行的解决方案。

“对于进行边缘 AI 推理的 PCIe 卡,多年来我们已经在 NVIDIA 等公司的加速卡中看到了 GDDR,”Ferro 说。“现在我们看到越来越多的公司愿意考虑替代方案。例如,Achronix 在其加速卡中使用 GDDR6,并开始研究如何使用 LPDDR,尽管速度仍约为 GDDR 的一半。它正在缓慢上升,并且密度增加了一些。这是另一个解决方案。这些给出了一个很好的权衡。它们提供了性能和成本优势,因为它们仍然使用传统的 PCB。您将它们焊接在芯片上。如果您过去使用过 DDR,则可以丢弃大量 DDR,并用一个 GDPR 或两个 LPDDR 替换它们。这就是我们现在看到的很多情况,因为开发人员试图找出如何在成本、功耗和价格之间达到适当的平衡。这始终是一个边缘挑战。”

一如既往,权衡是许多因素的平衡。

格林伯格指出,在当前人工智能革命的早期阶段,第一批 HBM 存储器正在被使用。“人们采用了一种不考虑成本/不考虑带宽的方法。HBM 非常自然地融入其中,有人希望有一个典型的例子来说明他们可以从系统中获得多少带宽。他们将构建基于 HBM 的芯片,根据该芯片的性能指标获得风险投资资金,而且没有人真正太担心这一切的成本是多少。现在我们看到的是,也许您需要一些好的指标,也许是使用 HBM 可以实现的 75%,但您希望它的成本只有一半。我们该怎么做呢?我们所看到的 GDDR 的吸引力在于它可以实现成本更低的解决方案,但带宽绝对接近 HBM 空间。”

Murdock 也看到了做出正确内存选择的困难。“由于带宽要求较高,他们通常会做出成本权衡决定。我是否应该选择 HBM?如果不是考虑到成本因素,HBM 通常非常适合该应用程序?有客户向我们询问 HBM,试图在 HBM 和 LPDDR 之间做出选择。这确实是他们做出的选择,因为他们需要带宽。他们可以在这两个地方之一得到它。我们已经看到工程团队在 SoC 周围放置了多达 16 个 LPDDR 接口实例,以满足他们的带宽需求。当你开始谈论这么多实例时,他们会说,“哦,哇,HBM 真的非常适合这个要求。” 但这仍然归结为成本,因为许多公司只是不想支付 HBM3 带来的溢价。”

HBM 还存在架构方面的注意事项。“HBM 一开始就是一种多通道接口,因此使用 HBM,一个 HBM 堆栈上就有 32 个伪通道,”Murdock 说。“有 16 个通道,所以实际上有 32 个伪通道。伪通道是您在每个伪通道的基础上执行实际工作负载的地方。因此,如果您有 16 个伪通道,而不是在 SoC 上放置许多不同的 LPDDR 实例,那么在这两种情况下,您都必须弄清楚流量将如何瞄准整个通道中的整体地址空间定义。在这两种情况下,你都有很多渠道,所以也许并没有太大的不同。”

对于 AI/机器学习开发人员来说,LPDDR 通常采用 bi-32 封装,然后具有 2-16 位通道。

“你需要在你的架构中做出一个基本的选择,”他解释道。“从系统的角度来看,我是否将内存上的这两个 16 位通道视为真正独立的通道?或者我是否将它们集中在一起并使其看起来像一个 32 位通道?他们总是选择 16 位通道,因为这为他们提供了更高的性能接口。在内存中,我有两个通道。我的打开页面数量是我可能点击的两倍,并通过页面点击减少了整体系统延迟。拥有更多更小的通道可以使系统性能更好,这就是我们在 HBM 中看到的情况。从 HBM2e 到 HBM3,我们专门放弃了通道和伪通道大小,以应对此类市场。我们甚至在 DDR4 的 DDR5 中看到了这一点。我们从 DDR4 中的 64 位通道改为 DDR5 中的一对 32 位通道,每个人都喜欢较小的通道尺寸,以帮助提高整体系统性能。”

对于边缘人工智能推理,Greenberg 一直在观察这些应用走到最前沿,并发现 GDDR-6 是一项伟大的技术。“有很多芯片都希望拥有这种功能。这使得人工智能推理接近边缘,因此您可以接收多个摄像头输入或多个其他传感器输入。然后,在边缘使用人工智能,您可以深入了解正在处理的数据,而不是将所有数据发送回服务器来执行该功能。”

格林伯格预计很快就会出现大量芯片,这些芯片将具有各种有趣的功能,而无需将大量数据发送回服务器。他预计 GDDR6 将在那里发挥重要作用。

“前几代 GDDR 主要针对显卡,”他说。“GDDR6 具有很多功能,使其更适合作为通用内存。事实上,虽然我们确实有用户将其用于显卡,但大多数实际上是将其用于人工智能边缘应用程序,”格林伯格说。“如果您需要尽可能多的带宽,并且不关心它的成本是多少,那么 HBM 是很好的解决方案。但如果您不需要那么多带宽,或者成本是一个问题,那么 GDDR6 在该领域会发挥有利作用。GDDR6的优点是可以在标准FR4 PCB上完成。制造过程中不需要特殊材料。没有特殊的工艺,甚至PCB本身也不需要进行背钻。它不需要隐藏的通孔或类似的东西。”

最后,GDDR 领域的最后一个趋势是努力使 GDDR 对消费者更加友好。“它仍然有一些非常受图形引擎青睐的规范部分,但作为一项技术,GDDR 正在向消费者方向发展,”他说。“随着 GDDR 类型技术的更广泛部署,它将继续朝这个方向发展。”

这篇关于HBM(High Bandwidth Memory)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778728

相关文章

Kafka【十一】数据一致性与高水位(HW :High Watermark)机制

【1】数据一致性 Kafka的设计目标是:高吞吐、高并发、高性能。为了做到以上三点,它必须设计成分布式的,多台机器可以同时提供读写,并且需要为数据的存储做冗余备份。 图中的主题有3个分区,每个分区有3个副本,这样数据可以冗余存储,提高了数据的可用性。并且3个副本有两种角色,Leader和Follower,Follower副本会同步Leader副本的数据。 一旦Leader副本挂了,Follo

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

【论文分享】GPU Memory Exploitation for Fun and Profit 24‘USENIX

目录 AbstractIntroductionResponsible disclosure BackgroundGPU BasicsGPU architectureGPU virtual memory management GPU Programming and ExecutionGPU programming modelGPU kernelDevice function NVIDIA

K8s高可用集群部署----超详细(Detailed Deployment of k8s High Availability Cluster)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老 导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。 常用运维工具系列:

FUSEE: A Fully Memory-Disaggregated Key-Value Store——论文阅读

FAST 2023 Paper 论文阅读笔记整理 问题 分布式内存键值(KV)存储正在采用分离式内存(DM)体系结构以提高资源利用率。然而,现有的DM上的KV存储采用半分离式设计,在DM上存储KV对,但在单个元数据服务器上管理元数据,因此仍然在元数据服务器上遭受低资源效率的问题。 如图1a,Clover[60]采用半分离式设计,在计算节点(CN)上部署客户端,在内存节点(MN)上存储KV对,

怎样在xcode4.x里面使用Memory Leaks和Instruments

开胃小菜--简单的断点调试 在xcode中打开一个app,在想要break的行号上单击,即可生成一个深色的箭头标识--断点。如下图,在viewDidLoad:中设置了断点。 运行app,等待。。。就可以看到xcode在断点处进入调试模式,现在让我们把视线移到xcode右下角的控制台,有木有看到(lldb)这样一行,鼠标移到此行,输入 1 po [self view] 回车,看

Java memory model(JMM)的理解

总结:JMM 是一种规范,目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行等带来的问题。目的是保证并发编程场景中的原子性、可见性、有序性。 总结的很精辟! 感谢Hollis总结

VideoCrafter1:Open Diffusion models for high-quality video generation

https://zhuanlan.zhihu.com/p/677918122https://zhuanlan.zhihu.com/p/677918122 视频生成无论是文生视频,还是图生视频,图生视频这块普遍的操作还是将图片作为一个模态crossattention进unet进行去噪,这一步是需要训练的,svd除此之外,还将图片和noise做拼接,这一步,很多文生视频的方式通过通过这一步来扩展其成

以太坊存储类型(memory,storage)及变量存储详解

1数据存储位置(Data location)概念 1.1 storage, memory, calldata, stack区分 在 Solidity 中,有两个地方可以存储变量 :存储(storage)以及内存(memory)。 Storage变量是指永久存储在区块链中的变量。 Memory 变量则是临时的,当外部函数对某合约调用完成时,内存型变量即被移除。 内存(memory)位置

C++ 之 Memory Barrier

今天群里姐夫推荐了个C++的Actor框架 Theron,就看了下源码,注释比代码还多,业界良心。 源码我还没看完,就看到了他的一个叫StringPool的类,里面通过Ref来生成单例(Singleton),看了下 static void Reference();这个函数实现的时候,突然脑洞一开,为啥没有Memory Barrier( wiki)。 先贴一下他的代码: