论文摘要
随着并行计算技术的发展,高性能计算系统的计算能力与日俱增。然而,在使用高性能计算技术对实际问题进行模拟求解的过程中,随着问题规模的扩大,系统峰值性能与并行应用的实测性能之间的差异也越来越明显,也即编程墙问题。一方面,并行程序的设计与开发本身就是研究中的难点问题;另一方面,对大规模并行程序的性能分析相比传统程序更为复杂。基于框架的并行开发模式能够在一定程度上屏蔽并行程序的实现细节,降低用户开发并行程序的难度。但是,如何提高该模式所开发并行应用的性能仍是一个值得研究的问题。本文以大规模并行CFD开发为例,对基于框架的性能分析方法及其关键技术展开了研究。首先,提出了面向CFD并行开发框架的多用户性能分析方法Mu PAM。该方法的核心是面向多用户的性能分析,尤其是非计算机专业用户的性能分析。通过对参与CFD模拟的用户进行归纳总结,分析了其不同的性能分析需求,设计了整体的性能分析框架。然后,基于Mu PAM的思想,给出了其在Open FOAM开源平台上的设计Mu PAM-OF。针对Open FOAM开发框架,详细地研究与分析了其平台特性,设计了包括性能监测、分析以及可视化等三个功能模块的性能分析工具Mu PAM-OF的框架结构,给出了面向多用户的性能数据集合的详细设计,并从优化与实现的角度对数据集合进行了分类与整理。接着,在所给的框架基础上对Mu PAM-OF的关键技术进行了研究,并给出了其具体实现。对不同性能模块分别展开了相关技术的研究与实现:对监测模块,采用动态性能探测技术对性能数据进行收集,并针对性能数据的优化,采取了自定义性能数据文件格式等方面的措施;对性能分析模块,采用静态性能分析的方法分别从系统级和算法级对各项性能参数进行了分析和量化,给出了实用的性能评价方法;对可视化模块,主要采取基于VTK与Para View相结合的方式予以实现。最后,通过实验验证了Mu PAM-OF的实用性和可用性。实验结果表明,面向Open FOAM的多用户性能分析工具Mu PAM-OF不仅可以成功地对CFD模拟过程进行性能的监测与展示,还可以定位程序的性能瓶颈,对大规模并行CFD模拟的改进与优化具有实际意义。