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

    文章

    11221

    浏览量

    222990
  • Cache
    +关注

    关注

    0

    文章

    130

    浏览量

    29606

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

    常见传动机构负载惯量计算方法及实例

    传动机构负载惯量计算方法 1. 丝杆传动机构 丝杆传动机构广泛应用于精密定位系统中。其负载惯量的计算需要考虑负载质量、丝杆导程、丝杆直径以及摩擦系数等因素。 假设负载质量为m,丝杆导程为Pb,丝杆直径为Db,负载移动速度为
    的头像 发表于 04-23 17:38 3304次阅读
    常见传动机构负载惯<b class='flag-5'>量计算</b>方法及实例

    GPU加速计算平台的优势

    传统的CPU虽然在日常计算任务中表现出色,但在面对大规模并行计算需求时,其性能往往捉襟见肘。而GPU加速计算平台凭借其独特的优势,吸引了行业内人士的广泛关注和应用。下面,AI部落小编为
    的头像 发表于 02-23 16:16 764次阅读

    GPU计算服务怎么样

    在当今数字化快速发展的时代,高性能计算需求日益增长。为满足这些需求,GPU计算服务应运而生。那么,GPU计算服务怎么样呢?接下来,AI部
    的头像 发表于 02-05 15:01 683次阅读

    调理电路的噪声余量计算如何计算

    调理电路的噪声余量计算 请问各位,在数据采集系统中,2Msps要达到12bit分辨率,选用14bit的ADC。前端调理电路的噪声理论余量如何计算。根据什么条件确定前端调理放大器的噪声指标。。。比如调理电路的总噪声不能够超过多少?该如何
    发表于 01-21 07:55

    算智算中心的算力如何衡量

    (ComputationalPower)是指智算中心通过其内部的计算设备(如CPU、GPU、AI芯片等)对数据进行处理和计算的能力。它体现了智算中心在单位时间内能够完成的计算任务量,
    的头像 发表于 01-16 14:03 4249次阅读
    算智算中心的算力如何<b class='flag-5'>衡量</b>?

    电磁流量计正确调试步骤

    电磁流量计在自来水、生活用水、制药等行业有着非常多的应用,但是很多用户们采购后根据专业复杂的说明书并不能正确的调试好产品并使用它。经过我司售后部门的统计。百分之七十及以上的客户朋友们收到货后都会致电
    的头像 发表于 01-12 09:19 2732次阅读

    UPS容量计算步骤和注意事项

    UPS(不间断电源)容量的计算是一个复杂的过程,需要考虑多个因素,包括负载功率、备用时间、效率以及负载特性等。
    的头像 发表于 12-25 10:15 2636次阅读

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

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

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

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

    云端超级计算机使用教程

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

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

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

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

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