0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GPU竟比CPU有更大的内存带宽

B4Pb_gh_6fde77c 来源:GPU and Computing 作者:GPU and Computing 2021-08-04 16:19 次阅读

在先前的文章中《近距离看GPU计算(2)》,我们谈到GPU相比CPU有更大的内存带宽,此言不虚,这也是众核GPU有源源不断数据弹药供给,能够发挥强大算力的主要原因。基本上GPU的内存带宽要比CPU多一个数量级。

但是考虑到GPU运算核心的数量,平均下来显存带宽真的足够富裕吗?参考资料1的《Memory bandwidth》文章提供了很有趣的视角,我们在这里介绍下。MOS 6502发布于1975年,是微型计算机发展史上非常重要的一块芯片

6502一般运行在1M时钟频率,每个时钟可以访问1Byte内存数据,6502的一条指令需要花费3~5个时钟,所以平均下来每条指令大概可以获得4B内存数据。

与此相对照,Intel的Corei7-7700K是一款目前比较主流的桌面CPU,运行频率4.2G,内存带宽大概50GB/s。i7-7700K一共有4个处理核心,所以每个核心大概可以均摊到12.5GB/s的内存带宽,也就是每个时钟可以访问约3B的内存数据。

该CPU的IPC(Instruction Per Clock)为1,极优化的代码可以达到的IPC为3,按此计,每条指令可得1B的内存数据,跟老前辈6502相比,已经落后不少。

更进一步,现代CPU支持256位长度的SIMD指令,每个时钟最多执行3条指令,类比GPU,我们以32位为一个通道作为单独执行线程,这样每个时钟我们一共有24条指令执行,所以每条指令可以访问0.125B内存数据或者说每8条指令得到1B内存数据。

我们再回过头来看看GPU的情形。以NVidiaGeForce GTX 1080Ti为例,内存带宽484GB/s,处理单元工作频率为1.48G,所以对整个GPU来说,每个时钟大概可以访问327B内存数据。这个GPU一共有28个SM(类似CPU的处理核心),每个SM有128个SP,所以总共有3584个SP(类似先前SIMD32位通道)。

这样每个SM一个时钟大概可以访问11.7B的内存数据,平均到128个SP,一个SP一个时钟得到0.09B数据,换个好听的说法就是每11条指令可以得到1B内存数据,比CPU的指标还恶劣。需要再次重申的是,因为设计目标的问题,CPU其实更关注访存延迟指标,所以相形之下,内存带宽的压力对GPU更为显著。

这也是为什么我们先前说过的GPU也开始配置多级Cache的原因,除了改善访存延迟,也可以降低内存带宽压力。另外我们在《GPU历史之二三事》里也提到Nvidia和AMD都开始拥抱移动GPU常用的TBR(Tile Based Rendering)的绘制技术,内存带宽的压力也应该是重要的驱动因素。

而作为软件人员,在设计算法的时候,我们要重视算法的运算强度(见《Roofline模型初步》),要充分利用片上内存包括硬件Cache和软件Cache(Shared Memory),以及注意内存的合并访问(Memory Coalescing)等等来优化内存带宽。

主要参考资料:

https://fgiesen.wordpress.com/2017/04/11/memory-bandwidth/

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4700

    浏览量

    128677

原文标题:再谈GPU的内存带宽

文章出处:【微信号:gh_6fde77c41971,微信公众号:FPGA干货】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    苹果 A18 芯片发布:CPU 提升 30%、GPU 提升 40%

    CPU 包括 2 个性能核心和 4 个效率核心, iPhone 15 的 A16 Bionic 快 30%,能耗降低 30% 。 GPU 方面,A18 芯片的 5 核 GPU
    的头像 发表于 09-11 12:19 537次阅读
    苹果 A18 芯片发布:<b class='flag-5'>CPU</b> 提升 30%、<b class='flag-5'>GPU</b> 提升 40%

    主板内存故障灯亮会是cpu的问题吗

    主板内存故障灯亮并不一定是CPU的问题,但CPU内存之间的交互确实可能影响这一故障现象。以下是对主板内存故障灯亮可能原因的分析: 一、
    的头像 发表于 09-02 14:42 2138次阅读

    主板自检cpu内存灯一直来回闪

    当你遇到主板自检时CPU内存灯一直来回闪烁的情况,这通常意味着硬件检测过程中存在问题。这个问题可能涉及到多个方面,包括硬件故障、BIOS设置错误、兼容性问题等。 1. 硬件故障 1.1 CPU故障
    的头像 发表于 09-02 14:38 7471次阅读

    CPU渲染和GPU渲染优劣分析

    使用计算机进行渲染时,两种流行的系统:基于中央处理单元(CPU)或基于图形处理单元(GPU)。CPU渲染利用计算机的CPU来执行场景并将其
    的头像 发表于 05-23 08:27 526次阅读
    <b class='flag-5'>CPU</b>渲染和<b class='flag-5'>GPU</b>渲染优劣分析

    聊聊GPU背后的大赢家-HBM

    HBM全称为High Bandwidth Memory,直接翻译即是高带宽内存,是一款新型的CPU/GPU内存芯片。
    的头像 发表于 04-20 15:27 1464次阅读
    聊聊<b class='flag-5'>GPU</b>背后的大赢家-HBM

    X-Silicon发布RISC-V新架构 实现CPU/GPU一体化

    X-Silicon 的芯片与其他架构不同,其设计将 CPUGPU 的功能整合到单核架构中。这与英特尔和 AMD 的典型设计不同,前者独立的 CPU 内核和
    发表于 04-08 11:34 538次阅读
    X-Silicon发布RISC-V新架构 实现<b class='flag-5'>CPU</b>/<b class='flag-5'>GPU</b>一体化

    RISC-V芯片新突破:CPUGPU一体化核心设计

    X-Silicon 的芯片与其他架构不同,其设计将 CPUGPU 的功能结合到单核架构中。这与 Intel 和 AMD 的典型设计不同,后者独立的 CPU 核心和
    发表于 04-07 10:41 658次阅读
    RISC-V芯片新突破:<b class='flag-5'>CPU</b>与<b class='flag-5'>GPU</b>一体化核心设计

    gpu是什么和cpu的区别

    GPUCPU是两种常见的计算机处理器,它们在结构和功能上有很大的区别。在这篇文章中,我们将探讨GPUCPU的区别,并详细介绍它们的原理、应用领域和性能特点。 一、概述 1.1
    的头像 发表于 02-20 11:24 1.8w次阅读

    详解GPU硬件架构及运行机制

    为什么我们总说GPUCPU要强大,既然GPU强大,为什么不能取代CPU呢?
    的头像 发表于 01-26 09:23 2150次阅读
    详解<b class='flag-5'>GPU</b>硬件架构及运行机制

    为什么GPUCPU更快?

    大规模数据集时CPU更快的根本原因。内存带宽GPU内存
    的头像 发表于 01-26 08:30 2224次阅读
    为什么<b class='flag-5'>GPU</b><b class='flag-5'>比</b><b class='flag-5'>CPU</b>更快?

    DDR6和DDR5内存的区别有多大?怎么选择更好?

    的型号。 首先,我们来看一下DDR6内存。DDR6是目前市场上最新的内存技术,它在DDR5的基础上进行了一些改进。DDR6内存的关键特点如下: 1. 带宽
    的头像 发表于 01-12 16:43 8129次阅读

    CPUGPU散热器设计的异同及其重要性

    CPUGPU散热器的设计异同及其重要性 在计算机的发展过程中,中央处理单元(CPU)和图形处理单元(GPU)在性能和热量产生方面的不断提升和增加,使得其在长时间工作时产生了大量的热量
    的头像 发表于 01-09 14:00 1184次阅读

    CPUGPU与TPU之间什么区别?

    CPUGPU与TPU之间什么区别? CPU(Central Processing Unit,中央处理器)是一种通用处理器,被用于各种计算任务,如操作系统运行、数据处理、算法运算等。
    的头像 发表于 12-15 10:10 6537次阅读

    浅谈DPU和CPUGPU的关系

    CPU的一大部分算力卸载给GPU之后,人们发现可以把很多其他功能也外包出去,于是又有了智能网卡,或者叫做DPU。
    发表于 12-14 11:44 830次阅读
    浅谈DPU和<b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>的关系

    CPUGPU之间的主要区别

    以下是以表格形式提供的CPUGPU之间的一些区别:中央处理器图形处理器CPU代表中央处理器。GPU代表图形处理单元。CPU是通用处理器。
    的头像 发表于 12-14 08:28 757次阅读
    <b class='flag-5'>CPU</b>和<b class='flag-5'>GPU</b>之间的主要区别