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

    文章

    10863

    浏览量

    211799
  • Cache
    +关注

    关注

    0

    文章

    129

    浏览量

    28346

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

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

收藏 人收藏

    评论

    相关推荐

    芯原发布新一代Vitality架构GPU IP系列

    上实现了显著提升,并支持多核扩展,为用户提供更加出色的性能体验。该架构集成了诸多先进功能,如一个可配置的张量计算核心(Tensor Core)AI加速器,以及一个容量高达32MB至64MB的三级(L3)缓存,这些配置共同保证了强大的处理能力和卓越的能效表现。 针对云游戏领
    的头像 发表于 12-24 10:55 143次阅读

    芯原推出新一代高性能Vitality架构GPU IP系列

    原新一代Vitality GPU架构显著提升了计算性能,并支持多核扩展,以进一步提升性能。该GPU架构集成了诸多先进功能,如一个可配置的张量计算核心(Tensor Core)AI加速器
    的头像 发表于 12-19 15:55 142次阅读

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 124次阅读

    《CST Studio Suite 2024 GPU加速计算指南》

    。 2. 操作系统支持:CST Studio Suite在不同操作系统上持续测试,可在支持的操作系统上使用GPU计算,具体参考相关文档。 3. 许可证:GPU
    发表于 12-16 14:25

    靶式流量计的工作原理 靶式流量计和涡街流量计比较

    位移可以计算出流量。 流体冲击 :流体流过靶板,对靶板施加力。 位移测量 :靶板的位移通过位移传感器(如差分电容式传感器)测量。 信号处理 :位移信号被转换成电信号,并通过电子电路处理。 流量计算 :根据位移和流体的
    的头像 发表于 12-11 16:49 245次阅读

    平衡流量计计算公式

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

    GPU加速计算平台是什么

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

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

    GPU计算主板学习资料第735篇:基于3U VPX的AGX Xavier GPU计算主板 信号计算
    的头像 发表于 10-23 10:09 278次阅读
    <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 158次阅读

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

    3U VPX导冷结构 , FPGA信号预处理 , GPU显卡 , PCIE视频处理 , GPU计算主板
    的头像 发表于 07-18 11:31 481次阅读
    信号<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>主板

    大模型单卡的正确使用步骤

    、注意事项等方面进行介绍,以帮助用户更好地掌握大模型单卡的使用技巧。 第一部分:大模型单卡概述 1.1 大模型单卡的定义 大模型单卡是一种集成了大量计算资源和存储资源的硬件设备,通常用于处理大规模数据集和执行复杂计
    的头像 发表于 07-05 14:32 632次阅读

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

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

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

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

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

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

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

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