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

    文章

    11327

    浏览量

    225901
  • Cache
    +关注

    关注

    0

    文章

    130

    浏览量

    29790

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    成功案例:象帝先计算技术与Imagination合作——面向现代图形与计算工作负载的专业GPU

    为专业计算设计桌面GPU桌面GPU不仅用于游戏,还能加速从专业可视化、高级模拟到数据密集型计算在内的多种现代工作负载。专业用户需要能在多种应用场景中稳定运行的高性能、多功能平台。构建桌
    的头像 发表于 03-09 09:17 454次阅读
    成功案例:象帝先<b class='flag-5'>计算</b>技术与Imagination合作——面向现代图形与<b class='flag-5'>计算</b>工作负载的专业<b class='flag-5'>GPU</b>

    炎核开源开放平台上架推出OpenSparseBlas高性能稀疏计算

    在科学计算与工程仿真领域,高效处理大规模稀疏矩阵运算是提升整体计算效能的关键。为此,我们在炎核开源开放平台上架推出 OpenSparseBlas——一个专为稀疏矩阵/向量计算而打造的高
    的头像 发表于 12-15 15:18 981次阅读

    汽车中的GPU是如何使用的?

    (HMI)的发展尤为迅猛。随着电子电气架构(EEA)的集中化,车辆对高性能计算能力的需求显著提升,GPU(图形处理单元)的灵活性、可扩展性以及高效并行计算能力,使其成为支持这些创新应用的核心组件
    的头像 发表于 12-03 14:45 9704次阅读
    汽车中的<b class='flag-5'>GPU</b>是如何使用的?

    分体电磁流量计正确接线方法!

    量计
    jzyb
    发布于 :2025年10月24日 18:18:36

    绝缘子漏电起痕试验仪泄漏电流信号的小波变换分析及电弧能量计算

    手段;而基于该分析结果的电弧能量计算,则能量化电弧对绝缘子性能的影响,两者共同为试验结果的精准解读与绝缘子耐痕性能评估提供科学依据。​ 泄漏电流信号的小波变换分析,核心在于对信号的“分层解析与特征提取”。试
    的头像 发表于 10-15 09:43 533次阅读
    绝缘子漏电起痕试验仪泄漏电流信号的小波变换分析及电弧能<b class='flag-5'>量计算</b>

    如何正确使用分体式电磁流量计

    量计
    jzyb
    发布于 :2025年09月16日 18:05:13

    一步步教你正确的电磁流量计安装

    在电磁流量计安装过程中,您是否遇到过流量计测量不准、维修困难甚至彻底失效的问题?很多时候,并不是仪表本身有问题,而是安装细节被忽略了。电磁流量计直管段不够、孔板流量计差压变送器安装位置
    的头像 发表于 09-06 10:38 4327次阅读
    一步步教你<b class='flag-5'>正确</b>的电磁流<b class='flag-5'>量计</b>安装

    别让 GPU 故障拖后腿,捷智算GPU维修室来救场!

    在AI浪潮汹涌的当下,GPU已然成为众多企业与科研机构的核心生产力。从深度学习模型训练,到影视渲染、复杂科学计算GPU凭借强大并行计算能力,极大提升运算效率。然而,就像高速运转的精密
    的头像 发表于 07-17 18:56 1315次阅读
    别让 <b class='flag-5'>GPU</b> 故障拖后腿,捷智算<b class='flag-5'>GPU</b>维修室来救场!

    如何选择合适的电池电量计

    最优的电池性能依赖于驱动电量计算法的高精度的电池模型。花费大量时间进行定制特征分析能够获得高精度电池性能、最大程度减小电池电量的(SOC)误差,以及正确预测电池何时接近空电量。
    发表于 07-10 14:23 0次下载

    如何计算孔板流量计和平衡流量计的流量?计算公式一样吗?

    平衡流量计与孔板流量计作为差压式流量计的典型代表,虽均基于压力差与流量的数学关系进行计算,但是平衡流量计
    的头像 发表于 07-09 13:54 1154次阅读
    如何<b class='flag-5'>计算</b>孔板流<b class='flag-5'>量计</b>和平衡流<b class='flag-5'>量计</b>的流量?<b class='flag-5'>计算</b>公式一样吗?

    GPU架构深度解析

    GPU架构深度解析从图形处理到通用计算的进化之路图形处理单元(GPU),作为现代计算机中不可或缺的一部分,已经从最初的图形渲染专用处理器,发展成为强大的并行
    的头像 发表于 05-30 10:36 2025次阅读
    <b class='flag-5'>GPU</b>架构深度解析

    自己动手绕线圈电感详细计算公式(建议收藏!)

    线圈高度W----线圈宽度单位分别为毫米和mH。空心线圈电感量计算公式:l=(0.01*D*N*N)/(L/D+0.44)线圈电感量l单位:微亨线圈直径D单位:cm线圈匝数N单位:匝线圈长度L单位:cm 获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 05-28 16:57

    Imagination与澎峰科技携手推动GPU+AI解决方案,共拓计算生态

    近日, Imagination Technologies 与国内领先的异构计算软件与智算混合云服务提供商 澎峰科技 ( PerfXLab )正式签署合作备忘录( MoU ),围绕 GPU 与 AI
    发表于 05-21 09:40 1295次阅读

    求助,关于FX3使用SDK自带回环固遇到的问题求解

    和数据量计算速度,这样的测试是否准确?我没到的速度只是19MB多点为什么?刚开始我怀疑是我的电路板布线的问题,所以我找了个开发板,速度仍然是19MB多点?所以我再想这样的测试方法本身是否可行?因为我的开发板本身的FPGA坏了,在这种情况下只能使用回环没速了吧
    发表于 05-08 07:05

    变压器速查速算手册(完整版)

    资料介绍本文较详细而系统地介绍了变压器的计算公式和计算方法。内容包括:变压器基本计算及试验计算,变压器运行和节能计算,变压器容
    发表于 04-30 17:40