一种并行计算中的核心分配方法及装置制造方法及图纸

技术编号:38006669 阅读:14 留言:0更新日期:2023-06-30 10:23
本申请提供了一种并行计算中的核心分配方法及装置,其中,该方法包括:获取显式动力学仿真的网格信息及每个约束条件,所述网格信息包括每个约束条件涉及的网格和其他网格,所述其他网格指的是所述约束条件不涉及的网格;依据所述每个约束条件的类型,确定所述显式动力学仿真的所有网格对应的目标加权图;将所述目标加权图传输至图划分软件包,以使所述图划分软件包将所述每个约束条件涉及的网格和其他网格分配至对应核心。本申请解决了现有技术中将约束条件涉及的网格分配至每个核心的随机性而导致并行仿真效率低的技术问题,达到了提高并行仿真效率的技术效果。高并行仿真效率的技术效果。高并行仿真效率的技术效果。

【技术实现步骤摘要】
一种并行计算中的核心分配方法及装置


[0001]本申请涉及显式动力学仿真
,尤其涉及一种并行计算中的核心分配方法及装置。

技术介绍

[0002]显式动力学仿真应用在汽车及飞行器碰撞分析、制造冲压分析、土木工程中的爆炸分析、电子原件器械跌落分析、弹道水下冲击分析等应用场景中。与隐式动力学相比,显式动力学在大变形、复杂接触、材料非线性的场景下更具优势,同时显式动力学鲁棒性也更高。当面对大型仿真问题时,主要通过多核心使用信息传递接口进行数据交换的方式来实现并行执行显式动力学仿真。
[0003]在进行显式动力学的并行计算中,现有做法是:首先读入待仿真问题的几何信息。几何信息由网格和网格之间的连接组成,如果两个网格物理上相连则两个网格之间存在连接。
[0004]并行计算需要将所有网格分配给不同的计算核心,每个计算核心负责分得的网格上的计算,通常每个网格上的计算往往需要与其相连的网格上的信息,如果此网格处于其它计算核心上,则需要进行计算核心间的信息通讯。于是为了使得并行计算的效率最高,网格分配主要有两个目标:目标一是,保障每个计算核心分得的网格数尽量平均,这样才能保证每个计算核心的计算量大体相同;目标二是,使得处于计算核心与计算核心边界上的网格连接数量尽量少,这是因为连接数量可以近似代表进行并行计算时需要的通讯量,所以为了减少通讯量提高并行效率,需要保障尽量少的计算核心之间的网格连接。
[0005]网格分配首先将网格转换为加权图,如图1所示,图1为本申请实施例提供的原加权图的示意图,图1是一个四宫格的网格对应的加权图。现有技术中每个网格对应加权图中的一个顶点,两个顶点之间的边就是加权图中的边,一般加权图中默认将每个顶点的权重和每个边的权重均设置为1。之后将计算核心总数和加权图输入图划分程序包,例如,metis,scotch等。图划分程序包可以将加权图划分为多个子图,并将每个子图分配给对应的计算核心,保证每个计算核心得到的子图上的顶点权重和尽量一致,以及子图与子图之间的边的权重和尽量少。若计算核心总数为2,图划分程序包将加权图划分为子图一和子图二。如图1所示,通过图1的虚线划分成子图一和子图二。子图一对应顶点A与顶点B,子图二对应顶点C和顶点D。子图一和子图二之间的边权重为顶点A对应网格与顶点B对应网格之间的边的权重、顶点C对应网格和顶点D对应网格之间的边的权重、顶点C对应网格和顶点B对应网格之间的边的权重。之后按照子图的顶点将对应的网格分配到相应的计算核心即可,这样就能满足上述的网格分配目标。
[0006]然而此现有做法在应对约束较多的显式动力学仿真时,得到的并行计算效率较低。这是因为几乎每个约束条件的计算过程中都需要对涉及的网格数据进行规约操作(例如计算平均应力和平均位移等)。对应的,在并行计算时就是多计算核心间的全规约(AllReduce)操作。因为上述网格分配过程对约束涉及的网格的分配,没有特殊对待,具有
随机性,可能使得约束涉及的网格分散在各个计算核心中。现有做法让所有计算核心都参与全规约操作,即通讯域为整体通讯域包含所有的计算核心,以保证涵盖约束涉及的全部网格。
[0007]然而,整体通讯域的全规约相当于给所有核心设置了一个阻塞,只有当所有核心都抵达该阻塞点时,才能继续向下运行,从而增加了每个核心的等待时间,继而降低了仿真效率。同时,整体通讯域的全规约操作本身非常耗时,这是由于其包含的消息传递次数较多,且核心间的通讯速度通常远低于计算速度,尤其当核心数目非常多时,整体通讯域的全规约操作耗时将较长,从而导致了在约束条件较多的情况下,显式动力学仿真的并行执行效率低。

技术实现思路

[0008]为了提高显式动力学仿真的并行执行效率,申请人发现任意一个约束需要进行的全规约操作只需要含有该约束涉及的网格的计算核心参与,而其它的计算核心可以进行自己的运算而不受影响,于是可以通过构建局部通讯子来替代全域通讯子来提高效率,该通讯子由含有该约束涉及的网格的计算核心组成。此时全规约操作将限定于局部通讯子中,由于该通讯子比全域通讯子小,所以通讯时间得以减少。同时局部通讯子外的计算核心不受该通讯子的阻塞影响,可以进行自己的运算,以提高效率。由此看来如果该局部通讯子包含的计算核心越少则获得的效率提升越大,即约束涉及的网格分配到数量越少的计算核心上,则效率越高。最极限的情况下,如果某个约束所涉及的网格分配到同一个计算核心,则可以避免该约束计算中的全规约操作,不需要进行通讯。而现有的网格分配方法不会特殊处理约束涉及的网格,从而使得对约束涉及的网格的分配具有随机性,最坏的情况下将使得每个约束涉及的网格分布在所有的计算核心上,从而导致较差的并行计算效率。有鉴于此,本申请的目的在于提供一种并行计算中的核心分配方法及装置,在尽量保证网格分配目标一和目标二的情况下,使得每个约束涉及的网格分配到尽量少的计算核心上。对于涉及网格数量较少的约束类型,本申请将相关网格分配到同一核心,从而消除全规约通讯,对于涉及网格数量较大的约束类型,如果把相关网格分配到同一核心,会使得该核心的网格数巨大,从而破坏上述网格分配的目标一,于是本申请将相关网格尽量分配至较少的核心上。
[0009]本申请通过将显式动力学仿真涉及的网格依据是否为约束条件涉及的网格而进行分类,同时根据约束条件的类型对原有加权图进行处理生成新的加权图,再由图划分软件对新加权图进行划分,之后根据新加权图的划分结果得到对应的网格划分,然后如果此时某个约束涉及的所有网格处于同一计算核心上,则该约束的计算不再需要全规约操作,对于其他情况,根据该约束涉及的网格所处的计算核心生成局部通讯子,在并行计算时使用该新生成的局部通讯子来替代现有方法中的全域通讯子。解决了现有技术中分配约束条件涉及的网格的随机性而导致的并行仿真效率低的技术问题,达到了提高并行仿真效率的技术效果。
[0010]本申请主要包括以下几个方面:第一方面,本申请实施例提供一种并行计算中的核心分配方法,所述并行计算中的核心分配方法包括:获取显式动力学仿真的网格信息及每个约束条件,所述网格信息包
含每个约束条件涉及的网格和其他网格,所述其他网格指的是所述约束条件不涉及的网格;依据所述每个约束条件的类型,确定所述显式动力学仿真的所有网格对应的目标加权图;将所述目标加权图传输至图划分软件包,以使所述图划分软件包将所述每个约束条件涉及的网格和其他网格分配至对应核心。
[0011]可选地,所述约束条件的类型包括:第一约束条件和第二约束条件;所述依据所述每个约束条件的类型,确定所述显式动力学仿真的所有网格对应的目标加权图,包括:确定所述显式动力学仿真的网格信息对应的原加权图;所述原加权图包含所述网格信息中每个网格对应的一个原顶点的顶点权重及该网格对应的原边的边权重;确定所述显式动力学仿真的所有约束条件中的每个第一约束条件和/或每个第二约束条件在所述原加权图中对应的原顶点及所述顶点对应的原边;基于每个第一约束条件涉及的原顶点及所述原顶点涉及的原边,确定每个第一约束条件对应的一个第一目标顶点的顶点权重及所述第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并行计算中的核心分配方法,其特征在于,所述方法包括:获取显式动力学仿真的网格信息及每个约束条件,所述网格信息包括每个约束条件涉及的网格和其他网格,所述其他网格指的是所述约束条件不涉及的网格;依据所述每个约束条件的类型,确定所述显式动力学仿真的所有网格对应的目标加权图;将所述目标加权图传输至图划分软件包,以使所述图划分软件包将所述每个约束条件涉及的网格和其他网格分配至对应核心。2.根据权利要求1所述的方法,其特征在于,所述约束条件的类型包括:第一约束条件和第二约束条件;所述依据所述每个约束条件的类型,确定所述显式动力学仿真的所有网格对应的目标加权图,包括:确定所述显式动力学仿真的网格信息对应的原加权图;所述原加权图包含所述网格信息中每个网格对应的一个原顶点的顶点权重及该网格对应的原边的边权重;确定所述显式动力学仿真的所有约束条件中的每个第一约束条件和/或每个第二约束条件在所述原加权图中对应的原顶点及所述顶点对应的原边;基于每个第一约束条件涉及的原顶点及所述原顶点涉及的原边,确定每个第一约束条件对应的一个第一目标顶点的顶点权重及所述第一目标顶点对应的边的边权重,和/或,基于每个第二约束条件涉及的每个原顶点及所述每个原顶点之间两个原顶点之间的原边,确定每个第二约束条件对应的每个第二目标顶点的顶点权重及所述每个第二目标顶点之间两个第二目标顶点之间的边的边权重;基于每个第一约束条件对应的第一目标顶点的顶点权重及所述第一目标顶点对应的边的边权重,和/或,每个第二约束条件对应的第二目标顶点的顶点权重及所述第二目标顶点对应的边的边权重,以及在所述原加权图中除每个第一约束条件和/或每个第二约束条件对应的原顶点之外的其他原顶点及所述其他原顶点之间的边,构建所述目标加权图。3.根据权利要求2所述的方法,其特征在于,所述基于每个第一约束条件涉及的原顶点及所述原顶点涉及的原边,确定每个第一约束条件对应的第一目标顶点的顶点权重及所述第一目标顶点对应的边的边权重,包括:针对每个第一约束条件,将该第一约束条件涉及的原顶点合并为一个第一目标顶点,将该第一约束条件涉及的原顶点的顶点权重相加,作为该第一约束条件对应的一个第一目标顶点的顶点权重;确定与该第一约束条件涉及的原顶点之间存在原边的至少一个其他原顶点;将每个其他原顶点与该第一约束条件涉及的原顶点之间...

【专利技术属性】
技术研发人员:吴蕴超
申请(专利权)人:北京云道智造科技有限公司
类型:发明
国别省市:

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

1