1.一种全局通信优化加速方法,其特征在于,所述方法包括:获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
2.根据权利要求1所述的方法,其特征在于,所述根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据,包括:获取并行计算系统中计算进程的数量;根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;其中网格数据划分的数量与所述计算进程的数量相等,每一个进程的局部网格数据不重叠。
3.根据权利要求1所述的方法,其特征在于,根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程,包括:根据所述局部网格数据,确定初始化参数,包括:系数矩阵,源向量,预条件矩阵,以及误差阈值;根据方程的边界条件及初始条件确定分量初始值;根据所述初始化参数和所述分量初始值,进行参数初始化;所述参数初始化,包括: , , , , ,其中, ;其中, 表示系数矩阵, 表示源向量, 表示预条件矩阵, 表示误差阈值, 表示分量初始值;计算矩阵向量乘: ,其中, ;启动异步全局通信 : ;等待 完成;本地计算 : ;计算矩阵向量乘 : ;启动异步全局通信 :计算 ;计算矩阵向量乘 : ;启动异步全局通信 : ;等待 完成;本地计算 : ;本地计算: ; ;等待 完成;判断误差 是否小于误差阈值 ,如果 ,继续迭代;如果 ,结束迭代,输出计算结果 。
4.根据权利要求1所述的方法,其特征在于,所述通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,包括:通过异步非阻塞式MPI全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播。
5.根据权利要求1所述的方法,其特征在于,所述在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果,包括:在一个进程的一个线程中,依次启动多个分量的所述计算流程,得到所述多分量数据的计算结果。
6.根据权利要求1所述的方法,其特征在于,所述获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据,包括:获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据和单个物理分量的单分量数据。
7.根据权利要求6所述的方法,其特征在于,所述在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果之后,包括:根据所述多分量数据的计算结果,求解所述单分量数据的计算结果。
8.一种全局通信优化加速装置,其特征在于,所述装置包括:网格数据获取模块,用于获取复杂流体模型的多分量微分方程对应的网格数据;所述多分量微分方程中包含待求解的多个物理分量的多分量数据;局部网格数据获取模块,用于根据并行计算系统中计算进程的数量,将所述网格数据进行划分,确定每个计算进程对应的局部网格数据;计算流程确定模块,用于根据所述局部网格数据,通过预条件共轭梯度算法确定所述多分量数据中每一个分量的计算流程;所述计算流程包括:通过全局规约通信将向量与向量乘法的局部向量乘结果聚合并向所有进程广播,本地独立计算和需要局部通信的矩阵与向量乘法计算;计算模块,用于在一个进程中,将每一个分量的所述计算流程并行进行,得到所述多分量数据的计算结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。