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
    +关注

    关注

    27

    文章

    4403

    浏览量

    126569

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

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

收藏 人收藏

    评论

    相关推荐

    gpu是什么和cpu的区别

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

    为什么GPUCPU更快?

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

    GPU是显卡吗 cpugpu哪个算力强

    GPU(图形处理器)是显卡(显像处理器)的一种,它是一种专门用于图形计算的处理器。显卡是计算机中的一个重要组件,负责处理和渲染图形,使它们能够在显示屏上显示出来。GPUCPU在计算原理和结构上有
    的头像 发表于 01-10 15:45 1675次阅读

    CPUGPU之间的主要区别

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

    CPUGPU内存知识科普

    本文内容包括CPU内存GPU知识,本期重点更新GPUCPU部分知识。比如:GPU更新包括架
    的头像 发表于 11-13 11:47 849次阅读
    <b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>和<b class='flag-5'>内存</b>知识科普

    FPGA和CPUGPU什么区别?为什么越来越重要?

    FPGA 非常大的弱势。 以英伟达的 GPU 为例, 使用 CUDA 进行训练,主要有四个步骤: 1) 将数据从 CPU 的外 部存储 (DRAM) 复制到 GPU 的存储中;2)
    发表于 11-09 14:09

    cpu gpu npu的区别 NPU与GPU哪个好?gpu是什么意思?

    cpu gpu npu的区别 NPU与GPU哪个好?gpu是什么意思? 在当今数字化和人工智能的时代,高效的计算能力是现代技术发展的重要基础。因此,Central Processing
    的头像 发表于 08-27 17:03 8014次阅读

    2023年CPU&amp;GPU天梯图(最新版)

    GPU作为一种专门用于图形处理的芯片,在现代计算机中发挥着越来越重要的作用。它的性能主要由流处理器数量、频率和内存带宽决定。流处理器数量和频率决定了GPU的计算能力,
    的头像 发表于 08-18 15:35 4.2w次阅读
    2023年<b class='flag-5'>CPU</b>&amp;<b class='flag-5'>GPU</b>天梯图(最新版)

    什么是GPUCPUGPUCPU的区别及联系

    GPUCPU是计算机系统中最重要的两种处理器,它们在不同的应用中发挥不同的作用。
    发表于 08-09 18:24 2660次阅读

    gpucpu有什么区别?

    gpucpu有什么区别? GPUCPU是电脑中两个重要的计算器件。如果想要了解这两个设备的区别,需要从它们的含义和工作原理入手。 首先,CPU
    的头像 发表于 08-09 16:15 1w次阅读

    gpucpu哪个更重要?

    gpucpu哪个更重要? 当我们谈到计算机的性能时,CPU(中央处理器)和GPU(图形处理器)都是非常重要的组件。然而,在某些情况下,GPU
    的头像 发表于 08-09 15:51 4730次阅读

    显卡与cpu关系 显卡和gpu是一个东西吗 GPU和显卡是什么关系?

    在没有GPU之前,基本上所有的任务都是交给CPU来做的。
    的头像 发表于 07-14 11:50 2526次阅读

    CPUGPU之间的主要区别

    以下是以表格形式提供的 CPUGPU 之间的一些区别。
    发表于 06-06 15:51 647次阅读

    英特尔放弃同时封装 CPUGPU内存计划

    英特尔将 CPUGPU内存芯片拼接在一个称为 XPU 的单一封装上的宏伟计划已经暂缓。英特尔超级计算集团副总裁杰夫·麦克维 (Jeff McVeigh) 透露,该公司的 Falcon Shores 平台不仅会迟到,而且不会
    的头像 发表于 05-26 15:26 824次阅读

    恒讯科技分析:GPU是什么和CPU的区别?

    GPU是什么和CPU的区别?CPU是计算机的中央处理单元,可以以最小的延迟执行算术和逻辑运算。相比之下,GPU是一种嵌入式或外部图形处理单元,可以执行浮点运算以在高分辨率图像和视频中渲
    的头像 发表于 05-25 17:23 1889次阅读