REF

Roofline Model与深度学习模型的性能分析 - 知乎

Roofline: An Insightful Visual Performance Model for Floating-Point Programs and Multicore Architectures https://people.eecs.berkeley.edu/~kubitron/cs252/handouts/papers/RooflineVyNoYellow.pdf

Roof-line Model模型简介

Roof-line Model讲的是我们理论能够获得的最大计算性能FLOPS。图像横坐标为计算强度,为实际的计算量除以访存量,而纵坐标为我们能够获得的最大理论计算性能。

当实际的计算强度(计算量/访存量)大于Imax时,我们理论上获得硬件最大的计算性能pi,这时程序计算时间为实际的计算量除以pi。

而实际计算强度小于Imax时,我们理论能获得的最大计算性能达不到pi,只能达到实际的计算量/访存量*beta。这个模型说明如果访存利用率低,我们难以达到硬件拥有的最大性能。

因此我们需要提升计算的计算强度,从而最大化实际能够获得的计算性能。例如算子融合,则是在相同计算量的时候避免了中间的访存过程,从而降低了访存量,提高了计算强度。而矩阵乘法,通过合理的分块等方式,也能够减低访存量增大计算强度。

要注意一个计算理论的访存量和实际实现的访存量。例如矩阵乘法,理论的访存量和实际的访存量可能完全不一样。而elemwise计算两者通常可能是一致的。此外,理论算力是明确的,但是对于带宽部分,由于存储系统存在层级,实际能够获得的带宽跟计算过程也有关,数据时间和空间局部性利用好的算法能够获得的理论带宽也就越高。

矩阵乘优化过程中的roof-line分析实践:

[施工中] CUDA GEMM 理论性能分析与 kernel 优化 - 知乎

Roof-line Model性能分析模型简介相关推荐

  1. R语言生存分析模型简介及survival包实现实战:基于survival包lung数据集

    R语言生存分析模型简介及survival包实现实战:基于survival包lung数据集 目录 R语言生存分析模型简介及survival包实现实战 #survival包简介

  2. 【控制】模型预测控制 model predictive control 简介

    目录 模型预测控制的一点笔记和看法 1 [控制]模型预测控制 model predictive control 简介 2 [控制]模型预测控制,公式推导,数值仿真,有程序有图 文章目录 1 模型预测控 ...

  3. FM信号测试软件,手机中FM调频性能测试方法简介

    原标题:手机中FM调频性能测试方法简介 手机已经成为人们非常重要的通讯工具,相应手机整合的功能也愈来愈多.目前市面上的手机基本上都支持FM收音机功能,而FM收音机性能则主要是通过 .接收频带宽度.解调 ...

  4. C++性能优化(一)——应用程序性能优化简介

    一.程序性能优化简介 1.程序性能优化简介 在计算机发展的早期阶段,硬件资源相对而言是非常昂贵的,CPU运行时间与内存容量给程序开发人员设置了极大限制.因此,早期的程序对运行性能和内存空间占用的要求是 ...

  5. 使用SQL Server Analysis Services Tabular Model建立分析模型

    微软在最新版本的SQL Server中加入了Tabular Model,目的在于降低数据分析的门槛,使各个业务部门的人员通过简单的IT培训,制作出符合自己需要的分析模型. 由于其降低了操作门槛,所以各 ...

  6. python在材料方面的应用_python应用性能监控工具简介

    Published: 一 22 十月 2018 监控简介 监视工具捕获,分析和显示Web应用程序执行信息.每个应用程序在Web堆栈的所有层都可能出现问题.监控工具通过展示帮助开发人员和运营团队响应并修 ...

  7. Android之开发性能优化简介

    原帖地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=327340&extra=page%3D1%26filter%3 ...

  8. nashorn 性能_Nashorn简介

    nashorn 性能 引入了Java 8和名为" Nashorn"的新JavaScript引擎. Nashorn基于Da Vinci Machine,该项目旨在为JVM添加动态语言 ...

  9. oracle临时表经常被锁_5.性能测试 - Oracle体系结构和性能优化简介

    体系结构 Oracle体系结构示意图 Oracle服务器: Oracle服务器是一个数据库管理系统,它为信息管理提供了开放.综合和集成的方法,包括Oracle实例和 Oracle数据库. Oracle ...

最新文章

  1. hausdorff距离
  2. mysql 性能查看_MySQL查询性能问题排查
  3. 记录一下,Sqlite,用GB系列编码排序时是按拼音,UTF-8排序是按笔画
  4. 动手写一个Remoting接口测试工具(附源码下载)
  5. IP多播技术及其应用
  6. 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)V2.0_dev
  7. 关于EFCore线程内唯一
  8. java中一级缓存二级缓存_[Java] hibernate 一级缓存和二级缓存
  9. freemarker,自定义指令
  10. Centos7 超简单将Centos的yum源更换为国内的阿里云源
  11. linux 安装k8s
  12. javplayer 使用教程_PS教程连载第91课:PS核心功能:剪贴蒙版讲解
  13. linux下mysql修改时区,linux修改系统时区
  14. 移动端中的vMin和vMax
  15. 记一次 selenium 处理浏览器证书弹窗的经历
  16. R2S设置openWrt软路由
  17. 查看路由器拨号的宽带密码
  18. 如何在MATLAB上用GPU加速计算
  19. 简明 CSS2.1 参考手册
  20. 给大家分享一款由PHP+MYSQL搭建的外卖小程序源码

热门文章

  1. 0基础小白该如何学Python?这些方法你需要了解
  2. 探店带货博主推荐:呆头鹅批量剪辑软件高效率批制作二次原创视频,一天批量制作1000+探店带货视频
  3. Laravel后端接口使用mews/captcha验证码注册+登录流程讲解
  4. php登录调用验证码,PHP编写登录验证码功能 附调用方法
  5. 电脑录屏没有系统声音怎么办
  6. 机器学习编程sklearn常用语句
  7. 国内外露天采矿技术发展趋势
  8. 【PCI】ARM架构——PCI总线驱动、RC驱动、Host Bridge驱动、xilinx xdma ip驱动(八)
  9. mysql bigd_MySQL基础
  10. 矩阵计算器的c语言代码大全,用C语言实现矩阵计算器