英伟达的GPU(4)

更第四篇,上周有点私事,恢复更新

上次的文章 英伟达的GPU(3) (qq.com)

书接前文,我们上章说要更新GPU的内存机制,本次就讲点这个

   先做个定义,我们说内存(显存),也分物理内存(SRAM,DRAM.HBM)和逻辑内存(逻辑可访问地址,这个倒和物理不一定1:1对应),这个和处理CPU的项目的时候没啥区别。

      我们之前讲过CUDA编程体系块和线程等逻辑概念。这块不熟悉的可以看第二章 英伟达的GPU(2) (qq.com)。

      block,thread啥的各自有各自的工作范围,这些范围其实就是分配GPU逻辑内存和管理线程,block之类资源的一个标尺

  • Local Memory:每个线程都有本地内存,存储临时变量。范围最小因为就服务于每个单独的线程。

  • Shared Memory:同一个Block内的线程可以用共享内存共享数据。与访问全局内存相比,这允许同一块内的线程更快地通信和访问数据,因为近一阶。

  • Global Memory:这是GPU中最大的内存,可以被所有块上的所有线程访问。但是慢吗,离得远。

  • Texture and Constant Memory:GPU 中的特殊内存,针对访问特定数据类型(例如纹理或常量值)进行了优化。所有块中的所有线程都可以访问这些内存类型。

     

图片

      然后我们看实际的物理内存上半部分是CPU的维度,下半部分的On-chip才是GPU的维度,然而这里有一个小误区,HBM虽然是GPU上面的,然后被换分在了Off chip的领域。就是上面的绿色部分的Device memory。

      绿色的HBM(Device memory),由于操作系统也不在CPU那边,所以比如你要是训练,或者推理时候读取数据,模型,还得从能掌管IO的CPU的内存那边拿数,CPU的内存和HBM显存之间想通信,一般是经过PCIE,这个图有点老,PCIE还显示6.4Gbps, 实际上现在的PCIE Gen5都15.6G了,下一代Gen6能到256。

      另外我比较推崇的GH200,或者GB200架构

图片

      如图所示,Hopper也就是H100GPU,不光是用Nvlink链接到NVswitch上面,而且可以和Grace CPU之间有900GB/s的双向通信的C/2链接。

      这个怎么理解?

      NV虽然一直耍心眼总标双向带宽,比如900GB其实是单向450GB,但是毕竟是大B啊,所以合3.6T/s的单向传输速度。

     贵肯定是贵,但是你要比PCIE的呢?H100标准的Gen5 PCIE 的CPU和GPU之间应该是2根PCIE GEN5, 编码是128b/130b的,传输速度能跑到128Gbps已经是极限。

     差28倍!

     当然有"懂"的兄弟这时候会实时的抛来一个challenge ,例如“你到底懂不懂啊?Nvlink也就链接GPU的时候有用,负责做本机箱内的GPU联合通讯源语的时候有用,跟CPU有啥关系",其实如果能喷出来到这个级别的哥们还是挺专业的,但是我的补充一下,在现在NVlink5一根都1.8TB/s的情况下,其实压力不特别在机箱这侧,因为满打满算8个。至于为什么在CPU这,懂的兄弟就不解释了,也没什么可解释的,做个train的都懂。不懂的我卖个关子,后面讲(其实看我原来的一些文章都有解释...)。

     

图片

     然后比如拿H100举例,从HBM把模型和tokens读上来之后,就进入到缓存体系了,GPU目前主流设计还是以2级缓存为主。你们经常玩的flash-attention也主要工作在这个部分。

    NVIDIA A100 GPU 的缓存架构包括两级缓存:

  1. 一级缓存(L1 Cache):每个流式多处理器(SM)都有自己的一级缓存。A100 的一级缓存为每个 SM 提供 192KB 的缓存。一级缓存在 A100 中被实现为共享内存/缓存组合,提供低延迟访问每个 SM 中经常使用的数据和指令。

  2. 二级缓存(L2 Cache):A100 GPU 具有一个全球二级缓存,所有 SM 共享这个缓存。二级缓存的大小为 40MB,显著大于一级缓存。二级缓存有助于减少跨 SM 数据访问的延迟,并减少对高带宽内存(HBM)的需求。

     一级缓存(L1 Cache)位于每个 SM 内部,由于其需要低延迟操作,通常使用 SRAM(静态随机存取存储器)实现。二级缓存(L2 Cache)也通常使用 SRAM 实现,以满足高速度访问的需求。

    一级在SM内部,纯粹的片上片,所以虽然两个缓存都是SRAM,但是大小区别很大,因为就近的和tensor core或者cuda core通信,所以L1那边也是速度起飞

     这两级缓存协同工作,提高了 A100 GPU 的整体效率和性能,减少了对 HBM 内存的延迟和带宽需求

     从下到上,速度的和延迟也是成线性的递增状态,延迟呈现线性递减(图上左边有标准)

      再往上就是寄存器了,那也不能和这些标准存储来相比,也没啥可谈的。

     下面这个表是在不同传输存储介质里面A100的延迟,带宽,计算密度,线程的一些对比

图片

     今天内存,缓存就讲到这里,后面deepdive一下,tensor core和显存,cache的合作机制,workflow,然后讲Nvlink,再后面讲讲A,H,B和R的架构,然后基本这个系列就结束了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统推出VB6开发IDE了?Gambas,Linux脚本编写

第一个Linux程序,加法计算加弹窗对话框,Gambas,linux版的类似VB6的IDE开发环境 一开始想用VB6的Clng函数转成整数,没这函数。 输入3个字母才有智能提示,这点没做好 没有msgbox函数,要用messagebox.warning 如果可以添加函数别名就…

【算法篇】求最长公共前缀JavaScript版本

题目描述 给你一个大小为 n 的字符串数组 strs &#xff0c;其中包含n个字符串 , 编写一个函数来查找字符串数组中的最长公共前缀&#xff0c;返回这个公共前缀。 数据范围&#xff1a; 数据范围:0<n<5000&#xff0c;0<len(strsi)< 5000 进阶:空间复杂度 O(1)&a…

2024年第三届数据统计与分析竞赛(B题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点&#xff1f;数学建模进阶思路&#xff01; 详细请查 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024年第三届数据统计与分析竞赛&#xff08;B题&#xff09;的全面解析。这个解决方案包不仅包括完整的代码实现&#xff0c;还有…

Unity | Shader基础知识(番外:了解内置Shader-Standard<一>)

目录 前言 一、什么是Standard 二、Standard参数详解 1.了解着色前 2. 着色拆分 3.参数RenderingMode 4.参数Albedo 5.参数Metallic 三、作者的话 前言 有粉丝给我说&#xff0c;感觉自己内部自带的Shader都还不知道怎么用&#xff0c;希望我讲一下内置Shader。 那…

Docker Desktop - WSL distro terminated abruptly

打开 PowerShell 或以管理员身份运行的命令提示符。运行以下命令以列出已安装的 WSL 分发&#xff1a; wsl --list 运行以下命令以注销 Docker 相关的分发 wsl --unregister <distro_name> 将<distro_name>替换为实际的 Docker 相关分发的名称。将<distro_…

[书生·浦语大模型实战营]——LMDeploy 量化部署 LLM 实践

1.基础作业 1.1配置 LMDeploy 运行环境 创建开发机 创建新的开发机&#xff0c;选择镜像Cuda12.2-conda&#xff1b;选择10% A100*1GPU&#xff1b;点击“立即创建”。注意请不要选择Cuda11.7-conda的镜像&#xff0c;新版本的lmdeploy会出现兼容性问题。其他和之前一样&…

智能组网节点是什么?

智能组网节点是一种用于解决复杂网络环境下远程连接问题的关键技术。它是一种通过智能化的方式&#xff0c;在任何网络环境下实现不同地区之间快速组建局域网的解决方案。其中&#xff0c;【天联】组网就是一款优秀的智能组网节点产品&#xff0c;是北京金万维科技有限公司自主…

苍穹外卖笔记-07-菜品管理-增加、删除、修改、查询分页还有菜品起售或停售状态

菜品管理 1 新增菜品1.1 需求分析与设计1.2 代码开发文件上传新增菜品实现 1.3 功能测试 2 菜品分页查询2.1 需求分析和设计2.2 代码开发设计DTO类设计VO类Controller层Service层Mapper层 2.3 功能测试 3 删除菜品3.1 需求分析和设计3.2 代码开发Controller层Service层Mapper层…

Unity Standard shader 修改(增加本地坐标裁剪)

本想随便找一个裁剪的shader&#xff0c;可无奈的是没找到一个shader符合要求&#xff0c;美术制作的场景都是用的都标准的着色器他们不在乎你的功能逻辑需求&#xff0c;他们只关心场景的表现&#xff0c;那又找不到和unity标准着色器表现一样的shader 1.通过贴图的透明通道做…

【set】集合总结

一、Set Set集合是Collection的子接口,代表一种集合,此种集合是元素不重复. 有两个常用实现类 HashSet 是元素不重复,无序,主要是指遍历顺序和插入顺序不一致 TreeSet 是元素不重复,排序 LinkedHashSet不常用 二、HashSet 1.1 介绍 HashSet是Set的实现类 底层是由哈希表实…

区块链(Blockchain)调查研究(一)

文章目录 1. 区块链是什么&#xff1f;2. 区块链分类和特点3. 区块链核心关键技术3.1 共识机制3.2 密码学技术3.4 分布式存储3.5 智能合约 4. 区块链未来发展趋势5. 区块链能做什么、不能做什么&#xff1f;5.1 第一部分5.2 第二部分5.3 第三部分&#xff08;结论&#xff09; …

④-1单细胞学习-cellchat单数据代码补充版

目录 1&#xff0c;数据输入及处理 ①载入包和数据 ②CellChat输入数据准备 ③构建CellChat对象 ④数据预处理 2&#xff0c;细胞通讯预测 ①计算细胞通讯概率 ②提取配受体对细胞通讯结果表 ③提取信号通路水平的细胞通讯表 ④细胞互作关系可视化 1&#xff09;细胞…

java线程相关知识点

Java多线程涉及以下几个关键点 1.线程生命周期&#xff1a;理解线程从创建到销毁的各个阶段&#xff0c;包括新建、运行、阻塞、等待、计时等待和终止。 2.线程同步&#xff1a;掌握如何使用synchronized关键字和Lock接口来同步代码&#xff0c;防止数据竞争和死锁。 3.线程间通…

csrf与xss差别 别在弄乱了 直接靶场实操pikachu的csrf题 token绕过可以吗???

我们现在来说说这2个之间的关系&#xff0c;因为昨天的我也没有弄清楚这2者的关系&#xff0c;总感觉迷迷糊糊的。 xss这个漏洞是大家并不怎么陌生&#xff0c;导致xss漏洞的产生是服务器没有对用户提交数据过滤不严格&#xff0c;导致浏览器把用户输入的当作js代码返回客户端…

HCIA--NAT地址转换(复习)

先交换后路由&#xff1a; 1&#xff1a;在交换机上创建vlan&#xff0c;进入接口划分vlan&#xff0c;接着在交换机连接路由器的接口上建立trunk干道 2&#xff1a;在路由器上&#xff0c;先配置物理接口IP&#xff0c;接着在路由器上创建两个子接口&#xff0c;将建立的vla…

Fences 5 激活码 - 电脑桌面整理软件

提起桌面整理&#xff0c;经典老牌工具 Fences 必有一席之地&#xff0c;Stardock 发布了最新的 Fences 5 版本。 可以将文件和图标归类放入各个栅栏分区&#xff0c;并支持文件夹展开至桌面、分区置顶、淡化隐藏图标等功能&#xff0c;能让你的桌面焕然一新&#xff0c;不再混…

请求 响应

在web的前后端分离开发过程中&#xff0c;前端发送请求给后端&#xff0c;后端接收请求&#xff0c;响应数据给前端 请求 前端发送数据进行请求 简单参数 原始方式 在原始的web程序中&#xff0c;获取请求参数&#xff0c;需要通过HttpServletRequest 对象手动获取。 代码…

数据库四种隔离等级

持续更新以及完善中… 数据库事务隔离 首先&#xff0c;为什么要有事务隔离呢&#xff1f; 在单线程下&#xff0c;没什么大碍&#xff0c;但是我们想要提高效率&#xff0c;采用多线程并发时&#xff0c;便会出现一些问题。 **下面的问题一定要当作一个事务来看待&#xf…

vscode中执行python语句dir(torch)不返回结果

输入半天&#xff0c;发现在IDLE运行后的shell界面输入语句就会返回一大串。但是在vscode中老是不返回值。 结果恍然发现这没加print&#xff08;&#xff09;。 无语惨了。 家人们&#xff0c;这是python&#xff0c;而不是matlab。思维还没转换过来&#xff0c;笑死

电影制作中的版本控制:Perforce Helix Core帮助某电影短片避免灾难性文件损坏,简化艺术资产管理

Zubaida Nila是来自马来西亚的一名视觉特效师和虚拟制作研究员&#xff0c;她参加了Epic Games的一个为期六周的虚拟培训和指导项目——女性创作者计划。该计划提供了虚幻引擎工作流程的实践经验以及其他课程。Zubaida希望从中获得更多关于虚幻引擎的灯光、后期处理和特效技能方…