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

简介: 本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第2章,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第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并行程序设计:性能优化实践指南》一 3.11 小结
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.11节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1111 0
|
测试技术 异构计算
《OpenACC并行程序设计:性能优化实践指南》一 导读
这是一本关于并行编程的书,不仅仅介绍OpenACC语法或从文档中收集的信息,更介绍了如何编写实际的、高性能的以及可移植的程序,这些程序可以运行在从CPU到GPU的大量设备上。具体而言,书中演示了使用PGI、Cray和PathScale等供应商提供的编译器编译示例代码,并在Intel x86处理器、Cavium 96核64位ARMv8处理器芯片集和NVIDIA GPU上运行。
2271 0
|
程序员
《OpenACC并行程序设计:性能优化实践指南》一 2.3 描述数据移动
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第2章,第2.3节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1337 0
《OpenACC并行程序设计:性能优化实践指南》一 1.7 让生活更简单
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第1章,第1.7节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1110 0
《OpenACC并行程序设计:性能优化实践指南》一 2.6 小结
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第2章,第2.6节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1245 0
|
并行计算 测试技术 API
《OpenACC并行程序设计:性能优化实践指南》一 3.4 通过代码插装准备性能测量
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.4节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1290 0
|
算法
《OpenACC并行程序设计:性能优化实践指南》一 1.3 Amdahl定律及其扩展
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第1章,第1.3节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1545 0
|
监控
《OpenACC并行程序设计:性能优化实践指南》一 3.1 性能分析技术和术语
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.1节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1181 0
《OpenACC并行程序设计:性能优化实践指南》一 3.2 逐步性能提升
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.2节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1136 0
|
并行计算 异构计算
《OpenACC并行程序设计:性能优化实践指南》一 3.6 第一个并行PIConGPU实现
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.6节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1565 0