CN111930491A - 一种全局通信优化加速方法、装置和计算机设备 - Google Patents

一种全局通信优化加速方法、装置和计算机设备 Download PDF

Info

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
Application number
CN202011046320.2A
Other languages
English (en)
Other versions
CN111930491B (zh
Inventor
杨灿群
郭晓威
李超
徐传福
吴诚堃
张翔
高翔
赵然
番丝江
刘毅
张森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202011046320.2A priority Critical patent/CN111930491B/zh
Publication of CN111930491A publication Critical patent/CN111930491A/zh
Application granted granted Critical
Publication of CN111930491B publication Critical patent/CN111930491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force 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子空间迭代法为例,通常一个线性系统需要多次迭代才能得到满足精度要求的解,而每次迭代过程中都需要进行多次全局通信,这些全局通信已经成为当前流体并行模拟的最大瓶颈,严重限制了复杂工程案例在大规模并行计算机上的可扩展性和计算效率。
因此,现有的多分量微分方程并行求解的方法存在效率低、扩展性差的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决复杂流体模型中现有多分量微分方程并行求解方法效率低、扩展性差问题的全局通信优化加速方法、装置、计算机设备和存储介质。
一种全局通信优化加速方法,所述方法包括:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
在其中一个实施例中,还包括:获取并行计算系统中计算进程的数量;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
在其中一个实施例中,还包括:根据所述局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
根据所述初始化参数和所述分量初始值,进行参数初始化;所述参数初始化,包括:
Figure 258705DEST_PATH_IMAGE001
Figure 486424DEST_PATH_IMAGE002
Figure 786955DEST_PATH_IMAGE003
Figure 682099DEST_PATH_IMAGE004
Figure 777094DEST_PATH_IMAGE005
,其中,
Figure 757688DEST_PATH_IMAGE006
;其中,
Figure 861911DEST_PATH_IMAGE007
表示系数矩阵,
Figure 486927DEST_PATH_IMAGE008
表示源向量,
Figure 877457DEST_PATH_IMAGE009
表示预条件矩阵,
Figure 220714DEST_PATH_IMAGE010
表示误差阈值,
Figure 863048DEST_PATH_IMAGE011
表示分量初始值;
计算矩阵向量乘:
Figure 732783DEST_PATH_IMAGE012
,其中,
Figure 169581DEST_PATH_IMAGE013
启动异步全局通信
Figure 134DEST_PATH_IMAGE014
Figure 305213DEST_PATH_IMAGE015
等待
Figure 639243DEST_PATH_IMAGE016
完成;
本地计算
Figure 637154DEST_PATH_IMAGE016
Figure 689424DEST_PATH_IMAGE017
计算矩阵向量乘
Figure 673561DEST_PATH_IMAGE018
Figure 517889DEST_PATH_IMAGE019
启动异步全局通信
Figure 296489DEST_PATH_IMAGE020
:计算
Figure 101634DEST_PATH_IMAGE021
计算矩阵向量乘
Figure 14095DEST_PATH_IMAGE022
Figure 588296DEST_PATH_IMAGE023
启动异步全局通信
Figure 537797DEST_PATH_IMAGE024
Figure 689293DEST_PATH_IMAGE025
等待
Figure 15232DEST_PATH_IMAGE026
完成;
本地计算
Figure 443939DEST_PATH_IMAGE027
Figure 688976DEST_PATH_IMAGE028
本地计算:
Figure 468713DEST_PATH_IMAGE029
Figure 457398DEST_PATH_IMAGE030
等待
Figure 740611DEST_PATH_IMAGE031
完成;
判断误差
Figure 563074DEST_PATH_IMAGE032
是否小于误差阈值
Figure 423583DEST_PATH_IMAGE033
,如果
Figure 356904DEST_PATH_IMAGE034
,继续迭代;如果
Figure 494624DEST_PATH_IMAGE035
,结束迭代,输出计算结果
Figure 487988DEST_PATH_IMAGE036
在其中一个实施例中,还包括:通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
在其中一个实施例中,还包括:在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
在其中一个实施例中,还包括:获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据和单个物理分量的单分量数据。根据所述多分量数据的计算结果,求解所述单分量数据的计算结果。
一种全局通信优化加速装置,所述装置包括:
网格数据获取模块,用于获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
局部网格数据获取模块,用于根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
计算流程确定模块,用于根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
计算模块,用于在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
上述全局通信优化加速方法、装置、计算机设备和存储介质,在通过将复杂流体模型的多分量微分方程对应的网格数据划分后在多进程并行计算的基础上,在一个进程内,在同一迭代中对多分量进行并行同时求解,加快了计算过程;多分量之间的计算流程循环展开之后,通过异步全局规约操作对通信开销进行了隐藏,从而能够明显缩短计算时间,提高算法运行效率;另外,本方法可以方便地推广到任意维度的多分量方程求解,方程分量越多加速效果越显著;并且本方法是一种跨分量的迭代间优化方法,可以与现有的迭代内部优化技术叠加使用,可扩展性好。
附图说明
图1为一个实施例中全局通信优化加速方法的流程示意图;
图2为一个实施例中一个进程中多分量的计算过程并行展开的示意图;
图3为一个实施例中并行计算机系统的示意图;
图4为一个实施例中全局通信优化加速装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的全局通信优化加速方法,可以应用于如下应用环境中。通过特定的离散方法将复杂流体模型对应的多分量连续微分方程在空间和时间两个维度上转化为离散化形式后,得到多分量微分方程对应的网格数据,根据并行计算系统中计算进程的数量,将网格数据进行划分,确定每个计算进程对应的局部网格数据,根据局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程,在一个进程中,将每一个分量的所述计算流程并行进行,并且在计算流程中,通过全局规约操作对通信开销进行了隐藏,从而能够明显缩短计算时间,提高算法运行效率,本方法具有效率高,可扩展性好的优点。
在一个实施例中,如图1所示,提供了一种全局通信优化加速方法,包括以下步骤:
步骤102,获取复杂流体模型的多分量微分方程对应的网格数据。
其中,多分量微分方程中包含待求解的多个物理分量的多分量数据。
计算流体力学的任务是流体力学的数值模拟,计算流体力学并行计算的核心是求解描述流体运动的一组微分方程,在计算机中求解这些方程首先需要通过特定的离散方法在空间和时间两个维度上将连续的微分方程转化为离散化形式。网格的划分属于计算流体力学计算中的预处理部分,网格的生成是将计算域划分为较好的、不重叠的子域或网格,网格划分是计算流体力学中的关键技术之一,网格的数目决定了计算流体力学的计算精度,网格的细密程度决定了必须的计算机硬件和计算时间,最佳网格多是非均匀的:点对点之间变化快的区间网格较细,变化相对较慢的区间网格较粗。
步骤104,根据并行计算系统中计算进程的数量,将网格数据进行划分,确定每个计算进程对应的局部网格数据。
根据并行计算系统中计算进程的数量,将网格数据进行划分是将复杂流体模型对应的空间区域按处理器数量进行任务分解,构建由多个计算进程组成的并行计算系统,系统中所有进程需要并行协同计算,每个进程读取对应的局部网格数据。
步骤106,根据局部网格数据,通过预条件共轭梯度算法确定多分量数据中每一个分量的计算流程。
其中,计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算。
大型稀疏线性方程组的求解方法通常有直接法和迭代法两种。直接法是基于矩阵分解技术,以消去为基础,将线性方程组转化为等价的若干个易于计算的子问题依次进行求解,但对于复杂流体模型的大型线性方程组,直接法通常会面临计算量过大和内存占用过多的问题,因此通常采用迭代法对复杂流体模型的微分方程进行求解。迭代法采用逐次逼近的方法,一般使用迭代公式得到一系列近似解逐渐地逼近真实解,最终得到满足一定误差条件的近似解。迭代法中的预条件共轭梯度算法是通过预处理技术减少共轭梯度发的迭代次数,并能加速收敛的一种方法。
以预条件共轭梯度算法为基础的计算流程中需要通信的操作涉及两类计算:向量和向量乘法以及矩阵和向量乘法,其中向量与向量乘法得到一个标量,由于一个进程中的向量都是局部网格数据中的局部向量,为了实现多进程并行计算的计算结果和串行计算的计算结果一致,每个进程中局部向量与局部向量乘法得到的标量需要进行全局规约操作,通过全局规约操作将局部向量乘的结果进行聚合并向所有进程广播。本实施例中一个分量的计算中包含三次全局规约通信、两次本地独立计算和需要局部通信的矩阵与向量乘法计算。
步骤108,在一个进程中,将每一个分量的计算流程并行进行,得到多分量数据的计算结果。
传统算法中多分量方程的计算是依次串行进行的,即完成第一个分量之后,开始进行第二个分量的计算,以此类推。在本实施例中,由于每个分量的计算彼此没有依赖关系,将每一个分量的计算流程并行进行可以使得一个进程内所有分量的计算过程混合进行,通过异步全局通信和代码调度隐藏全局通信开销。
在一个具体实施例中,如图2所示,多分量微分方程中有3个待求解分量,分别为
Figure 835792DEST_PATH_IMAGE037
Figure 307225DEST_PATH_IMAGE038
Figure 565031DEST_PATH_IMAGE039
,一个分量的计算过程中包括
Figure 853930DEST_PATH_IMAGE040
三次全局规约通信和
Figure 298818DEST_PATH_IMAGE041
两次本地独立计算过程的交替进行,将三个分量的计算过程展开同时计算,具体计算过程如下:
步骤201,读取三个分量的初始化参数,系数矩阵
Figure 573941DEST_PATH_IMAGE042
,源向量
Figure 76467DEST_PATH_IMAGE043
,预条件矩阵
Figure 880475DEST_PATH_IMAGE044
,以及误差阈值
Figure 343817DEST_PATH_IMAGE045
步骤202,根据方程的边界条件及初始条件初始化三个位置分量
Figure 281686DEST_PATH_IMAGE046
步骤203,根据初始化参数和分量初始值,进行参数初始化:
Figure 514084DEST_PATH_IMAGE047
Figure 488994DEST_PATH_IMAGE048
Figure 564266DEST_PATH_IMAGE049
Figure 915613DEST_PATH_IMAGE050
Figure 2517DEST_PATH_IMAGE051
,其中,
Figure 538541DEST_PATH_IMAGE052
步骤204,
Figure 710896DEST_PATH_IMAGE053
,其中,
Figure 865934DEST_PATH_IMAGE054
步骤205,启动异步全局通信
Figure 931979DEST_PATH_IMAGE055
Figure 248691DEST_PATH_IMAGE056
步骤206,启动异步全局通信
Figure 32976DEST_PATH_IMAGE057
Figure 991705DEST_PATH_IMAGE058
步骤207,启动异步全局通信
Figure 787623DEST_PATH_IMAGE059
Figure 931028DEST_PATH_IMAGE060
步骤208,等待
Figure 77976DEST_PATH_IMAGE061
完成;
步骤209,本地计算
Figure 309237DEST_PATH_IMAGE062
Figure 349874DEST_PATH_IMAGE063
步骤210,等待
Figure 539547DEST_PATH_IMAGE064
完成;
步骤211,本地计算
Figure 908211DEST_PATH_IMAGE065
Figure 333376DEST_PATH_IMAGE066
步骤212,等待
Figure 838307DEST_PATH_IMAGE067
完成;
步骤213,本地计算
Figure 198881DEST_PATH_IMAGE068
Figure 445055DEST_PATH_IMAGE069
步骤214,计算矩阵向量乘
Figure 283698DEST_PATH_IMAGE070
Figure 908714DEST_PATH_IMAGE071
步骤215,启动异步全局通信
Figure 564824DEST_PATH_IMAGE072
:计算
Figure 908080DEST_PATH_IMAGE073
步骤216,计算矩阵向量乘
Figure 815993DEST_PATH_IMAGE074
Figure 420150DEST_PATH_IMAGE075
步骤217,启动异步全局通信
Figure 122527DEST_PATH_IMAGE076
:计算
Figure 953080DEST_PATH_IMAGE077
步骤218,计算矩阵向量乘
Figure 133525DEST_PATH_IMAGE078
Figure 857768DEST_PATH_IMAGE079
步骤219,启动异步全局通信
Figure 731046DEST_PATH_IMAGE080
:计算
Figure 48894DEST_PATH_IMAGE081
步骤220,计算矩阵向量乘
Figure 157665DEST_PATH_IMAGE082
Figure 611780DEST_PATH_IMAGE083
步骤221,启动异步全局通信
Figure 655959DEST_PATH_IMAGE084
Figure 585738DEST_PATH_IMAGE085
步骤222,计算矩阵向量乘
Figure 107986DEST_PATH_IMAGE086
Figure 682187DEST_PATH_IMAGE087
步骤223,启动异步全局通信
Figure 21901DEST_PATH_IMAGE088
Figure 48763DEST_PATH_IMAGE089
步骤224,计算矩阵向量乘
Figure 374702DEST_PATH_IMAGE090
Figure 951481DEST_PATH_IMAGE091
步骤225,启动异步全局通信
Figure 71884DEST_PATH_IMAGE092
Figure 851621DEST_PATH_IMAGE093
步骤226,等待
Figure 105885DEST_PATH_IMAGE094
完成;
步骤227,本地计算
Figure 123519DEST_PATH_IMAGE095
Figure 945982DEST_PATH_IMAGE096
步骤228,等待
Figure 72070DEST_PATH_IMAGE097
完成;
步骤229,本地计算
Figure 739811DEST_PATH_IMAGE098
Figure 143111DEST_PATH_IMAGE099
步骤230,等待
Figure 995529DEST_PATH_IMAGE100
完成;
步骤231,本地计算
Figure 218700DEST_PATH_IMAGE101
Figure 690133DEST_PATH_IMAGE102
步骤232,本地计算:
Figure 72573DEST_PATH_IMAGE103
;其中,
Figure 705679DEST_PATH_IMAGE104
步骤233,
Figure 681726DEST_PATH_IMAGE105
步骤234,等待
Figure 81483DEST_PATH_IMAGE106
完成;其中,
Figure 928216DEST_PATH_IMAGE107
步骤235,判断误差
Figure 263383DEST_PATH_IMAGE108
是否小于误差阈值
Figure 320200DEST_PATH_IMAGE109
,如果
Figure 399015DEST_PATH_IMAGE110
,继续迭代;如果
Figure 631413DEST_PATH_IMAGE111
,结束迭代,输出计算结果
Figure 730956DEST_PATH_IMAGE112
上述全局通信优化加速方法中,在通过将复杂流体模型的多分量微分方程对应的网格数据划分后在多进程并行计算的基础上,在一个进程内,在同一迭代中对多分量进行并行同时求解,加快了计算过程;多分量之间的计算流程循环展开之后,通过异步全局规约操作对通信开销进行了隐藏,从而能够明显缩短计算时间,提高算法运行效率;另外,本方法可以方便地推广到任意维度的多分量方程求解,方程分量越多加速效果越显著;并且本方法是一种跨分量的迭代间优化方法,可以与现有的迭代内部优化技术叠加使用,可扩展性好。
在其中一个实施例中,还包括:获取并行计算系统中计算进程的数量;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
如图3所示,并行计算系统由n个进程组成,那么网格数据被划分成n份,分别记为
Figure 681594DEST_PATH_IMAGE113
,每个进程读取对应的数据,进程之间不共享数据,然后在并行计算系统中对多分量微分方程进行并行求解。
在其中一个实施例中,还包括:根据局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
根据所述初始化参数和所述分量初始值,进行参数初始化;所述参数初始化,包括:
Figure 298521DEST_PATH_IMAGE114
Figure 244480DEST_PATH_IMAGE115
Figure 655870DEST_PATH_IMAGE116
Figure 828225DEST_PATH_IMAGE117
Figure 373476DEST_PATH_IMAGE118
,其中,
Figure 49308DEST_PATH_IMAGE119
;其中,
Figure 897178DEST_PATH_IMAGE120
表示系数矩阵,
Figure 681463DEST_PATH_IMAGE121
表示源向量,
Figure 640192DEST_PATH_IMAGE122
表示预条件矩阵,
Figure 436110DEST_PATH_IMAGE123
表示误差阈值,
Figure 579515DEST_PATH_IMAGE124
表示分量初始值;
计算矩阵向量乘:
Figure 460883DEST_PATH_IMAGE125
,其中,
Figure 957724DEST_PATH_IMAGE126
启动异步全局通信
Figure 732782DEST_PATH_IMAGE127
Figure 922455DEST_PATH_IMAGE128
等待
Figure 556698DEST_PATH_IMAGE129
完成;
本地计算
Figure 716284DEST_PATH_IMAGE130
Figure 486794DEST_PATH_IMAGE131
计算矩阵向量乘
Figure 706423DEST_PATH_IMAGE132
Figure 562383DEST_PATH_IMAGE133
启动异步全局通信
Figure 401026DEST_PATH_IMAGE134
:计算
Figure 416256DEST_PATH_IMAGE135
计算矩阵向量乘
Figure 947731DEST_PATH_IMAGE136
Figure 290988DEST_PATH_IMAGE137
启动异步全局通信
Figure 933322DEST_PATH_IMAGE138
Figure 6320DEST_PATH_IMAGE139
等待
Figure 833331DEST_PATH_IMAGE140
完成;
本地计算
Figure 398304DEST_PATH_IMAGE141
Figure 844329DEST_PATH_IMAGE142
本地计算:
Figure 568572DEST_PATH_IMAGE143
Figure 441850DEST_PATH_IMAGE144
等待
Figure 353174DEST_PATH_IMAGE145
完成;
判断误差
Figure 602890DEST_PATH_IMAGE146
是否小于误差阈值
Figure 57005DEST_PATH_IMAGE147
,如果
Figure 225818DEST_PATH_IMAGE148
,继续迭代;如果
Figure 765384DEST_PATH_IMAGE149
,结束迭代,输出计算结果
Figure 287632DEST_PATH_IMAGE150
在其中一个实施例中,还包括:通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
MPI全局规约通信是将当前进程中的计算结果聚合并向所有进程广播,通过异步非阻塞式MPI全局规约通信可以实现在一个分量的计算中执行全局规约通信时,不阻碍其他分量计算过程中的操作,包括通信和计算。通过这样的方式,使得算法不需要执行完一个分量的计算再执行下一个分量的计算,提高了算法的效率。
在其中一个实施例中,还包括:在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
多个分量的计算过程的启动可以是在一个线程中串行开始的,启动操作开销很小,对算法的效率影响极小。因此,可以在一个进程的一个线程中,依次启动多个分量的所述计算流程。
在其中一个实施例中,还包括:获取复杂流体模型的多分量微分方程对应的网格数据;多分量微分方程中包含待求解的多个物理分量的多分量数据和单个物理分量的单分量数据,根据多分量数据的计算结果,求解单分量数据的计算结果。
复杂流体模型的模拟模型中可能包含多分量微分方程和单分量微分方程,例如速度包含
Figure 986466DEST_PATH_IMAGE151
三个方向的分量,速度多分量微分方程的求解可以使用本方法中的优化加速方法,但压力只是标量,压力单分量微分方程无法用本方法中的优化加速方法,需要将速度分量的解代入压力的单分量微分方程,对压力值进行求解。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种全局通信优化加速装置,包括:网格数据获取模块、局部网格数据获取模块、计算流程确定模块和计算模块,其中:
网格数据获取模块402,用于获取复杂流体模型的多分量微分方程对应的网格数据。
局部网格数据获取模块404,用于根据并行计算系统中计算进程的数量,将网格数据进行划分,确定每个计算进程对应的局部网格数据。
计算流程确定模块406,用于根据局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程。
计算模块408,在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
局部网格数据获取模块404还用于获取并行计算系统中计算进程的数量;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
计算流程确定模块406还用于根据局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
根据所述初始化参数和所述分量初始值,进行参数初始化;所述参数初始化,包括:
Figure 201547DEST_PATH_IMAGE152
Figure 228409DEST_PATH_IMAGE153
Figure 678982DEST_PATH_IMAGE154
Figure 373268DEST_PATH_IMAGE155
Figure 759250DEST_PATH_IMAGE156
,其中,
Figure 132463DEST_PATH_IMAGE157
;其中,
Figure 262093DEST_PATH_IMAGE158
表示系数矩阵,
Figure 810886DEST_PATH_IMAGE159
表示源向量,
Figure 367769DEST_PATH_IMAGE160
表示预条件矩阵,
Figure 228278DEST_PATH_IMAGE161
表示误差阈值,
Figure 896019DEST_PATH_IMAGE162
表示分量初始值;
计算矩阵向量乘:
Figure 423953DEST_PATH_IMAGE163
,其中,
Figure 151737DEST_PATH_IMAGE164
启动异步全局通信
Figure 640487DEST_PATH_IMAGE165
Figure 377499DEST_PATH_IMAGE166
等待
Figure 494360DEST_PATH_IMAGE167
完成;
本地计算
Figure 393046DEST_PATH_IMAGE168
Figure 369092DEST_PATH_IMAGE169
计算矩阵向量乘
Figure 503270DEST_PATH_IMAGE170
Figure 615583DEST_PATH_IMAGE171
启动异步全局通信
Figure 950749DEST_PATH_IMAGE172
:计算
Figure 273146DEST_PATH_IMAGE173
计算矩阵向量乘
Figure 86381DEST_PATH_IMAGE174
Figure 53200DEST_PATH_IMAGE175
启动异步全局通信
Figure 683902DEST_PATH_IMAGE176
Figure 103382DEST_PATH_IMAGE177
等待
Figure 720308DEST_PATH_IMAGE178
完成;
本地计算
Figure 931846DEST_PATH_IMAGE179
Figure 608815DEST_PATH_IMAGE180
本地计算:
Figure 515591DEST_PATH_IMAGE181
Figure 60842DEST_PATH_IMAGE182
等待
Figure 2253DEST_PATH_IMAGE183
完成;
判断误差
Figure 850124DEST_PATH_IMAGE184
是否小于误差阈值
Figure 431147DEST_PATH_IMAGE123
,如果
Figure 389875DEST_PATH_IMAGE185
,继续迭代;如果
Figure 451372DEST_PATH_IMAGE186
,结束迭代,输出计算结果
Figure 63619DEST_PATH_IMAGE187
计算流程确定模块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所述的方法,其特征在于,根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程,包括:
根据所述局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;
根据方程的边界条件及初始条件确定分量初始值;
根据所述初始化参数和所述分量初始值,进行参数初始化;所述参数初始化,包括:
Figure 389507DEST_PATH_IMAGE001
Figure 572227DEST_PATH_IMAGE002
Figure 679860DEST_PATH_IMAGE003
Figure 340649DEST_PATH_IMAGE004
Figure 623863DEST_PATH_IMAGE005
,其中,
Figure 797659DEST_PATH_IMAGE006
;其中,
Figure 533534DEST_PATH_IMAGE007
表示系数矩阵,
Figure 998013DEST_PATH_IMAGE008
表示源向量,
Figure 994788DEST_PATH_IMAGE009
表示预条件矩阵,
Figure 456993DEST_PATH_IMAGE010
表示误差阈值,
Figure 476902DEST_PATH_IMAGE011
表示分量初始值;
计算矩阵向量乘:
Figure 541810DEST_PATH_IMAGE012
,其中,
Figure 330774DEST_PATH_IMAGE013
启动异步全局通信
Figure 963881DEST_PATH_IMAGE014
Figure 798982DEST_PATH_IMAGE015
等待
Figure 339684DEST_PATH_IMAGE016
完成;
本地计算
Figure 186418DEST_PATH_IMAGE017
Figure 115059DEST_PATH_IMAGE018
计算矩阵向量乘
Figure 109560DEST_PATH_IMAGE019
Figure 391637DEST_PATH_IMAGE020
启动异步全局通信
Figure 155194DEST_PATH_IMAGE021
:计算
Figure 520316DEST_PATH_IMAGE022
计算矩阵向量乘
Figure 674217DEST_PATH_IMAGE023
Figure 822301DEST_PATH_IMAGE024
启动异步全局通信
Figure 768261DEST_PATH_IMAGE025
Figure 914071DEST_PATH_IMAGE026
等待
Figure 945481DEST_PATH_IMAGE027
完成;
本地计算
Figure 631677DEST_PATH_IMAGE028
Figure 573089DEST_PATH_IMAGE029
本地计算:
Figure 14434DEST_PATH_IMAGE030
Figure 205244DEST_PATH_IMAGE031
等待
Figure 632814DEST_PATH_IMAGE032
完成;
判断误差
Figure 959891DEST_PATH_IMAGE033
是否小于误差阈值
Figure 837717DEST_PATH_IMAGE034
,如果
Figure 453506DEST_PATH_IMAGE035
,继续迭代;如果
Figure 747084DEST_PATH_IMAGE036
,结束迭代,输出计算结果
Figure 256563DEST_PATH_IMAGE037
4.根据权利要求1所述的方法,其特征在于,所述通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,包括:
通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
5.根据权利要求1所述的方法,其特征在于,所述在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果,包括:
在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
6.根据权利要求1所述的方法,其特征在于,所述获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据,包括:
获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据和单个物理分量的单分量数据。
7.根据权利要求6所述的方法,其特征在于,所述在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果之后,包括:
根据所述多分量数据的计算结果,求解所述单分量数据的计算结果。
8.一种全局通信优化加速装置,其特征在于,所述装置包括:
网格数据获取模块,用于获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;
局部网格数据获取模块,用于根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;
计算流程确定模块,用于根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;
计算模块,用于在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202011046320.2A 2020-09-29 2020-09-29 一种全局通信优化加速方法、装置和计算机设备 Active CN111930491B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 华东师范大学 一种基于视频重建与欧拉模型耦合的流体仿真方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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