CN111930491A - 一种全局通信优化加速方法、装置和计算机设备 - Google Patents
一种全局通信优化加速方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111930491A CN111930491A CN202011046320.2A CN202011046320A CN111930491A CN 111930491 A CN111930491 A CN 111930491A CN 202011046320 A CN202011046320 A CN 202011046320A CN 111930491 A CN111930491 A CN 111930491A
- Authority
- CN
- China
- Prior art keywords
- component
- calculation
- local
- computing
- grid data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 218
- 238000004891 communication Methods 0.000 title claims abstract description 79
- 238000005457 optimization Methods 0.000 title claims abstract description 31
- 230000001133 acceleration Effects 0.000 title claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 113
- 239000012530 fluid Substances 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 239000013598 vector Substances 0.000 claims description 80
- 239000011159 matrix material Substances 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 230000000903 blocking effect Effects 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000011438 discrete method Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/13—Differential equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种全局通信优化加速方法、装置、计算机设备和存储介质。所述方法包括:在通过将复杂流体模型的多分量微分方程对应的网格数据划分后在多进程并行计算的基础上,在一个进程内,在同一迭代中对多分量进行并行同时求解,加快了计算过程;多分量之间的计算流程循环展开之后,通过异步全局规约操作对通信开销进行了隐藏,从而能够明显缩短计算时间,提高算法运行效率;另外,本方法可以方便地推广到任意维度的多分量方程求解,方程分量越多加速效果越显著;并且本方法是一种跨分量的迭代间优化方法,可以与现有的迭代内部优化技术叠加使用,可扩展性好。
Description
技术领域
本申请涉及计算流体力学并行优化技术领域,特别是涉及一种针对多分量微分方程并行求解的全局通信优化加速方法、装置、计算机设备和存储介质。
背景技术
随着高性能计算技术的发展,计算流体力学的适用领域和范围日趋广泛。航空航天、船舶、汽车工业以及高分子复合材料、食品、制药等领域都需要通过计算机辅助工程手段来研究流体的运动规律和控制方法。计算流体力学并行计算的核心是求解描述流体运动的一组微分方程,这些微分方程通常用于描述应用问题中的各种物理量。例如,压力用单分量的标量来描述,速度用3个分量的矢量来描述,而应力则需要9个分量的张量来描述。在计算机中求解这些方程首先需要通过特定的离散方法在空间和时间两个维度上将连续的微分方程转化为离散化形式。
本质上每个物理量的一个分量的方程可以通过基于网格的空间离散和时间离散转化为一个大型线性系统,而典型流体模拟应用中大部分的计算量就集中在对线性系统的求解过程中。目前主流的计算流体力学软件中均通过空间区域分解的方式在高性能计算机上进行并行计算,在大规模并行的情况下,为了得到与串行计算相同的结果,计算过程中需要不断地进行通信。以当前广泛采用的Krylov子空间迭代法为例,通常一个线性系统需要多次迭代才能得到满足精度要求的解,而每次迭代过程中都需要进行多次全局通信,这些全局通信已经成为当前流体并行模拟的最大瓶颈,严重限制了复杂工程案例在大规模并行计算机上的可扩展性和计算效率。
因此,现有的多分量微分方程并行求解的方法存在效率低、扩展性差的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决复杂流体模型中现有多分量微分方程并行求解方法效率低、扩展性差问题的全局通信优化加速方法、装置、计算机设备和存储介质。
一种全局通信优化加速方法,所述方法包括:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
在其中一个实施例中,还包括:获取并行计算系统中计算进程的数量;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
在其中一个实施例中,还包括:根据所述局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
在其中一个实施例中,还包括:通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
在其中一个实施例中,还包括:在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
在其中一个实施例中,还包括:获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据和单个物理分量的单分量数据。根据所述多分量数据的计算结果,求解所述单分量数据的计算结果。
一种全局通信优化加速装置,所述装置包括:
网格数据获取模块,用于获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
局部网格数据获取模块,用于根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
计算流程确定模块,用于根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
计算模块,用于在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
上述全局通信优化加速方法、装置、计算机设备和存储介质,在通过将复杂流体模型的多分量微分方程对应的网格数据划分后在多进程并行计算的基础上,在一个进程内,在同一迭代中对多分量进行并行同时求解,加快了计算过程;多分量之间的计算流程循环展开之后,通过异步全局规约操作对通信开销进行了隐藏,从而能够明显缩短计算时间,提高算法运行效率;另外,本方法可以方便地推广到任意维度的多分量方程求解,方程分量越多加速效果越显著;并且本方法是一种跨分量的迭代间优化方法,可以与现有的迭代内部优化技术叠加使用,可扩展性好。
附图说明
图1为一个实施例中全局通信优化加速方法的流程示意图;
图2为一个实施例中一个进程中多分量的计算过程并行展开的示意图;
图3为一个实施例中并行计算机系统的示意图;
图4为一个实施例中全局通信优化加速装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的全局通信优化加速方法,可以应用于如下应用环境中。通过特定的离散方法将复杂流体模型对应的多分量连续微分方程在空间和时间两个维度上转化为离散化形式后,得到多分量微分方程对应的网格数据,根据并行计算系统中计算进程的数量,将网格数据进行划分,确定每个计算进程对应的局部网格数据,根据局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程,在一个进程中,将每一个分量的所述计算流程并行进行,并且在计算流程中,通过全局规约操作对通信开销进行了隐藏,从而能够明显缩短计算时间,提高算法运行效率,本方法具有效率高,可扩展性好的优点。
在一个实施例中,如图1所示,提供了一种全局通信优化加速方法,包括以下步骤:
步骤102,获取复杂流体模型的多分量微分方程对应的网格数据。
其中,多分量微分方程中包含待求解的多个物理分量的多分量数据。
计算流体力学的任务是流体力学的数值模拟,计算流体力学并行计算的核心是求解描述流体运动的一组微分方程,在计算机中求解这些方程首先需要通过特定的离散方法在空间和时间两个维度上将连续的微分方程转化为离散化形式。网格的划分属于计算流体力学计算中的预处理部分,网格的生成是将计算域划分为较好的、不重叠的子域或网格,网格划分是计算流体力学中的关键技术之一,网格的数目决定了计算流体力学的计算精度,网格的细密程度决定了必须的计算机硬件和计算时间,最佳网格多是非均匀的:点对点之间变化快的区间网格较细,变化相对较慢的区间网格较粗。
步骤104,根据并行计算系统中计算进程的数量,将网格数据进行划分,确定每个计算进程对应的局部网格数据。
根据并行计算系统中计算进程的数量,将网格数据进行划分是将复杂流体模型对应的空间区域按处理器数量进行任务分解,构建由多个计算进程组成的并行计算系统,系统中所有进程需要并行协同计算,每个进程读取对应的局部网格数据。
步骤106,根据局部网格数据,通过预条件共轭梯度算法确定多分量数据中每一个分量的计算流程。
其中,计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算。
大型稀疏线性方程组的求解方法通常有直接法和迭代法两种。直接法是基于矩阵分解技术,以消去为基础,将线性方程组转化为等价的若干个易于计算的子问题依次进行求解,但对于复杂流体模型的大型线性方程组,直接法通常会面临计算量过大和内存占用过多的问题,因此通常采用迭代法对复杂流体模型的微分方程进行求解。迭代法采用逐次逼近的方法,一般使用迭代公式得到一系列近似解逐渐地逼近真实解,最终得到满足一定误差条件的近似解。迭代法中的预条件共轭梯度算法是通过预处理技术减少共轭梯度发的迭代次数,并能加速收敛的一种方法。
以预条件共轭梯度算法为基础的计算流程中需要通信的操作涉及两类计算:向量和向量乘法以及矩阵和向量乘法,其中向量与向量乘法得到一个标量,由于一个进程中的向量都是局部网格数据中的局部向量,为了实现多进程并行计算的计算结果和串行计算的计算结果一致,每个进程中局部向量与局部向量乘法得到的标量需要进行全局规约操作,通过全局规约操作将局部向量乘的结果进行聚合并向所有进程广播。本实施例中一个分量的计算中包含三次全局规约通信、两次本地独立计算和需要局部通信的矩阵与向量乘法计算。
步骤108,在一个进程中,将每一个分量的计算流程并行进行,得到多分量数据的计算结果。
传统算法中多分量方程的计算是依次串行进行的,即完成第一个分量之后,开始进行第二个分量的计算,以此类推。在本实施例中,由于每个分量的计算彼此没有依赖关系,将每一个分量的计算流程并行进行可以使得一个进程内所有分量的计算过程混合进行,通过异步全局通信和代码调度隐藏全局通信开销。
在一个具体实施例中,如图2所示,多分量微分方程中有3个待求解分量,分别为,,,一个分量的计算过程中包括三次全局规约通信和两次本地独立计算过程的交替进行,将三个分量的计算过程展开同时计算,具体计算过程如下:
上述全局通信优化加速方法中,在通过将复杂流体模型的多分量微分方程对应的网格数据划分后在多进程并行计算的基础上,在一个进程内,在同一迭代中对多分量进行并行同时求解,加快了计算过程;多分量之间的计算流程循环展开之后,通过异步全局规约操作对通信开销进行了隐藏,从而能够明显缩短计算时间,提高算法运行效率;另外,本方法可以方便地推广到任意维度的多分量方程求解,方程分量越多加速效果越显著;并且本方法是一种跨分量的迭代间优化方法,可以与现有的迭代内部优化技术叠加使用,可扩展性好。
在其中一个实施例中,还包括:获取并行计算系统中计算进程的数量;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
在其中一个实施例中,还包括:根据局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
在其中一个实施例中,还包括:通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
MPI全局规约通信是将当前进程中的计算结果聚合并向所有进程广播,通过异步非阻塞式MPI全局规约通信可以实现在一个分量的计算中执行全局规约通信时,不阻碍其他分量计算过程中的操作,包括通信和计算。通过这样的方式,使得算法不需要执行完一个分量的计算再执行下一个分量的计算,提高了算法的效率。
在其中一个实施例中,还包括:在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
多个分量的计算过程的启动可以是在一个线程中串行开始的,启动操作开销很小,对算法的效率影响极小。因此,可以在一个进程的一个线程中,依次启动多个分量的所述计算流程。
在其中一个实施例中,还包括:获取复杂流体模型的多分量微分方程对应的网格数据;多分量微分方程中包含待求解的多个物理分量的多分量数据和单个物理分量的单分量数据,根据多分量数据的计算结果,求解单分量数据的计算结果。
复杂流体模型的模拟模型中可能包含多分量微分方程和单分量微分方程,例如速度包含三个方向的分量,速度多分量微分方程的求解可以使用本方法中的优化加速方法,但压力只是标量,压力单分量微分方程无法用本方法中的优化加速方法,需要将速度分量的解代入压力的单分量微分方程,对压力值进行求解。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种全局通信优化加速装置,包括:网格数据获取模块、局部网格数据获取模块、计算流程确定模块和计算模块,其中:
网格数据获取模块402,用于获取复杂流体模型的多分量微分方程对应的网格数据。
局部网格数据获取模块404,用于根据并行计算系统中计算进程的数量,将网格数据进行划分,确定每个计算进程对应的局部网格数据。
计算流程确定模块406,用于根据局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程。
计算模块408,在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
局部网格数据获取模块404还用于获取并行计算系统中计算进程的数量;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
计算流程确定模块406还用于根据局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
计算流程确定模块406还用于通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
计算模块408还用于在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
计算模块408还用于根据多分量数据的计算结果,求解单分量数据的计算结果。
关于全局通信优化加速装置的具体限定可以参见上文中对于全局通信优化加速方法的限定,在此不再赘述。上述全局通信优化加速装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种全局通信优化加速方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种全局通信优化加速方法,其特征在于,所述方法包括:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
2.根据权利要求1所述的方法,其特征在于,所述根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据,包括:
获取并行计算系统中计算进程的数量;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
3.根据权利要求1所述的方法,其特征在于,根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程,包括:
根据所述局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
4.根据权利要求1所述的方法,其特征在于,所述通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,包括:
通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
5.根据权利要求1所述的方法,其特征在于,所述在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果,包括:
在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
6.根据权利要求1所述的方法,其特征在于,所述获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据,包括:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据和单个物理分量的单分量数据。
7.根据权利要求6所述的方法,其特征在于,所述在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果之后,包括:
根据所述多分量数据的计算结果,求解所述单分量数据的计算结果。
8.一种全局通信优化加速装置,其特征在于,所述装置包括:
网格数据获取模块,用于获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
局部网格数据获取模块,用于根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
计算流程确定模块,用于根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
计算模块,用于在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011046320.2A CN111930491B (zh) | 2020-09-29 | 2020-09-29 | 一种全局通信优化加速方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011046320.2A CN111930491B (zh) | 2020-09-29 | 2020-09-29 | 一种全局通信优化加速方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930491A true CN111930491A (zh) | 2020-11-13 |
CN111930491B CN111930491B (zh) | 2020-12-25 |
Family
ID=73335152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011046320.2A Active CN111930491B (zh) | 2020-09-29 | 2020-09-29 | 一种全局通信优化加速方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930491B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114677494A (zh) * | 2022-05-26 | 2022-06-28 | 中国人民解放军国防科技大学 | 基于剖分网格的雷达探测能力计算方法、装置及设备 |
CN117436370A (zh) * | 2023-12-06 | 2024-01-23 | 山东省计算中心(国家超级计算济南中心) | 面向流体力学网格生成的超定矩阵方程并行方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718291B1 (en) * | 1999-07-02 | 2004-04-06 | Vadim Shapiro | Mesh-free method and system for modeling and analysis |
US20050065989A1 (en) * | 2001-05-14 | 2005-03-24 | Hiroshi Akiba | Parallel infinite element method calculation system |
JP2011242818A (ja) * | 2010-04-21 | 2011-12-01 | Allied Engineering Corp | 並列有限要素計算システム |
CN104769593A (zh) * | 2012-10-31 | 2015-07-08 | 旭硝子株式会社 | 仿真装置、仿真方法以及程序 |
CN104933225A (zh) * | 2015-05-25 | 2015-09-23 | 中国科学院过程工程研究所 | 实现计算流体力学大规模实时模拟的方法 |
CN107085629A (zh) * | 2017-03-28 | 2017-08-22 | 华东师范大学 | 一种基于视频重建与欧拉模型耦合的流体仿真方法 |
-
2020
- 2020-09-29 CN CN202011046320.2A patent/CN111930491B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718291B1 (en) * | 1999-07-02 | 2004-04-06 | Vadim Shapiro | Mesh-free method and system for modeling and analysis |
US20050065989A1 (en) * | 2001-05-14 | 2005-03-24 | Hiroshi Akiba | Parallel infinite element method calculation system |
JP2011242818A (ja) * | 2010-04-21 | 2011-12-01 | Allied Engineering Corp | 並列有限要素計算システム |
CN104769593A (zh) * | 2012-10-31 | 2015-07-08 | 旭硝子株式会社 | 仿真装置、仿真方法以及程序 |
CN104933225A (zh) * | 2015-05-25 | 2015-09-23 | 中国科学院过程工程研究所 | 实现计算流体力学大规模实时模拟的方法 |
CN107085629A (zh) * | 2017-03-28 | 2017-08-22 | 华东师范大学 | 一种基于视频重建与欧拉模型耦合的流体仿真方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114677494A (zh) * | 2022-05-26 | 2022-06-28 | 中国人民解放军国防科技大学 | 基于剖分网格的雷达探测能力计算方法、装置及设备 |
CN114677494B (zh) * | 2022-05-26 | 2022-09-16 | 中国人民解放军国防科技大学 | 基于剖分网格的雷达探测能力计算方法、装置及设备 |
CN117436370A (zh) * | 2023-12-06 | 2024-01-23 | 山东省计算中心(国家超级计算济南中心) | 面向流体力学网格生成的超定矩阵方程并行方法及系统 |
CN117436370B (zh) * | 2023-12-06 | 2024-03-19 | 山东省计算中心(国家超级计算济南中心) | 面向流体力学网格生成的超定矩阵方程并行方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111930491B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Amsallem et al. | Fast local reduced basis updates for the efficient reduction of nonlinear systems with hyper-reduction | |
Yang et al. | Inexact block coordinate descent algorithms for nonsmooth nonconvex optimization | |
US5442569A (en) | Method and apparatus for system characterization and analysis using finite element methods | |
CN111930491B (zh) | 一种全局通信优化加速方法、装置和计算机设备 | |
CN113821878B (zh) | 一种改善高超声速气动热热流分布异常的计算方法和装置 | |
CN104933225B (zh) | 实现计算流体力学大规模实时模拟的方法 | |
CN113987691B (zh) | 激波失稳的高精度混合计算方法、装置、设备和存储介质 | |
CN111222240B (zh) | 利用gpu加速的热化学非平衡流场数据计算方法和装置 | |
CN109299531A (zh) | 电磁暂态仿真方法及装置 | |
Singler | Convergent snapshot algorithms for infinite-dimensional Lyapunov equations | |
CN112765871B (zh) | 一种基于曲线坐标的并行粒子追踪方法和装置 | |
Zhao et al. | An efficient transient analysis method for linear time-varying structures based on multi-level substructuring method | |
CN115630559B (zh) | 一种基于粒子网格适配算法的流固耦合方法以及装置 | |
Khimich et al. | Numerical study of the stability of composite materials on computers of hybrid architecture | |
CN109408864A (zh) | 加载弹性液舱的船舶时域全耦合运动预报方法和装置 | |
CN112989683A (zh) | 一种sph的向量化并行计算方法及装置 | |
CN113779498A (zh) | 离散傅里叶矩阵重构方法、装置、设备和存储介质 | |
Xiao et al. | Trade-offs between computation, communication, and synchronization in stencil-collective alternate update | |
JP2004348493A (ja) | 通信隠蔽型の並列高速フーリエ変換方法 | |
CN117436370B (zh) | 面向流体力学网格生成的超定矩阵方程并行方法及系统 | |
Ajmani et al. | Preconditioned implicit solvers for the Navier-Stokes equations on distributed-memory machines | |
Takhirov | Quad-SAV scheme for gradient systems | |
CN112287622B (zh) | 基于链接方向人工压缩的快速湍流数值模拟方法和装置 | |
Łoś et al. | Parallel space–time hp adaptive discretization scheme for parabolic problems | |
Kuźnik et al. | Grammar-Based Multi-Frontal Solver for One Dimensional Isogeometric Analysis with Multiple Right-Hand-Sides |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |