CN115907188A - 一种六角形堆芯moc并行计算的通信优化方法及系统 - Google Patents
一种六角形堆芯moc并行计算的通信优化方法及系统 Download PDFInfo
- Publication number
- CN115907188A CN115907188A CN202211555586.9A CN202211555586A CN115907188A CN 115907188 A CN115907188 A CN 115907188A CN 202211555586 A CN202211555586 A CN 202211555586A CN 115907188 A CN115907188 A CN 115907188A
- Authority
- CN
- China
- Prior art keywords
- hexagonal
- assemblies
- graph
- communication
- adjacent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请属于六角形堆芯计算技术领域,公开了一种六角形堆芯MOC并行计算的通信优化方法及系统。该方法通过对六角形堆芯进行几何预处理,得到所述六角形堆芯中所有六角形组件的进程编号;基于所述进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件;将所述邻边关系文件转化为图文件,将所述图文件输入到图划分程序中进行节点分布的划分,得到图划分结果;根据所述图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分。实现在各节点计算任务均匀分配的前提下使得通信任务尽可能在节点内进行,提升通信任务的并行效率。
Description
技术领域
本申请涉及六角形堆芯计算技术领域,尤其涉及一种六角形堆芯MOC并行计算的通信优化方法及系统。
背景技术
作为核反应堆系统分析计算的基础,反应堆物理分析通过求解中子输运方程,获得堆芯反应性和全堆精细功率分布。特征线方法(MOC)兼具计算精度高、几何适应性好、能够精确处理各向异性散射、可并行维度多等优点,是最具潜力的全堆中子输运计算方法。特征线方法将求解区域划分成细网格,每一个细网格只含一种材料,采用若干方向的致密特征线对被划分成细网格的求解区域进行射线追踪,求出特征射线与细网格的交点,并生成特征线段信息。通过反复特征线扫描和内外迭代,得到中子通量分布和keff。特征线方法计算精度高,同时对计算资源要求也高。受益于计算资源的快速增长,现代超级计算机一个节点通常具有数十至上百个计算核心,节点内内存共享,具有较高的通讯效率,利用空间区域分解和大规模并行计算,使用特征线方法对反应堆进行高保真模拟已经成为了可能。
六角形几何堆芯MOC程序的大规模MPI并行主要通过区域分解实现,并行过程中每个MPI进程负责处理一个六角形组件,不同六角形组件间通过角通量通信将计算耦合在一起,以此实现MPI多个进程并行,而不同进程间的通信任务具有很强的空间邻近分布特性,只有相邻六角形组件需要进行边界角通量的数据交换。现有的任务匹配技术依赖于超算平台自有的任务调度系统,即使已经做到了将MPI进程均匀分配到超算平台的各个节点上,由于六角形组件的编号策略以及MPI进程在节点上的随机分配的影响,难以考虑通信任务间的空间邻近通讯关系,具有较大的随机性,导致通讯效率较低,最终会有大量不必要的跨节点通信,从而增加通信时间。
发明内容
为此,本申请的实施例提供了一种六角形堆芯MOC并行计算的通信优化方法及系统,实现了将计算任务合理的分配到各计算节点,提高通讯效率。
第一方面,本申请提供一种六角形堆芯MOC并行计算的通信优化方法。
本申请是通过以下技术方案得以实现的:
一种六角形堆芯MOC并行计算的通信优化方法,所述方法包括:
对六角形堆芯进行几何预处理,得到所述六角形堆芯中所有六角形组件的进程编号;
基于所述进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件;
将所述邻边关系文件转化为图文件,将所述图文件输入到图划分程序中进行节点分布的划分,得到图划分结果;
根据所述图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分。
在本申请一较佳的示例中可以进一步设置为,所述根据所述图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分的步骤为:
根据图划分结果,将所述图划分结果中对应相同节点的六角形组件调度到同一节点进行数据交互。
在本申请一较佳的示例中可以进一步设置为,所述图划分程序为Metis图划分程序。
在本申请一较佳的示例中可以进一步设置为,所述对六角形堆芯进行几何预处理,得到所述六角形堆芯中所有六角形组件的进程编号的步骤包括:
建立笛卡尔坐标系下的坐标点与斜坐标系下的编号坐标的映射关系,将六角形堆芯在笛卡尔坐标系下的坐标点转换为斜坐标系下的编号坐标;
基于所述编号坐标,确定所述编号坐标对应的六角形组件;
按照预设顺序对六角形堆芯的六角形组件进行编号,得到所述六角形组件的进程编号,其中六角形组件的所述编号坐标与所述进程编号一一对应。
在本申请一较佳的示例中可以进一步设置为,所述建立笛卡尔坐标系下的坐标点与斜坐标系下的编号坐标的映射关系,将六角形堆芯在笛卡尔坐标系下的坐标点转换为斜坐标系下的编号坐标的步骤为:
将笛卡尔坐标系下的坐标点映射到斜坐标系下的编号坐标的计算公式为:
在本申请一较佳的示例中可以进一步设置为,所述基于所述进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件的步骤包括:
确定六角形堆芯中所有六角形组件对应的相邻六角形组件的进程编号,得到六角形组件的进程编号的分布情况;
将所述六角形组件的进程编号的分布情况抽象成拓扑结构,以六角形组件的计算任务为图划分的顶点,以相邻六角形组件的通信任务作为图划分的边,确定MPI通信区域对应关系,得到所有六角形组件的需要进行通信任务的相邻六角形组件的进程编号,分析各进程的通信任务,生成邻边关系文件。
在本申请一较佳的示例中可以进一步设置为,所述确定六角形堆芯中所有六角形组件对应的相邻六角形组件的进程编号,得到六角形组件的进程编号的分布情况的步骤还包括:
判断所述六角形组件的邻边是否存在相邻六角形组件,若所述六角形组件的邻边不存在相邻六角形组件时,则使用预设数值代替所述邻边对应的相邻六角形组件的进程编号。
第二方面,本申请提供一种六角形堆芯MOC并行计算的通信优化系统。
本申请是通过以下技术方案得以实现的:
一种六角形堆芯MOC并行计算的通信优化系统,所述系统包括:
预处理模块,用于对六角形堆芯进行几何预处理,得到所述六角形堆芯中所有六角形组件的进程编号;
分析模块,基于所述进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件;
节点划分模块,将所述邻边关系文件转化为图文件,将所述图文件输入到图划分程序中进行节点分布的划分,得到图划分结果;
通信划分模块,根据所述图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分。
第三方面,本申请提供一种计算机设备。
本申请是通过以下技术方案得以实现点的:
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一种六角形堆芯MOC并行计算的通信优化方法的步骤。
第四方面,本申请提供一种计算机可读存储介质。
本申请是通过以下技术方案得以实现的:
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种六角形堆芯MOC并行计算的通信优化方法的步骤。
综上所述,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:通过对六角形堆芯进行合适的几何预处理和进程编号,将计算任务分配问题合理抽象成图划分问题,借助现有图划分程序,得到高质量的任务跨节点的图划分结果;根据图划分结果,将进程任务调度到相应的节点上,在各节点计算任务均匀分配的前提下使得通信任务尽可能在节点内进行,以满足任务分配的负载均衡与通信最小,提升通信任务的并行效率。
附图说明
图1为本申请一示例性实施例提供的六角形堆芯MOC并行计算的通信优化方法的流程示意图;
图2为本申请一示例性实施例提供的笛卡尔坐标系和斜坐标系的示意图;
图3为本申请一示例性实施例提供的六角形堆芯的进程编号的示意图;
图4为本申请一示例性实施例提供的邻边六角形组件对应的进程编号的示意图;
图5为本申请一示例性实施例提供的六角形组件的邻边关系文件和图文件的示意图;
图6为本申请一示例性实施例提供的进程的跨节点分配情况的示意图;
图7为本申请一示例性实施例提供的基准测试题的堆芯和组件的示意图。
具体实施方式
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
下面结合说明书附图对本申请实施例作进一步详细描述。
在本申请的一个实施例中,提供一种六角形堆芯MOC并行计算的通信优化方法,如图1所示,主要步骤描述如下:
S10:对六角形堆芯进行几何预处理,得到上述六角形堆芯中所有六角形组件的进程编号。
六角形堆芯是由六角形组件组成的,要对六角形堆芯进行几何预处理,得到任意六角形组件的进程编号,便于后续基于进程编号进行任务划分。
优选的,建立笛卡尔坐标系下的坐标点与斜坐标系下的编号坐标的映射关系,将六角形堆芯在笛卡尔坐标系下的坐标点转换为斜坐标系下的编号坐标;
基于上述得到的编号坐标,确定编号坐标对应的六角形组件;
按照预设顺序对六角形堆芯的六角形组件进行编号,得到六角形组件的进程编号,其中六角形组件的编号坐标与进程编号一一对应。
优选的,将笛卡尔坐标系下的坐标点映射到斜坐标系下的编号坐标的计算公式为:
具体的,如图2所示,对于六角形堆芯,对其中的六角形组件进行几何预处理时,首先建立坐标映射关系,将任意点在笛卡尔坐标系下的坐标点(x,y)转化为斜坐标系下的(i1,i2)编号坐标。定义(i1,i2)斜坐标系,坐标轴夹角为2π/3,坐标的单位长度为p为六角形组件的中心距。坐标点(x,y)在(i1,i2)斜坐标系中的坐标计算公式为:
根据计算得到的(i1,i2)编号坐标,坐标点(x,y)可能位于(i1,i2)、(i1+1,i2)、(i1,i2+1)、(i1+1,i2+1)四个六角形组件中,需进一步计算坐标点(x,y)与上述四个六角形组件中心的距离,将计算得到的距离最小者则为坐标点(x,y)所在的六角形组件。
按照预设顺序对六角形堆芯中的六角形组件进行进程编号,具体的,选择六角形堆芯的最外层的最上方一个六角形组件作为起始六角形组件,按照顺时针方向依次递增,最外层编号完成后,由次外层的最上方的六角形组件开始,接续最外层的编号顺序,继续顺时针方向递增进行进程编号,直至得到所有六角形组件的进程编号。如图3所示,以三圈六角形组件构成的六角形堆芯的MPI进程编号图为例进行说明,最外层有12个六角形组件,中间层有6个六角形组件,最内层有1个六角形组件。以最外层的最上方的一个六角形组件作为起始六角形组件,进程编号为0,按照顺时针方向每个六角形组件的进程编号增加1,第二个六角形组件至第十二个六角形组件的进程编号依次为1至11;中间层的最上方的一个六角形组件接续最外层最后一个六角形组件的进程编号为12,同样按照顺时针方向每个六角形组件的进程编号增加1,第十四个六角形组件至第十八个六角形组件的进程编号分别为13至17;最内层的一个六角形组件的进程编号为18。同时六角形组件的进程编号与编号坐标一一对应。
S20:基于进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件。
具体的,六角形几何堆芯MOC程序的大规模MPI并行主要通过区域分解实现,并行中每个MPI进程负责处理一个六角形组件,不同六角形组件间通过角通量通信将计算耦合在一起,以此实现MPI多进程并行,而不同进程间的通信任务具有很强的空间邻近分布特性,只有相邻组件需要进行边界角通量的数据交换。因此要确定六角形组件需要进行通讯任务的相邻六角形组件的进程编号,需找出六角形组件的六个边对应的相邻六角形组件的进程编号。
优选的,确定六角形堆芯中所有六角形组件对应的相邻六角形组件的进程编号,得到六角形组件的进程编号的分布情况。
由于不同圈数下的六角形堆芯中,六角形组件的邻边对应关系不同。为了确定每个六角形组件六条边对应的相邻六角形组件的进程编号,本实施例中使用转换坐标系的方法,将六角形组件构成的六角形堆芯当成六角形栅格,首先确定六角形组件的进程编号对应的编号坐标(i1,i2),再利用该六角形组件的编号坐标确定对应边的相邻六角形组件的编号坐标,如图4所示,再根据相邻六角形组件的编号坐标确定该相邻六角形组件对应的进程编号。基于上述方法得到六角形堆芯中所有六角形组件的六条边对应的相邻六角形组件的进程编号,即六角形组件的进程编号的分布情况。确定六角形组件需要进程通讯任务的相邻六角形组件的进程编号,可以确保能够将进行通讯任务过程中的角通量数据准确发送给目标进程,提高通讯效率。
优选的,判断六角形组件的邻边是否存在相邻六角形组件,若六角形组件的邻边不存在相邻六角形组件时,则使用预设数值代替邻边对应的相邻六角形组件的进程编号。
具体的,在确定六角形组件的相邻六角形组件的进程编号的过程中,需判断该六角形组件的6条邻边是否都存在相邻六角形组件,例如当六角形组件为最外层的六角形组件时,可能存在部分邻边不存在相邻六角形组件,即该邻边没有对应的相邻六角形组件的进程编号,需要使用预设数值代替进程编号。在本实施例中,使用数值-1代表该邻边不存在相邻六角形组件。
将六角形组件的进程编号的分布情况抽象成拓扑结构,以六角形组件的计算任务为图划分的顶点,以相邻六角形组件的通信任务作为图划分的边,确定MPI通信区域对应关系,得到所有六角形组件的需要进行通信任务的相邻六角形组件的进程编号,分析各进程的通信任务,生成邻边关系文件。
具体的,在获得六角形组件的进程编号分布情况后,以六角形组件的计算任务作为图划分的顶点,以相邻六角形组件的通信任务作为图划分的边,将六角形组件的进程编号分布情况抽象成拓扑结构,找出MPI通信区域对应关系,得到任意一个六角形组件对应的进程以及其需要进行通讯的进程编号,分析各进程的通信任务,生成具有图结构信息的邻边关系文件edge file。
S30:将邻边关系文件转化为图文件,将图文件输入到图划分程序中进行节点分布的划分,得到图划分结果。
具体的,通过Python程序将邻边关系文件edge file进行处理,转化为Metis图划分程序所需的图文件graph file格式。如图5所示,为3圈19个六角形组件的邻边关系文件和对应的图文件,其中图5(a)为邻边关系文件edge file,邻边关系文件中第n行各数字表示与进程编号为n的六角形组件各个相邻六角形组件的进程编号,-1代表改变为堆芯边界,即该边不存在相邻六角形组件;图5(b)为图文件graph file,其中第一行数字表示顶点总数和边数;其余行表示顶点编号为n的顶点以及与其有通信的顶点编号。
同时,通过分析重复结构六角形堆芯的几何特征,发现指定进程编号情况下,进程编号与邻边六角形组件的关系仅和进程编号以及六角形堆芯圈数有关。考虑到六角形堆芯设计一般不会超过19圈,故通过预处理方式一次性生成3至19圈不同圈数六角形堆芯的进行编号以及相应的邻边关系文件,并生成程序接口,使得Python程序得以自动获取对应圈数的邻边关系文件,并生成图划分程序所需的图文件graph file。
优选的,图划分程序为Metis图划分程序。
需要进行说明的是,Metis图划分程序利用一种有效的图划分算法,其算法主要是基于多层次Recursive二分切分法、多层次Kway切分法以及多约束划分机制,将边-切edge-cut最小化作为目标,负载均衡作为约束条件,具有高质量的划分结果。比通常的谱聚类spectral clustering要精确10%-50%,具有较快的运行速度,比基础的划分算法运行速度提高1-2个数量级,即便是百万级顶点的图也可以几秒钟之内切分为256个类,满足图划分的需要。
Metis图划分程序支持多种图结构的划分,最基础的为无权图,默认每个顶点的计算权重以及与相邻顶点的通信权重值都为1,只需输入顶点编号以及与其有通信的顶点编号。在此基础上,可以引入不同顶点的计算负载权重和不同边的通信负载权重,以及增设多重约束条件。在本实施例中,由于算例的特点,各个进程的计算量以及相邻进程间数据交换量都相同,采用无权图格式。
将上述所需圈数的六角形堆芯对应的graph file图文件输入到Metis图划分程序,对进程在计算节点上的分布进行图划分优化,得到图划分结果。如图6所示,以6圈91个六角形组件(即91个进程)的六角形堆芯在6个节点上的划分为例进行说明,图6(a)为优化前的进程的跨节点分配情况,图6(b)为优化后的跨节点分配情况。图中六角形组件的不同颜色代表六角形组件对应的进程在不同节点上运行,故相同颜色的相邻进程在节点内进行数据交换,不同颜色的相邻进程间需进行跨节点数据交换。
针对六角形堆芯通信任务的空间邻近关系,面对大规模任务时存在的多节点并行情况,通过图划分将特征线计算任务合理地分配在不同的计算节点上,在各节点计算任务均匀分配的前提下使得通信任务尽可能在节点内进行,满足了通信任务分配的负载均衡和通信最小,提升了计算任务的并行效率。
S40:根据图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分。
优选的,根据图划分结果,将图划分结果中对应相同节点的六角形组件调度到同一节点进行数据交互,实现超算上的六角形堆芯大规模计算任务分配的负载均衡和通信最小。
本申请还提供一种六角形堆芯MOC并行计算的通信优化系统,该系统包括:预处理模块,分析模块,节点划分模块,通信划分模块;
其中,预处理模块,用于对六角形堆芯进行几何预处理,得到六角形堆芯中所有六角形组件的进程编号;
分析模块,基于进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件;
节点划分模块,将邻边关系文件转化为图文件,将图文件输入到图划分程序中进行节点分布的划分,得到图划分结果;
通信划分模块,根据图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分。
重复结构是核反应堆堆芯的常见几何排布模式,多种燃料棒依照一定空间排布模式构成组件,多个组件按一定模式构成堆芯。因此,选取1968群单组件作为基底,对其进行多圈拓展作为本实施例通信优化方法的测试基准题。
基准题内有共有两种材料,燃料和慢化剂,材料的宏观界面由RMC程序提供,堆芯采用全反射边界条件,以单六角形组件进行多圈重复构成。如图7所示,以两圈组件为例,堆芯结构由两圈共7个单单六角形组件构成,如图7(a)所示;单六角形组件由三圈大小两种规格共19个栅元组成。
以上述基准题为例,测量使用了两个平台,平台1是北京超算的T分区v6_384队列,使用Intel(R)Xeon(R)Platinum 9242CPU@2.30GHz CPU(单节点共96核);平台2是北京超算的T分区t2队列,使用Genuine Intel CPU 0000% CPU@2.20GHz CPU(单节点共48核)。优化后需要跨节点进行数据交换的进程数显著减少,跨节点数据交换量也随之减少。以19圈1027组件在平台1上的测试为例,优化前IB网络(超算平台跨节点高速通信网络)单节点平均通信总量为737.05MB,优化后降低至88.89MB,跨节点通讯量减少88%。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器。
该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述任意一种六角形堆芯MOC并行计算的通信优化方法。
在一个实施例中,提供一种计算机可读存储介质,包括存储器、处理器及存储在存储器上并可以在处理器上执行的计算机程序,处理器执行计算机程序以实现上述任意一种六角形堆芯MOC并行计算的通信优化方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)、DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将本申请所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
Claims (10)
1.一种六角形堆芯MOC并行计算的通信优化方法,其特征在于,所述方法包括:
对六角形堆芯进行几何预处理,得到所述六角形堆芯中所有六角形组件的进程编号;
基于所述进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件;
将所述邻边关系文件转化为图文件,将所述图文件输入到图划分程序中进行节点分布的划分,得到图划分结果;
根据所述图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分。
2.根据权利要求1所述的六角形堆芯MOC并行计算的通信优化方法,其特征在于,所述根据所述图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分的步骤为:
根据图划分结果,将所述图划分结果中对应相同节点的六角形组件调度到同一节点进行数据交互。
3.根据权利要求1所述的六角形堆芯MOC并行计算的通信优化方法,其特征在于,所述图划分程序为Metis图划分程序。
4.根据权利要求1所述的六角形堆芯MOC并行计算的通信优化方法,其特征在于,所述对六角形堆芯进行几何预处理,得到所述六角形堆芯中所有六角形组件的进程编号的步骤包括:
建立笛卡尔坐标系下的坐标点与斜坐标系下的编号坐标的映射关系,将六角形堆芯在笛卡尔坐标系下的坐标点转换为斜坐标系下的编号坐标;
基于所述编号坐标,确定所述编号坐标对应的六角形组件;
按照预设顺序对六角形堆芯的六角形组件进行编号,得到所述六角形组件的进程编号,其中六角形组件的所述编号坐标与所述进程编号一一对应。
6.根据权利要求1所述的六角形堆芯MOC并行计算的通信优化方法,其特征在于,所述基于所述进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件的步骤包括:
确定六角形堆芯中所有六角形组件对应的相邻六角形组件的进程编号,得到六角形组件的进程编号的分布情况;
将所述六角形组件的进程编号的分布情况抽象成拓扑结构,以六角形组件的计算任务为图划分的顶点,以相邻六角形组件的通信任务作为图划分的边,确定MPI通信区域对应关系,得到所有六角形组件的需要进行通信任务的相邻六角形组件的进程编号,分析各进程的通信任务,生成邻边关系文件。
7.根据权利要求6所述的六角形堆芯MOC并行计算的通信优化方法,其特征在于,所述确定六角形堆芯中所有六角形组件对应的相邻六角形组件的进程编号,得到六角形组件的进程编号的分布情况的步骤还包括:
判断所述六角形组件的邻边是否存在相邻六角形组件,若所述六角形组件的邻边不存在相邻六角形组件时,则使用预设数值代替所述邻边对应的相邻六角形组件的进程编号。
8.一种六角形堆芯MOC并行计算的通信优化系统,其特征在于,所述系统包括:
预处理模块,用于对六角形堆芯进行几何预处理,得到所述六角形堆芯中所有六角形组件的进程编号;
分析模块,基于所述进程编号,确定所有六角形组件的需要进行通讯任务的相邻六角形组件的进程编号,进行通信任务分析,生成邻边关系文件;
节点划分模块,将所述邻边关系文件转化为图文件,将所述图文件输入到图划分程序中进行节点分布的划分,得到图划分结果;
通信划分模块,根据所述图划分结果,对六角形堆芯的所有六角形组件的通讯任务进行节点划分。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现权利要求1至7任意一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211555586.9A CN115907188A (zh) | 2022-12-06 | 2022-12-06 | 一种六角形堆芯moc并行计算的通信优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211555586.9A CN115907188A (zh) | 2022-12-06 | 2022-12-06 | 一种六角形堆芯moc并行计算的通信优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115907188A true CN115907188A (zh) | 2023-04-04 |
Family
ID=86486698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211555586.9A Pending CN115907188A (zh) | 2022-12-06 | 2022-12-06 | 一种六角形堆芯moc并行计算的通信优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115907188A (zh) |
-
2022
- 2022-12-06 CN CN202211555586.9A patent/CN115907188A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khaleghzadeh et al. | A novel data-partitioning algorithm for performance optimization of data-parallel applications on heterogeneous HPC platforms | |
CN103399841A (zh) | 基于gpu的稀疏矩阵lu分解方法 | |
Suchoski et al. | Adapting sparse triangular solution to GPUs | |
Rustogi et al. | Parallel machine scheduling: Impact of adding extra machines | |
Schlag et al. | Scalable edge partitioning | |
Zhang et al. | An adaptive breadth-first search algorithm on integrated architectures | |
US20040093477A1 (en) | Scalable parallel processing on shared memory computers | |
Dufrechou et al. | A new GPU algorithm to compute a level set-based analysis for the parallel solution of sparse triangular systems | |
CN106844024B (zh) | 一种自学习运行时间预测模型的gpu/cpu调度方法及系统 | |
CN115907188A (zh) | 一种六角形堆芯moc并行计算的通信优化方法及系统 | |
Sohn et al. | A dynamic load balancing framework for unstructured adaptive computations on distributed-memory multiprocessors | |
Pilla et al. | Asymptotically optimal load balancing for hierarchical multi-core systems | |
Malhotra et al. | A methodology for formal expression of hierarchy in model solution | |
Wu et al. | Performance emulation of cell-based AMR cosmology simulations | |
CN113157806B (zh) | 网格数据分布式存储服务系统、方法、装置、设备及介质 | |
CN114861538A (zh) | 基于随机森林算法的后处理厂退役辐射场估算方法及系统 | |
CN112948115B (zh) | 一种基于极限学习机的云工作流调度器压力预测方法 | |
Hoffeins et al. | Examining the reproducibility of using dynamic loop scheduling techniques in scientific applications | |
Minyard et al. | Octree partitioning of hybrid grids for parallel adaptive viscous flow simulations | |
Dai et al. | Accelerating a ray launching model using GPU with CUDA | |
Wang et al. | Parallelization implementation of topographic viewpoint filtering algorithm based on terrain viewshed using MPI and OpenMP | |
Cao et al. | Decentralised hybrid workflow scheduling algorithm for minimum end-to-end delay in heterogeneous computing environment | |
Caniou et al. | Ocean-atmosphere modelization over the grid | |
Mohammed et al. | SimAS: A Simulation-assisted Approach for the Scheduling Algorithm Selection under Perturbations | |
US11386249B1 (en) | Systems and methods for distributed fracture simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |