第2章

性能导向开发
Jeff Larkin
美国加利福尼亚州圣克拉拉县NVIDIA公司
本章的目的是通过一个性能测试应用的加速来初步了解OpenACC编程方法。读者将学习如何添加OpenACC导语以及如何进行代码性能调优,进而逐步提升应用的性能。本章最后,示例程序将从串行代码改进为高性能并行代码。该并行代码可以运行在图形处理器(GPU)加速器和多核处理器(CPU)上。
阅读本章后,读者将会理解以下内容:
OpenACC内核指令
OpenACC数据指令和子句
PGProf性能调试器的使用
OpenACC标准三层并行模型
数据依赖
形如OpenACC之类的编译器导语是对标准编程语言的扩展,可以在较高的层次向编译器传达一系列显式信息。例如,OpenACC提供了显式表达循环并行特性和分离式物理存储器间数据移动的机制,传统的C、C++或Fortran编程语言均不具备这一能力。而OpenACC与这些传统编程语言良好耦合,恰好完美地补充了它们的不足之处。程序员通常逐步地向现存代码添加导语,优先向加速“热点”函数和循环应用导语,之后再改进其他次要代码部分。性能导向开发是一种利用性能分析工具指引程序员逐步改善程序性能的技术。性能导向开发能够告知程序员应用代码中哪部分加速后能够获得更大的性能提升。本章中,使用PGI(The Portland Group)编译器和PGPROF性能分析工具对一段测试代码进行逐步加速与改进。本章最后,将对一系列测试代码进行并行化。这里,完全使用OpenACC完成这些任务。
完成本章所需要的前提条件:一套可以运行和生成可执行程序的OpenACC编译器(本章中的示例将使用NVIDIA OpenACC开发包);读者需要能够阅读、理解并编译C或Fortran代码;读者需要能够运行OpenACC编译器生成的可执行程序。

《OpenACC并行程序设计:性能优化实践指南》一 第2章 性能导向开发相关推荐

  1. oracle性能优化求生指南_Vue项目性能优化--实践指南,网上最全最详细

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 第一时间与你相约 每日英文 Some happened could not forget, even forget also o ...

  2. 《OpenACC并行程序设计:性能优化实践指南》一 3.5 在应用程序执行期间记录性能信息...

    3.5 在应用程序执行期间记录性能信息 应用程序将自动使用第一个插装事件启动Score-P性能监视器.使用几个环境变量来配置性能监视器.为了尽量减小运行时间扰动,Score-P默认设置产生一个基于性能 ...

  3. 《OpenACC并行程序设计:性能优化实践指南》一 3.1 性能分析技术和术语

    3.1 性能分析技术和术语 "性能分析"通常作为一个整体用于描述应用性能分析,在技术上它仅指性能测量和分析技术的子集.图3-1显示了不同技术之间的比较. 性能测量和可视化由三部分组 ...

  4. [原创]Java性能优化权威指南读书思维导图

    [原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt    Binu John 译者: 柳飞 ...

  5. java性能优化权威指南_Java性能优化权威指南 PDF扫描[132MB]

    Java性能优化权威指南主要为Java SE 和Java EE 应用的性能调优提供建议.主要包括以下几方面:性能监控.性能分析.Java HotSpot VM 调优.高效的基准测试以及Java EE ...

  6. Elasticsearch性能优化实战指南

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 0.背景 在当今世界,各行各业每天都有海量数据产生,为了从这些海量数据中获取想要的分析结果,需 ...

  7. 赠书:《Java性能优化实践》,众多业内大佬推荐阅读

    没有捷径可走的 Java 性能优化 多年来,用 Google 搜索 Java performance tuning,出现的三篇最热门文章之一是于 1997 年到 1998 年左右发表的文章,这篇文章在 ...

  8. Hadoop YARN:调度性能优化实践【转】

    原文地址:https://www.infoq.cn/article/dh5UpM_fJrtj1IgxQDsq 背景 YARN 作为 Hadoop 的资源管理系统,负责 Hadoop 集群上计算资源的管 ...

  9. 让Elasticsearch飞起来!——性能优化实践干货

    让Elasticsearch飞起来!--性能优化实践干货 2018年12月19日 23:01:39 铭毅天下(公众号同名) 阅读数:8805更多 所属专栏: 深入详解Elasticsearch 版权声 ...

最新文章

  1. 分布式锁实现:Redis
  2. 安装Windows Storage Server 2008 R2
  3. C++虚继承和虚基类详解(一)
  4. MySQL查询的进阶操作--分组查询
  5. 关于QMap的几点总结思考
  6. mysql模板引擎有哪些_ecshop用的是什么模板引擎?
  7. 模拟人生4修身拉德兰连衣裙MOD下载
  8. Hadoop HDFS概念学习系列之shell命令使用HDFS的一些其他命令(十九)
  9. 李航第六章的BFGS算法
  10. Python第三方库离线安装包制作(whl文件)(离线包)
  11. word修改一处另一处自动修改_这么做让word自动记录修改明细,再也不用一个字一个字的核对了...
  12. Performance of Every Day Things by Jeffrey Richter PPT and Code
  13. 保姆级教程 CSS 知识点梳理大全,超详细!!!
  14. 那年学过的web后端笔记
  15. 两种遮罩层的关闭方法
  16. BUCK电感工作模式
  17. Android 加载Webview链接类型的Youtube视频
  18. 《快速掌握QML》第六章 动画
  19. VS2010:error C3083: 'Windows': the symbol to the left of a '::' must be a type
  20. 兄弟连c语言培训,长安兄弟连.net培训

热门文章

  1. android studio中添加新的model时候
  2. Drupal 7.31SQL注入getshell漏洞利用详解及EXP
  3. 使用 imitator 实现前后端分离开发中的数据模拟与静态资源映射
  4. 苹果修复 Gatekeeper 绕过漏洞
  5. 看我如何利用教科书级别的释放后使用漏洞(CVE-2020-6449)
  6. Pwn2Own 2020 曝出的Linux 内核漏洞已修复
  7. MFC添加View的方法
  8. 演示:各种网络安全设备、***设备向微软证书服务器申请证书
  9. 解决centos6.4 启动dell omsa 失败
  10. 十种最受前辈宠爱的职场新人