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

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

3天内不再提示

浅谈GPU: 衡量计算效能的正确姿势(3)

Linux阅码场 来源:面包板社区 作者:Linux阅码场 2021-04-16 11:16 次阅读

上期我们讲了现代计算机体系结构通过处理器(CPU/GPU)和内存的交互来执行计算程序,处理输入数据,并输出结果。实际上,由于CPU是高速器件,而内存访问速度往往受限(如图所示,CPU和内存的性能差距从上个世纪80年代开始,不断拉大),为解决速度匹配的问题,在CPU和内存之间设置了高速缓冲存储器Cache。

04180576-9e23-11eb-8b86-12bb97331649.png

而且Cache往往分几个层级,与内存以及其它外部存储器共同构成计算机系统的存储器层次结构(Memory Hierarchy),如下图所示,使得整个系统在性能,成本和制造工艺达到平衡。

045341ae-9e23-11eb-8b86-12bb97331649.jpg

我们可以看到,各个存储层次在访问时间上存在数量级别的差异,访问速度越快,单位制造成本越高,容量越小。在这里,我们并不打算讨论Cache具体设计和实现,只是希望针对Cache及其命中率对性能的影响有一个直观的认识。为了简化讨论问题的复杂性,我们这里做如下假设。

整个流水线分为5个阶段,分别为《1》取指、《2》译码、《3》运算执行、《4》访存读写 (可选)、《5》写回结果至寄存器

这里只考虑一级Cache,而且指令、数据共享L1 Cache。Cache命中的情况下,每个阶段都是1个时钟(cycle),而cache不命中的情况,阶段《1》,《5》各耗时100个时钟(cycles)。

访存指令占所有指令1/3。下面我们来分别计算3种情况下的CPI。

= 100 cycles + 3 * (1 cycle) + ((1 cycle * 2/3) + (100 cycles * 1/3))

= 137 cycles.

= (1 cycle * 0.9 + 100 cycles * (1 - 0.9)) + (3 cycles) + ((1 cycle * (2/3 + 0.9/3)) + (100cycles * (1 - 0.9) * 1/3))

= 18.2 cycles.

= (1 cycle * (0.99) + 100 cycles * (1 - 0.99)) + (3 cycles) + ((1 cycle * (2/3 + 0.99/3)) + (100 cycles * (1 - 0.99) * 1/3))

= 6.32 cycles.

Cache完全缺失。

CPI = 《1》阶段的时钟+《2, 3, 5》阶段的时钟+《4》阶段的时钟

Cache命中率达到90%。

CPI = 《1》阶段的时钟+《2, 3, 5》阶段的时钟+《4》阶段的时钟

Cache命中率达到99%

CPI = 《1》阶段的时钟+《2, 3, 5》阶段的时钟+《4》阶段的时钟另外在上期文章里我们也提到同样32b数据的访问,DRAM的耗能是SRAM的百倍(640pJ vs 5pJ)。完全可见正确配置Cache对高能效高性能计算的重要作用。

值得一提的是,由于CPU和GPU设计面向的差异,他们的Memory Hierarchy存在明显的区别,一个典型的对比如下图,可以看到GPU的Memeory Hierarchy设计的时候更注意带宽或者说Throughput,而相比之下对Latency就没有CPU重视, GPU Cache容量也相对比较小。

045d4bae-9e23-11eb-8b86-12bb97331649.png

那我们不禁要问,GPU的Latency指标这么糟糕,按照我们先前的计算,Cache不命中的后果是不是很严重?不过不要担心,CPU的Cache不命中可能会导致叫停流水线的严重后果,而对GPU,只要计算任务量足够,它的硬件调度器(Hardware Scheduler)能够自动在不同的任务间无缝切换,来掩藏特定任务访问memory带来的延迟。关于GPU的Latency hiding,值得大书特书,我们以后会详细讨论。
编辑:lyn

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

    关注

    68

    文章

    10824

    浏览量

    211087
  • Cache
    +关注

    关注

    0

    文章

    129

    浏览量

    28294

原文标题:GPU: 衡量计算效能的正确姿势(3)

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    平衡流量计计算公式

    量计计算公式的重要性及应用你了解吗? 一、管道流速公式 这是平衡流量计中最基本的计算公式之一,它基于流体的质量守恒定律。通过测量管道中的压力差和密度,可以
    的头像 发表于 10-25 14:14 107次阅读
    平衡流<b class='flag-5'>量计</b><b class='flag-5'>计算</b>公式

    GPU加速计算平台是什么

    GPU加速计算平台,简而言之,是利用图形处理器(GPU)的强大并行计算能力来加速科学计算、数据分析、机器学习等复杂
    的头像 发表于 10-25 09:23 210次阅读

    GPU计算主板学习资料第735篇:基于3U VPX的AGX Xavier GPU计算主板 信号计算主板 视频处理 相机信号

    GPU计算主板学习资料第735篇:基于3U VPX的AGX Xavier GPU计算主板 信号计算
    的头像 发表于 10-23 10:09 234次阅读
    <b class='flag-5'>GPU</b><b class='flag-5'>计算</b>主板学习资料第735篇:基于<b class='flag-5'>3</b>U VPX的AGX Xavier <b class='flag-5'>GPU</b><b class='flag-5'>计算</b>主板 信号<b class='flag-5'>计算</b>主板 视频处理 相机信号

    云端超级计算机怎么用

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。
    的头像 发表于 10-18 10:14 102次阅读

    信号计算主板设计方案:735-基于3U VPX的AGX Xavier GPU计算主板

    3U VPX导冷结构 , FPGA信号预处理 , GPU显卡 , PCIE视频处理 , GPU计算主板
    的头像 发表于 07-18 11:31 432次阅读
    信号<b class='flag-5'>计算</b>主板设计方案:735-基于<b class='flag-5'>3</b>U VPX的AGX Xavier <b class='flag-5'>GPU</b><b class='flag-5'>计算</b>主板

    赋能产业互联网,高通量计算让世界更高效!

    随着互联网技术的迅猛发展,计算机的主要应用从以传统的科学与工程计算为主逐步演变为以数据处理为核心,以传统高性能计算机体系结构为核心技术的新型基础设施面临巨大挑战,高通量计算应运而生。中
    发表于 04-12 14:46 242次阅读
    赋能产业互联网,高通<b class='flag-5'>量计算</b>让世界更高效!

    量计算公式多少度电 电量和度数怎么换算

    量计算公式多少度电? 电量计算公式是通过电压和电流的乘积来计算的,单位为瓦特-小时(Wh)。公式为: 电量(Wh)= 电压(V) × 电流(A) × 使用时间(小时) 其中,电压是指电流通过的电器
    的头像 发表于 02-03 14:42 5.2w次阅读

    AMD将推新GPU效能媲美英伟达RTX 4080

    据悉,AMD正努力研制新品级GPU,性能堪比英伟达的RTX 4080,而售价却只有后者的一半。据多个在线社区反映,AMD即将发布的Radeon RX 8000系列GPU效能与NVIDIA几乎不相上下,定价却只是前者的一半。
    的头像 发表于 01-31 10:00 2781次阅读

    LTM4620给fpga提供1.0V内核电源,4620输出电容量计算是否应该包含布局在fpga芯片附近的bulk电容?

    LTM4620给fpga提供1.0V内核电源,4620输出电容量计算是否应该包含布局在fpga芯片附近的bulk电容? 靠近FPGA布局的电容也比较大,比如470uF。但这些电容隔4620布局比较远,大于7cm。通过内电层铺铜连接。
    发表于 01-05 06:01

    【先楫HPM5361EVK开发板试用体验】性能测试基准---Dhrystone (3)

    1、Dhrystone介绍 Dhrystone是一种用于测量计算机性能的基准测试程序。它最初由Weicker和Emery编写于1984年,是一种用于衡量计算机处理器性能的标准测试
    发表于 12-20 22:14

    小型流量计正确安装方法

    正确安装小型流量计是确保其准确测量和长期稳定运行的关键步骤。以下是正确安装小型流量计的一些要点。
    的头像 发表于 12-19 15:44 812次阅读
    小型流<b class='flag-5'>量计</b><b class='flag-5'>正确</b>安装方法

    AD5933/AD5934阻抗测量不正确的问题怎么解决?

    本人在开发AD5933/AD5934阻抗测试板时遇到了以下问题: 1、按参考历程对控制寄存器写命令,则初始化后的输出波形峰峰值无法按命令改变,测量计算后的阻值会随实际值增大而增大,但不
    发表于 12-15 07:02

    采用AD5933进行阻抗测量,测量计算后的阻值会随实际值增大而增大的原因?

    您好,最近采用AD5933进行阻抗测量,电路如下图: 编程控制Vout 为2Vp-p,30kHz;PGA=1;校准电阻10k 测量计算后的阻值会随实际值增大而增大,但不成比例;具体数值如下: 请问出现这种问题的原因是什么?
    发表于 12-12 07:38

    铜排载流量计算方法

    铜排是工业中常用的一种导电材料,通常用于电路板、电缆和电器设备中。在设计和使用铜排的过程中,需要准确计算其载流量,以确保其正常工作和安全可靠。本文将详细介绍铜排载流量的计算方法。 铜排载流量计算
    的头像 发表于 12-08 14:06 9626次阅读

    高效稳定管理电源的正确姿势”!

    高效稳定管理电源的正确姿势”!
    的头像 发表于 11-23 09:04 392次阅读
    高效稳定管理电源的<b class='flag-5'>正确</b>“<b class='flag-5'>姿势</b>”!