匹配于高性能计算机体系结构的结构网格数据管理方法_4

文档序号:8258175阅读:来源:国知局
何结点和几何边心。
[0080]通过上述本发明的实施例,结构网格被按网格层嵌套组织为网格片层次结构,并嵌套剖分为网格区、网格域、网格片和网格单元,分别匹配于高性能计算机的计算结点、结点内CPU、CPU计算核心和计算核心内指令集并行和长向量加速并行。相应地,结构网格上的物理量以网格片为单位分布存储到结点、分布共享存储到CPU或共享存储到CPU核的内存空间,可以大幅提升结构网格和物理量的存储与访问的数据局部性,支持应用软件面向高性能计算机复杂体系结构展开浮点性能优化,大幅提升计算效率。
[0081]作为本发明的其它实施例,不限定网格层、网格区、网格域和网格片的具体剖分算法和映射算法,可采用矩形剖分、递归对分、图剖分等多种方法将网格层剖分为网格区、将网格区剖分为网格域、将网格域剖分为网格片;采用直接编号、空间填充曲线等方法为网格区、网格域和网格片编号;采用直接映射、硬件拓扑感知的图映射等方法将网格区映射到计算结点、将网格域映射到CPU、将网格片映射到CPU核。
[0082]同时,本发明实施例也不限定物理量数据片的多维数组储存方式,可采用行主序、列主序等方式储存该多维数组。
[0083]另外,本发明实施例也不限定物理量数据片不能包含除物理量离散值以外的其他相关数据,可根据需要在数据片上储存其他相关数据。
[0084]在一些实施例中,使用结构网格上的二维欧拉流体力学计算作为上述分析的例证。程序使用移动网格方法求解二维结构网格上的欧拉方程,计算区域为左下角索引为(0,O),右上角索引范围为(4095,1023),运行10个时间步。程序使用单个CPU核心进行串行计算,计算区域包含一个网格层,被嵌套剖分为一个网格区、一个网格域和若干网格片,映射到一个计算结点的一块CPU的一个计算核心。采用传统的多维数组数据管理方法,计算结点上的物理量为一个多维数组,其计算时间为34.89秒,而采用本发明提出数据管理方法,依据Cache大小将计算结点上网格剖分为若干大小为(128,128)的网格片并以此为物理量分配并管理数据片,程序计算时间为14.68秒,由此可见本发明显著提升计算效率达 138%。
[0085]通过本发明上述的方法,面向基于结构网格的高性能数值模拟,通过六层嵌套不同粒度并行度的挖掘和支持,大幅提升结构网格和物理量的存储与访存的数据局部性,支持应用软件面向高性能计算机复杂体系结构展开浮点性能优化,大幅提升计算效率。
[0086]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于包括, 根据数值模拟对象确定结构网格和所述结构网格上的物理量,并将结构网格建模为由多个网格层构成的网格片层次结构; 将所述网格层剖分为互不重叠的若干个子网格,称这些子网格为网格区,为每个所述网格区赋予惟一的逻辑编号,将每个所述网格区映射到惟一的高性能计算机结点,将所述网格区分布存储在高性能计算机结点的内存空间;每个网格层剖分所得网格区数等于高性能计算机结点数; 将所述网格区剖分为互不重叠的若干个子网格,称这些子网格为网格域,为每个网格域在网格层中分配惟一的逻辑编号,将其映射到高性能计算机结点内惟一的CPU,所述网格域被分布共享存储在高性能计算机结点内不同CPU的内存空间;每个网格区剖分所得网格域数等于高性能计算机结点内CPU数; 将所述网格域剖分为互不重叠的若干个子网格,称这些子网格为网格片,为每个网格片在网格层中分配惟一的逻辑编号,将其映射到高性能计算机结点内CPU的惟一 CPU核,依据所述网格片对CPU核的映射,网格片被共享存储在高性能计算机结点内CPU的内存空间;每个网格域剖分所得网格片数不少于高性能计算机结点内每CPU核数; 在每个网格片上,为每个物理量在该网格片上分配唯一的内存空间,称该内存空间为数据片,用于储存该物理量定义在该网格片所有网格单元上的离散值。
2.根据权利要求1所述的匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于,所述网格片中包括至少一个数据片,所述数据片包括网格单元的坐标,以及物理量定义在该网格片所有网格单元上的离散值;还包括所述离散值在所述网格单元中的几何位置。
3.根据权利要求2所述的匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于,所述离散值根据所述几何位置不同,分为多种类型,包括,中心量、结点量、边心量、面心量、散乱量、外表面中心量、外表面结点量、外表面面心量。
4.根据权利要求3所述的匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于,不同物理量对应不同的数据片。
5.根据权利要求2所述的匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于,所述数据片还沿网格片的四周设置影像区,用于存储同一物理量从相邻网格片对应几何位置复制的物理量的离散值。
6.根据权利要求1所述的匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于,所述网格片包括网格单元的总数上限为,设置CPU的缓存(Cache)容量为网格片中数值计算依赖的所有数据片的内存容量的上限,选取网格片单元总数上限值,使之满足所在CPU分配到的所有网格片上的所有物理量的数据容量总和不超过该上限,选取所得结果的最大值作为所述网格片包含网格单元的总数上限。
7.根据权利要求1所述的匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于,所述网格片包括网格单元的总数上限为,选择不同的网格单元总数上限值,进行数值模拟计算,选取性能最优的网格单元总数作为所述网格片包括网格单元的总数上限。
8.根据权利要求1所述的匹配于高性能计算机体系结构的结构网格数据管理方法,其特征在于,所述结构网格上的物理量随着网格片被分布储存于高性能计算机结点间、分布共享储存于高性能计算机结点内CPU间、共享存储于高性能计算机结点内CPU内多处理器核间。
【专利摘要】本发明涉及并行计算技术领域,特别是关于匹配于高性能计算机体系结构的结构网格数据管理方法包括,根据数值模拟对象确定计算区域的结构网格和所述结构网格上的物理量;将结构网格嵌套剖分为网格区、网格域、网格片,分别编号,并映射于高性能计算机的计算结点、结点内CPU、CPU计算核心;在每个网格片上,为每个物理量在该网格片上分配唯一的内存空间,用于储存该物理量定义在该网格片所有网格单元上的离散值。通过本发明实施例的上述方法可以大幅提升结构网格和物理量的存储与访问的数据局部性,支持应用软件面向高性能计算机复杂体系结构展开浮点性能优化,大幅提升计算效率。
【IPC分类】G06F9-50
【公开号】CN104572295
【申请号】CN201410769018
【发明人】莫则尧, 张爱清, 曹小林, 徐小文, 郭红, 杨章
【申请人】北京应用物理与计算数学研究所
【公开日】2015年4月29日
【申请日】2014年12月12日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1