论文部分内容阅读
程序自动并行化技术一直是并行处理领域的研究热点与难点,目前虽然已取得了长足进步,但实际应用效果还不理想。我们以计算流体力学CFD为应用领域对程序自动并行化技术进行了长期研究,针对银河-Ⅲ巨型机开发的程序自动并行化系统NPUPAR取得了较好的应用效果。在此基础上,国防科技大学并行与分布处理国家重点实验室建议我们扩充交互功能,进一步提高并行效率。本论文就是围绕国防重点实验室基金项目《面向计算流体力学的交互式并行化技术研究》(编号99JS94.6.1.HK0313)展开的。 本文的主要工作和贡献如下: 1、提出并建立了CFD程序并行化的区域计算模型。同传统的程序模型以及CFD程序的帧迭代模型和场循环模型相比,区域计算模型能够更好地反映CFD程序的结构特点,使得对CFD程序的深入分析成为可能。不但有利于保证并行程序正确性,而且有利于开发并行性,减少通信与同步,提高并行程序效率。 2、在传统相关性理论的基础上提出了区域相关(包括与循环无关的区域相关和跨循环的区域相关)的概念,研究了区域相关的测试算法。区域相关以区域操作为基本单位。区域操作本身所具有的对大块数据进行整体操作的特点,使得区域相关非常适合开发CFD程序中蕴含的数据并行性;同时,区域操作本身的灵活性又使自动并行化系统不但可以在全局范围内进行整体分析,而且可以深入到帧迭代和场循环内部进行较为细致地分析,进而生成更高质量的并行程序。 3、[Wolfe96]提出了使用FUD链识别分析递归变量的方法。本论文在区域和区域相关概念的基础上根据CFD程序的特点对FUD链予以扩充,提出了识别分析归约和归约变量的EFUD方法。使用EFUD方法不但可以识别复杂的标量归约,而且可以识别数组归约。 4、研究了基于区域相关的通信判定方法,给出了判定通信的条件以及确定通信数据范围(通信区域)的公式,并以此为基础提出了基于通信令牌的优化策略。通信令牌是包含通信区域、通信的方向等信息的多元组。使用通信令牌便于通过交互进行手工优化。基于通信令牌的优化策略通过合并通信令牌降低通信量,减少通信的次数;通过寻找通信令牌最多的语句对象确定通信语句的位置以降低同步次数。摘要 5、为了提高系统交互效率,提出了程序对象树结构。使用程序对象树结构组织并行化系统的内部数据和程序代码,便于交互时信息的定位与综合,并且有利于实现增量分析。 本论文成功地实现了交互式并行化系统Paractive。经国防科技大学并行与分布处理国家重点实验室提供的CFD实际算例测试,Paractive生成的并行程序在银河-Ill并行计算机上4机并行效率达到80%,8机并行效率达到70%。q