本申请涉及超级计算机,特别是涉及一种面向大规模超算系统的自适应程序并行划分与调度方法。
背景技术:
1、随着科学技术的发展,超级计算已经由p级计算进入e级计算,正全面由百万核心进入到了千万核心并行时代。大规模异构超算系统支持并行计算,将应用程序中循环结构的计算任务划分为多个子任务,调度到多个加速簇上进行计算,以提升计算速度。目前,新型大规模超算系统的计算性能将达到每秒百亿亿次,为流体力学、激光聚变等传统科学计算和智慧城市、智能医疗等新型复杂人工智能应用和大数据处理提供了强大的支撑。
2、然而,随着系统并行规模的增大、新型异构/众核体系结构的研制,对计算任务并行划分的复杂度也提升,如何有效并行划分、提升任务并行效率是目前面临的重要挑战。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够优化并行划分、提升任务并行效率的面向大规模超算系统的自适应程序并行划分与调度方法、装置、设备和介质。
2、一种面向大规模超算系统的自适应程序并行划分与调度方法,包括:
3、获取超算系统的源程序文件,对所述源程序文件进行代码信息提取与分析,得到变量依赖信息、所述源程序文件中目标循环结构对应的循环计算树和所述循环计算树的并行模式;
4、基于所述循环计算树和所述超算系统的节点配置信息构建所述目标循环结构的备用并行划分方案,使用已建立的并行划分成本计算模型,从所述备用并行划分方案中选择并行计算成本最小的备用并行划分方案,得到所述目标循环结构的最终并行划分方案;
5、根据所述最终并行划分方案、所述变量依赖信息、所述目标循环结构的所述循环计算树和所述并行模式,生成对所述目标循环结构实现所述最终并行划分方案需要的代码。
6、一种面向大规模超算系统的自适应程序并行划分与调度装置,包括:
7、信息分析模块,用于获取超算系统的源程序文件,对所述源程序文件进行代码信息提取与分析,得到变量依赖信息、所述源程序文件中目标循环结构对应的循环计算树和所述循环计算树的并行模式;
8、并行划分模块,用于基于所述循环计算树和所述超算系统的节点配置信息构建所述目标循环结构的备用并行划分方案,使用已建立的并行划分成本计算模型,从所述备用并行划分方案中选择并行计算成本最小的备用并行划分方案,得到所述目标循环结构的最终并行划分方案;
9、代码生成模块,用于根据所述最终并行划分方案、所述变量依赖信息、所述目标循环结构的所述循环计算树和所述并行模式,生成对所述目标循环结构实现所述最终并行划分方案需要的代码。
10、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
11、获取超算系统的源程序文件,对所述源程序文件进行代码信息提取与分析,得到变量依赖信息、所述源程序文件中目标循环结构对应的循环计算树和所述循环计算树的并行模式;
12、基于所述循环计算树和所述超算系统的节点配置信息构建所述目标循环结构的备用并行划分方案,使用已建立的并行划分成本计算模型,从所述备用并行划分方案中选择并行计算成本最小的备用并行划分方案,得到所述目标循环结构的最终并行划分方案;
13、根据所述最终并行划分方案、所述变量依赖信息、所述目标循环结构的所述循环计算树和所述并行模式,生成对所述目标循环结构实现所述最终并行划分方案需要的代码。
14、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
15、获取超算系统的源程序文件,对所述源程序文件进行代码信息提取与分析,得到变量依赖信息、所述源程序文件中目标循环结构对应的循环计算树和所述循环计算树的并行模式;
16、基于所述循环计算树和所述超算系统的节点配置信息构建所述目标循环结构的备用并行划分方案,使用已建立的并行划分成本计算模型,从所述备用并行划分方案中选择并行计算成本最小的备用并行划分方案,得到所述目标循环结构的最终并行划分方案;
17、根据所述最终并行划分方案、所述变量依赖信息、所述目标循环结构的所述循环计算树和所述并行模式,生成对所述目标循环结构实现所述最终并行划分方案需要的代码。
18、上述面向大规模超算系统的自适应程序并行划分与调度方法、装置、设备和介质,对超算系统中源程序文件的目标循环结构构建备用并行划分方案,使用并行划分成本计算模型对多个备用并行计划方案进行优化选择,得到并行计算成本最小的备用并行划分方案作为最终并行划分方案,然后生成对目标循环结构实现最终并行划分方案需要的代码;如此,在使用超算系统进行并行计算时,可以自动优化并行划分方案并选择并行计算成本最小的并行划分方案,提升任务并行效率。
1.一种面向大规模超算系统的自适应程序并行划分与调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述变量依赖信息包括变量依赖关系图;所述获取超算系统的源程序文件,对所述源程序文件进行代码信息提取与分析,得到变量依赖信息、所述源程序文件中目标循环结构对应的循环计算树和所述循环计算树的并行模式,包括:
3.根据权利要求1所述的方法,其特征在于,所述节点配置信息包括可用节点数量;所述基于所述循环计算树和所述超算系统的节点配置信息构建所述目标循环结构的备用并行划分方案,使用已建立的并行划分成本计算模型,从所述备用并行划分方案中选择并行计算成本最小的备用并行划分方案,得到所述目标循环结构的最终并行划分方案,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述循环计算树和所述超算系统的节点配置信息构建所述目标循环结构的备用并行划分方案,使用已建立的并行划分成本计算模型,从所述备用并行划分方案中选择并行计算成本最小的备用并行划分方案,得到所述目标循环结构的最终并行划分方案之前,还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述最终并行划分方案、所述变量依赖信息、所述目标循环结构的所述循环计算树和所述并行模式,生成对所述目标循环结构实现所述最终并行划分方案需要的代码,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述变量依赖信息、所述目标循环结构的所述循环计算树和所述并行模式,生成核函数代码,包括:
7.根据权利要求5所述的方法,其特征在于,所述基于所述最终并行划分方案对所述目标循环结构的代码进行重构,包括:
8.一种面向大规模超算系统的自适应程序并行划分与调度装置,其特征在于,包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
