第9章MIC性能优化.PDF

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章MIC性能优化

9 第 9 章 MIC 性能优化 本章将介绍 MIC 平台应用程序的性能优化方法,包括并行度、内存管理、数据传输、存 储器访问、向量化、负载均衡和扩展性等优化手段,并且通过大量的示例代码展示每种优化手 段的使用方法。 本章目标 通过本章的学习,你可以: l 了解 MIC 性能优化策略。 l 了解如何通过并行度、内存管理、向量化、cache优化等手段优化 MIC 程序的性能。 l 了解如何使用 nocopy、异步、scif技术优化 CPU 与 MIC 的通信。 l 了解如何对 MIC 的负载均衡和线程扩展性进行优化。 9.1 MIC 性能优化策略  MIC 程序性能优化包含 CPU 与 MIC 端的通信优化以及 MIC 内核计算、访存优化。MIC  程序的优化是一个循环反复的过程,可以用性能优化循环图表示,MIC  性能优化的基本循环 过程如图 9­1 所示,包括以下几个步骤: (1)获取程序的性能数据作为基准。 (2)分析性能数据,通过 VTune 等工具找出性能瓶颈。 (3)根据瓶颈进行分析,并找到相应的优化手段。 (4)实施优化手段,对代码做相应的修改。 (5)测试结果是否正确,如果正确并且性能获得提升就完成一次优化的循环。 (6)进入下次优化循环。  MIC 高性能计算编程指南  图9­1  性能优化循环  MIC 性能优化循环中常见问题: (1)选择合适的测试用例,即 workload。合适的 workload需要满足几个要求:可测试性、 可重现性、稳定性和代表性。合适的测试用例是可以 “用例测试”的,即:不能测试时间过短 或过长; 测试是可以重复进行的, 可以复现的; 每次复现的性能结果是稳定的, 不能偏移太大, 而且测试用例具有广泛的代表性,不是和大部分用例大相径庭的。例如,如果所选的测试用例 执行的是算法的第 1 条路径, 而其他大部分用例执行的是算法的第 2 条路径, 则该测试用例的 选择是不合适的。 (2)如何得到性能指标。性能指标有很多种,最简单最常用的是计算程序执行时间。在  MIC  程序中,我们可以通过时间函数获取内核计算执行时间,以及数据传递时间,也可以借 助 VTune 等工具获取 MIC 内核中每个线程时间等。 (3)分析问题的时候主要考虑热点和关键路径。非主要矛盾可以忽略,把精力放在关键 问题的优化上。考虑基准性能指标是什么,最优的性能指标能到多少,可能的潜力有多少。回 r 答这些问题需要考虑制约 MIC 性能的关键因素,如 GFLOPS 值、CPI、程序的并行度、数据 e t 9 p a h 的局部性、带宽的压力、向量化程度、IO 是否为主要的瓶颈等。这些关键数据可以借助 VTune  C 测试得到。 (4)在实施优化过程中,对代码的修改还需兼顾代码的质量。要保证代码的可移植性、 可读性、可维护性、可靠性。采用的方法可以是修改编译选项、各种数学库,手动修改热点代 码等。 (5)测试用例要完备,要尽可能覆盖所有的情况,并且只有在程序保证正确的前提下测 得的 MIC 性能指标才有效。 (6)最后,决定是否进行新一轮的循环优化。考虑的因素有:现有性能是否已经逼近极 186  MIC 性能优化 第 9 章  限?是否实现了 MIC 硬件的利用率最大化?  MIC 程序的性能优化主要包括系统级和内核级:系统级优化包括节点之间、CPU 与 MIC  之间的负载均衡优化;MIC 内存空间优化;计算与 IO 并行优化;IO 与 IO 并行优化;数据传 递优化;网络性能优化;硬盘性能优化等。内核级优化包括并行度优化;负载均衡优化;进程 

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档