一种基于超级计算机的流体机械仿真程序优化方法技术

技术编号:19778766 阅读:35 留言:0更新日期:2018-12-15 11:28
本发明专利技术公开了一种基于超级计算机的流体机械仿真程序优化方法,针对神威·太湖之光超算体系结构与其编程特点,结合流体机械仿真程序特性,提出了一套系统可行的优化方案,其依次包括了分块众核并行优化、DMA传输优化、数据布局优化、双缓冲优化、SIMD向量化优化、寄存器通信优化。该方法为针对神威·太湖之光超算平台开发、移植或优化流体机械仿真程序的开发人员提供了一种通用的优化方法,实现对神威·太湖之光计算资源的充分利用,提升程序计算性能,缩短仿真花费时间。

【技术实现步骤摘要】
一种基于超级计算机的流体机械仿真程序优化方法
本专利技术属于计算流体力学与计算机交叉领域,特别涉及一种基于超级计算机的流体机械仿真程序优化方法。
技术介绍
神威·太湖之光超级计算机是由国家并行计算机工程技术研究中心自主研发,现安装在国家超级计算无锡中心的超级计算机,峰值性能为125.4PFlops,从2016年6月20日至2017年11月31日连续5次获得全球超级计算机500强(TOP500)榜单第一名。其基于申威SW26010处理器构建,共包含40960块SW26010处理器,每个处理器包含4个核组,每个核组包含1个MPE(ManagementProcessingElement,简称主核)和64个CPEs(ComputingProcessingElements,简称从核),从核分布在8×8的阵列中。其中主核上的编译器支持C,C++和Fortran3种编程语言,而从核上的编译器只支持C与Fortran两种编程语言。编译器的不兼容问题使得传统流体机械仿真程序无法直接在从核上运行,无法有效利用神威太湖之光强大的计算能力。计算流体力学(ComputationalFluidDynamics,本文档来自技高网...

【技术保护点】
1.一种基于超级计算机的流体机械仿真程序优化方法,其特征在于,包括以下步骤:步骤1,利用超级计算机神威·太湖之光超算平台gprof对流体机械仿真程序算法进行剖分,寻找程序算法中符合神威·太湖之光体系结构加速的计算密集型算法部分,并将该部分算法改写为针对神威·太湖之光编程平台的算法;步骤2,对完成步骤1的流体机械仿真程序中计算密集型部分进行分块众核并行优化,根据基于空间限制、传输效率限制、映射限制、数据量限制四个条件限制的分块规则,将数据根据跨步读取规则与映射规则分发至SW26010处理器从核进行加速计算;步骤3,对完成步骤2分块众核并行优化的流体机械仿真程序进行DMA传输优化:依据步骤2中从核...

【技术特征摘要】
1.一种基于超级计算机的流体机械仿真程序优化方法,其特征在于,包括以下步骤:步骤1,利用超级计算机神威·太湖之光超算平台gprof对流体机械仿真程序算法进行剖分,寻找程序算法中符合神威·太湖之光体系结构加速的计算密集型算法部分,并将该部分算法改写为针对神威·太湖之光编程平台的算法;步骤2,对完成步骤1的流体机械仿真程序中计算密集型部分进行分块众核并行优化,根据基于空间限制、传输效率限制、映射限制、数据量限制四个条件限制的分块规则,将数据根据跨步读取规则与映射规则分发至SW26010处理器从核进行加速计算;步骤3,对完成步骤2分块众核并行优化的流体机械仿真程序进行DMA传输优化:依据步骤2中从核所需的数据,使用DMA-intrinsic接口编写DMA传输控制程序;步骤4,对完成步骤3的程序进行数据布局优化,对流体机械仿真程序的核心段程序进行变量依赖关系分析,将数据进行拼接或整合;步骤5,对完成步骤4的程序进行双缓冲优化,将通信与计算重叠;步骤6,对完成步骤5的程序使用神威·太湖之光的向量化部件进行SIMD向量化优化;步骤7,对完成步骤6的程序进行寄存器通信优化,同时对程序进行性能分析和代码整理分析,若分析结果低于程序预期性能,或发现程序经过迭代修改后在设计上有进一步提升的空间,则重复进行步骤1-7,若结果满足预期性能,则基于神威·太湖之光体系结构的流体机械仿真程序优化结束。2.根据权利要求1所述的一种基于超级计算机的流体机械仿真程序优化方法,其特征在于,在步骤1中,神威·太湖之光体系结构为基于SW26010处理器构建的超算平台,共包含40960块SW26010处理器,每个处理器包含4个核组,每个核组包含1个MPE,简称主核和64个CPEs,简称从核,从核分布在8×8的阵列中;计算密集型算法部分是指计算任务之间没有直接的相互依赖关系,适合利用大规模并行方式进行处理的算法部分;针对神威·太湖之光编程平台的算法指基于神威·太湖之光编程环境的,可以充分利用SW26010MPE与CPEs计算能力的流体机械算法;神威·太湖之光编程平台指神威·太湖之光的编程特点:MPE主核的编译器支持C,C++和Fortran3种编程语言,使用时需要引入“athread.h”头文件,CPEs从核上的编译器只支持C与Fortran两种编程语言,使用时需要引入“slave.h”头文件。3.根据权利要求1所述的一种基于超级计算机的流体机械仿真程序优化方法,其特征在于,在步骤2中,分块众核并行优化包括三个部分:1)基于空间限制、传输效率、映射限制、数据量限制四个条件的分块规则,空间限制指可配置为局部数据存储器LDM的从核便笺式存储器SPM空间只有64KB,即LDMsize≤60KB;传输效率限制指当传输数据主存地址为128B对界,且传输量为128B...

【专利技术属性】
技术研发人员:张兴军李靖波董小社周剑锋鲁晨欣邹年俊肖兮
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1