一种数值应用程序的软件模块集成系统及运行方法转让专利

申请号 : CN202010037868.4

文献号 : CN111258674B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘利

申请人 : 清华大学

摘要 :

本发明提供一种数值应用程序的软件模块集成系统及运行方法,该系统包括:外部过程资源管理模块,用于外部过程的程序到动态链接库的编译;外部过程运行驱动管理模块,用于使数值应用程序能调用外部过程;外部过程参数信息管理模块,用于使外部过程能获取数值应用程序的信息;外部过程线程级并行管理模块,用于将多个外部过程组合为具有程序流程的外部过程包,并实现不同外部过程间的线程级并行;外部过程数据交换管理模块,用于数值应用程序与外部过程间数据导入与导出的操作;外部过程集成应用程序接口模块;外部过程集成配置文件接口模块。通过建立具有不同数据结构的外部过程的统一集成框架,实现不同外部过程间的线程级并行。

权利要求 :

1.一种数值应用程序的软件模块集成系统,所述软件模块为所述数值应用程序的外部过程,其特征在于,所述外部过程的用于存储变量的数据结构有多种,所述数值应用程序的软件模块集成系统,包括:外部过程资源管理模块,用于外部过程的程序到动态链接库的编译;

外部过程运行驱动管理模块,用于使数值应用程序能调用外部过程;

外部过程参数信息管理模块,用于使外部过程能获取数值应用程序的信息;

外部过程线程级并行管理模块,用于将多个外部过程组合为具有程序流程的外部过程包,并实现不同外部过程间的线程级并行;

外部过程数据交换管理模块,用于数值应用程序与外部过程间数据导入与导出的操作;

外部过程集成应用程序接口模块,用于提供用于外部过程集成的应用程序接口;以及外部过程集成配置文件接口模块,用于制定构建外部过程配置信息的文件格式。

2.根据权利要求1所述的数值应用程序的软件模块集成系统,其特征在于,所述动态链接库包括一个或多个外部过程。

3.根据权利要求1所述的数值应用程序的软件模块集成系统,其特征在于,所述外部过程运行驱动管理模块,还用于:将外部过程的运行分为启动阶段、执行阶段、结束阶段;

在所述启动阶段,使数值应用程序加载所述外部过程所在的动态链接库并调用所述外部过程的启动驱动函数;

在所述执行阶段,调用所述外部过程的执行驱动函数;

在所述结束阶段,调用所述外部过程的结束驱动函数。

4.根据权利要求1所述的数值应用程序的软件模块集成系统,其特征在于,所述数值应用程序的信息,包括:所述数值应用程序所使用的MPI进程、网格、并行剖分、计时器、控制变量以及与外部过程对接的对接变量。

5.根据权利要求1所述的数值应用程序的软件模块集成系统,其特征在于,所述外部过程参数信息管理模块,还用于:使外部过程在启动时动态声明外部过程的输入变量与输出变量,并使得所述外部过程的任一输入变量或任一输出变量能够使用外部过程的存储空间或共享数值应用程序相应的对接变量的存储空间。

6.根据权利要求1所述的数值应用程序的软件模块集成系统,其特征在于,所述外部过程线程级并行管理模块在实现不同外部过程间的线程级并行时,同时并行运行不同外部过程的线程数相同或不同。

7.根据权利要求1所述的数值应用程序的软件模块集成系统,所述用于外部过程集成的应用程序接口,包括:数值应用程序启动、执行与结束外部过程的应用程序接口,外部过程获取数值应用程序的信息的应用程序接口,以及外部过程声明输入变量与输出变量的接口。

8.根据权利要求1所述的数值应用程序的软件模块集成系统,所述外部过程数据交换管理模块,还用于:自动检测数值应用程序与外部过程间需要导入和导出的数据,自动完成数据导入或导出过程中所需的操作。

9.根据权利要求8所述的数值应用程序的软件模块集成系统,所述数据导入或导出过程中所需的操作,包括:MPI进程间的数据通信、不同网格间的数据插值、同一MPI进程内的数据拷贝、根据网格维度顺序变换的数据转置操作。

10.一种数值应用程序的运行方法,其特征在于,基于权利要求1至9中任一项所述的数值应用程序的软件模块集成系统实现,所述方法包括:数值应用程序调用外部过程的启动驱动函数、执行驱动函数与结束驱动函数,以完成外部过程的启动、执行与结束;

数值应用程序调用应用程序接口时,根据配置文件,加载相应的外部过程的动态链接库;

数值应用程序启动外部过程,自动实现不同外部过程间的线程级并行运行;

自动检查数值应用程序启动外部过程时提供的对接变量是否完全覆盖外部过程声明的输入变量和输出变量;

自动执行数值应用程序与外部过程间的数据导入与导出操作。

说明书 :

一种数值应用程序的软件模块集成系统及运行方法

技术领域

[0001] 本发明涉及软件模块集成技术领域,具体涉及一种数值应用程序的软件模块集成系统及运行方法。

背景技术

[0002] 地球系统模式是气候演变规律研究、未来气候预测和无缝隙数值预报等所不可或缺的数值应用程序,由分别模拟大气、陆面、海洋和海冰等地球系统圈层的分量模式构成。经过近几十年的努力,地球系统模式得到了不断进步,其程序量已突破了百万行,这使得地球系统模式的发展,不仅涉及到如何理解与求解各圈层内部及圈层之间的各种机理与机制等科学问题,还涉及到如何进行程序开发、软件测试与软件模块集成的技术与工程问题。位于地球系统模式架构中心位置的耦合器,是支撑地球系统模式软件模块化集成的一个关键基础平台,其连接着多个分量模式以构成地球系统模式,在科学上通过分量模式间的通量交换来实现圈层间的相互作用,在技术上实现各分量模式之间的链接,协调各分量模式的并行计算,并控制着整个地球系统模式的积分。已有耦合器主要包括法国的OASIS,美国的MCT、FMS、ESMF、CPL,中国的C-Coupler。
[0003] 耦合器主要负责分量模式到耦合模式的模块化集成。随着科学与技术的快速发展,人类所关注甚至已厘清的机理与机制越来越多,各分量模式的程序也变得更加复杂,例如有些大气模式内物理过程的代码量已突破了50万行,这使得需要进一步考虑如何实现一个分量模式内的模块化集成。
[0004] 大气模式(包含数值天气预报模式)主要由动力框架与物理过程组成,其中动力框架负责求解整个三维大气的动力方程,而物理过程则由一系列通常仅在垂直方向上进行求解的参数化方案组成。为了便捷集成物理参数化方案,通常需要为物理过程设计统一的数据结构以存储各物理量,例如常规的三维数据结构或优先考虑垂直方向的单柱数据结构(如图1所示,左侧为三维数据结构,右侧为单柱数据结构,这两种数据结构可以相互转换)。对于一个三维物理量,当采用三维数据结构时,一个MPI进程通常只为其分配一个三维数组,而当采用单柱数据结构时,一个MPI进程会为其分配多个独立的数组,每个数组存储一个或多个单柱。当前,WRF(The Weather Research and Forecasting Model,天气预报模式)与GRAPES等大气模式的物理过程采用了三维数据结构,而CAM(Community Atmosphere Model Version)等大气模式的物理过程采用了单柱数据结构。与三维数据结构相比,单柱数据结构能加快处理器对存储于内存中的物理量的访问,并能更好地解决物理过程的OpenMP加速与单柱间计算负载不平衡问题,从而提高物理过程的计算效率。在向物理过程中集成参数化方案时,需要确保两者数据结构的一致性,当存在不同时,通常需要对参数化方案进行修改。例如,当把基于单柱数据结构发展的参数化方案集成进采用三维数据结构的物理过程时,首先需要将参数化方案程序所使用的数据结构从单柱方式修改为三维方式。
[0005] 随着物理过程中集成的参数化方案越来越多,特别是集成了同一功能的不同参数化方案以供用户选择使用(例如WRF模式,The Weather Research and Forecasting Model,即天气预报模式)提供了多个对流参数化方案以供选择使用与性能对比等),需要面向物理过程实现参数化方案的模块化集成与便捷选择。为了实现这两项功能,美国的DTC与NCAR联合研制了CCPP(即通用公共物理包)框架。CCPP框架基于统一的单柱数据结构,建立了参数化方案驱动程序的统一规范,管理了物理过程的公共变量,建立了参数化方案间基于共享公共变量的参数传递方式,采用了动态链接库技术来集成参数化方案,并设计了能便捷选择使用参数化方案配置文件接口。
[0006] 已有的绝大多数参数化方案仅在垂直方向上进行求解,是因为大气模式的模式高度明显小于水平格距。但随着模式高度和分辨率的不断提升,出现了模式高度明显大于水平格距的情况,倘若仍仅在垂直方向上进行求解,参数化方案所带来的误差将会明显增大,因此需要发展在整个三维空间上进行求解的参数化方案,如三维短波辐射、三维边界层方案等,而物理过程的发展也将面临需要同时集成单柱和三维参数化方案的需求。CCPP框架作为当前最新的相关工作,尚不能应对这一需求。

发明内容

[0007] 本发明提供一种数值应用程序的软件模块集成系统及运行方法,建立具有不同数据结构的外部过程的统一集成框架,实现不同外部过程间的线程级并行,并完成数值应用程序与外部过程间数据导入与导出。
[0008] 本发明的技术方案如下:
[0009] 第一方面,本发明提供一种数值应用程序的软件模块集成系统,所述软件模块为所述数值应用程序的外部过程,所述外部过程的用于存储变量的数据结构有多种,所述数值应用程序的软件模块集成系统,包括:
[0010] 外部过程资源管理模块,用于完成外部过程的程序到动态链接库的编译;
[0011] 外部过程运行驱动管理模块,用于使数值应用程序能调用外部过程;
[0012] 外部过程参数信息管理模块,用于使外部过程能获取数值应用程序的信息;
[0013] 外部过程线程级并行管理模块,用于将多个外部过程组合为具有程序流程的外部过程包,并实现不同外部过程间的线程级并行;
[0014] 外部过程数据交换管理模块,用于数值应用程序与外部过程间数据导入与导出的操作;
[0015] 外部过程集成应用程序接口模块,用于提供用于外部过程集成的应用程序接口;以及
[0016] 外部过程集成配置文件接口模块,用于制定构建外部过程配置信息的文件格式。
[0017] 更进一步地,所述动态链接库包括一个或多个外部过程。
[0018] 更进一步地,所述外部过程运行驱动管理模块,还用于:
[0019] 将外部过程的运行分为启动阶段、执行阶段、结束阶段;
[0020] 在所述启动阶段,使数值应用程序加载所述外部过程所在的动态链接库并调用所述外部过程的启动驱动函数;
[0021] 在所述执行阶段,调用所述外部过程的执行驱动函数;
[0022] 在所述结束阶段,调用所述外部过程的结束驱动函数。
[0023] 更进一步地,所述数值应用程序的信息,包括:
[0024] 所述数值应用程序所使用的MPI进程、网格、并行剖分、计时器、控制变量以及与外部过程对接的对接变量。
[0025] 更进一步地,所述外部过程参数信息管理模块,还用于:
[0026] 使外部过程在启动时动态声明外部过程的输入变量与输出变量,并使得所述外部过程的任一输入变量或任一输出变量能够使用外部过程的存储空间或共享数值应用程序相应的对接变量的存储空间。
[0027] 更进一步地,所述外部过程线程级并行管理模块在实现不同外部过程间的线程级并行时,同时并行运行不同外部过程的线程数相同或不同。
[0028] 更进一步地,所述用于外部过程集成的应用程序接口,包括:数值应用程序启动、执行与结束外部过程的应用程序接口,外部过程获取数值应用程序的信息的应用程序接口,以及外部过程声明输入变量与输出变量的接口。
[0029] 更进一步地,所述外部过程数据交换管理模块,还用于:
[0030] 自动检测数值应用程序与外部过程间需要导入和导出的数据,自动完成数据导入或导出过程中所需的操作。
[0031] 更进一步地,所述数据导入或导出过程中所需的操作,包括:MPI进程间的数据通信、不同网格间的数据插值、同一MPI进程内的数据拷贝、根据网格维度顺序变换的数据转置操作。
[0032] 第二方面,本发明提供一种数值应用程序的运行方法,基于第一方面所述的数值应用程序的软件模块集成系统实现,所述方法包括:
[0033] 数值应用程序调用外部过程的启动驱动函数、执行驱动函数与结束驱动函数,以完成外部过程的启动、执行与结束;
[0034] 数值应用程序调用应用程序接口时,根据配置文件,加载相应的外部过程的动态链接库;
[0035] 数值应用程序启动外部过程,自动实现不同外部过程间的线程级并行运行;
[0036] 自动检查数值应用程序启动外部过程时提供的对接变量是否完全覆盖外部过程声明的输入变量和输出变量;
[0037] 自动执行数值应用程序与外部过程间的数据导入与导出操作。
[0038] 本发明提供的数值应用程序的软件模块集成系统及运行方法,建立了具有不同数据结构的外部过程的统一集成框架,实现不同外部过程间的线程级并行,管理数值应用程序物理过程的变量,采用动态链接库技术集成各种不同数据结构的外部过程,由于外部过程采用不同数据结构存储变量,能够扩展数值应用程序的数值求解空间,使得诸如地球系统模式之类的数值应用程序不仅可以在单一方向上求解,还能扩展到在整个三维空间上进行数值求解。该系统还提供能用于外部过程集成的不同应用程序接口,以实现在数值应用程序运行过程中完成数值应用程序与外部过程间数据导入与导出。

附图说明

[0039] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0040] 图1是现有技术中三维数据结构与单柱数据结构的转换示意图;
[0041] 图2是本发明实施例一提供的数值应用程序的软件模块集成系统结构;
[0042] 图3是本发明实施例二提供的一种数值应用程序的运行方法流程图。

具体实施方式

[0043] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0045] 本发明实施例提供一种数值应用程序的软件模块集成系统,其中的软件模块为数值应用程序的外部过程,外部过程的用于存储变量的数据结构可以为多种,如单柱数据结构、三维数据结构等,也就是说,外部过程可以具有不同数据结构,不局限于单一的数据结构。在数值应用程序运行时,相应的外部过程将被启动,并会作为数值应用程序的子程序函数,使用数值应用程序的全部进程、全部或部分线程,完成相应计算从而为数值应用程序提供服务。本发明实施例所涉及的数值应用程序包括地球系统模式,但不仅限于地球系统模式。
[0046] 实施例一
[0047] 本实施例提供一种数值应用程序的软件模块集成系统,图2示出了数值应用程序的软件模块集成系统结构,如图2所示,数值应用程序的软件模块集成系统包括:外部过程资源管理模块、外部过程运行驱动管理模块、外部过程参数信息管理模块、外部过程线程级并行管理模块、外部过程数据交换管理模块、外部过程集成应用程序接口模块以及外部过程集成配置文件接口模块。
[0048] 其中:
[0049] 外部过程资源管理模块,用于保存所有外部过程的程序与配置,提供编译工作流,完成外部过程程序到动态链接库的编译,并保存动态链接库。具体地,一个动态链接库可以包括一个或多个外部过程,例如,图2中既包括两个外部过程的动态链接库,也包括两个仅有一个外部过程的动态链接库。外部过程可以采用任意方式来存储其变量,也即外部过程可以采用任意数据结构来存储变量,与单一数据结构的软件模块集成相比,由于外部过程对于用来存储其变量的数据结构并没有限制,使得数值应用程序的软件模块集成系统能够用于集成多种数据结构的多个软件模块。举例来说,对于三维变量,外部过程可采用三维数据结构或单柱数据结构来存储变量,图2所示的多个外部过程中,既有采用三维数据结构存储变量的外部过程,又有采用单柱数据结构存储变量的外部过程,还有采用其他数据结构存储变量的外部过程。
[0050] 外部过程运行驱动管理模块,用于使数值应用程序能调用外部过程;该外部过程运行驱动管理模块还用于:
[0051] 将外部过程的运行分为启动阶段、执行阶段、结束阶段;
[0052] 具体地,在启动阶段,使数值应用程序加载外部过程所在的动态链接库并调用外部过程的启动驱动函数;在执行阶段,调用外部过程的执行驱动函数;在结束阶段,调用外部过程的结束驱动函数。
[0053] 值得说明的是,为了方便数值应用程序的调用,该外部过程运行驱动管理模块还制定了外部过程的启动驱动函数、执行驱动函数和结束驱动函数的函数名与参数规范。
[0054] 外部过程参数信息管理模块,用于使外部过程能获取到数值应用程序的信息;该外部过程参数信息管理模块还用于:
[0055] 使外部过程在启动时动态声明外部过程的输入变量与输出变量,并使得外部过程的任一输入变量或任一输出变量都能够使用外部过程的存储空间或共享数值应用程序相应的对接变量的存储空间;其中的输入变量、输出变量可以为若干个参数变量。
[0056] 具体地,外部过程能够通过该外部过程参数信息管理模块获取到数值应用程序的任意信息,包括:数值应用程序所使用的MPI进程、网格、并行剖分、计时器、控制变量以及与外部过程对接的对接变量。
[0057] 外部过程线程级并行管理模块,用于将多个外部过程组合为具有程序流程的外部过程包,并实现不同外部过程间的线程级并行;具体地,外部过程线程级并行管理模块在实现不同外部过程间的线程级并行时,同时并行运行不同外部过程的线程数相同或不同。
[0058] 外部过程数据交换管理模块,用于数值应用程序与外部过程间数据导入与导出的操作;具体地,在数值应用程序调用外部过程的执行驱动函数前,通过该外部过程数据交换管理模块完成数值应用程序提供的对接变量到外部过程各输入变量的数据导入,并在外部过程完成执行阶段后且返回到数值应用程序前,通过该外部过程数据交换管理模块完成外部过程各输出变量到数值应用程序的对接变量的数据导出。在上述数据导入与导出过程中,该外部过程数据交换管理模块根据外部过程数据交换管理模块检测到的需求,可以完成MPI进程间的数据通信、不同网格间的数据插值、同一MPI进程内的数据拷贝、根据网格维度顺序变换的数据转置等操作。
[0059] 作为一种优选,该外部过程数据交换管理模块还用于:
[0060] 自动检测数值应用程序与外部过程间需要导入和导出的数据,自动完成数据导入或导出过程中所需的操作,包括:MPI进程间的数据通信、不同网格间的数据插值、同一MPI进程内的数据拷贝、根据网格维度顺序变换的数据转置操作。
[0061] 具体地,数值应用程序启动外部过程时提供的所有对接变量是否完全覆盖外部过程声明的输入变量和输出变量,决定了数值应用程序能否顺利启动外部过程,因此数值应用程序启动外部过程时需要自动检查数值应用程序启动外部过程时提供的所有对接变量是否完全覆盖外部过程声明的输入变量和输出变量:若完全覆盖,说明对接变量与外部过程声明的输入变量和输出变量匹配一致,数值应用程序可以顺利启动外部过程,进行数值求解,相反地,若没有完全覆盖,说明数值应用程序与系统所集成的外部过程无法完全匹配,即使运行下去,也无法得到数值求解结果,因此结束此次数值应用程序运行。
[0062] 外部过程集成应用程序接口模块,用于提供用于外部过程集成的应用程序接口;具体来说,用于外部过程集成的应用程序接口,包括:数值应用程序启动、执行与结束外部过程的应用程序接口,外部过程获取数值应用程序的信息的应用程序接口,外部过程声明输入变量与输出变量的接口。
[0063] 外部过程集成配置文件接口模块,制定构建外部过程配置信息的文件格式,通过该外部过程集成配置文件接口模块,用户可以指定数值应用程序所使用的外部过程及动态链接库,用户可以把若干外部过程组合为外部过程包,用户可以设置同时运行的多个外部过程间的线程级并行运行。在数值应用程序调用应用程序接口时,根据配置文件,加载相应的外部过程的动态链接库,调用外部过程的启动驱动函数、执行驱动函数与结束驱动函数,使不同外部过程间线程级并行运行。
[0064] 本实施例通过建立具有不同数据结构的外部过程的统一集成框架,实现不同外部过程间的线程级并行,管理数值应用程序物理过程的变量。采用动态链接库技术集成多种数据结构的外部过程,能够扩展数值应用程序的数值求解空间,并提供能用于外部过程集成的不同应用程序接口,以实现在数值应用程序运行过程中完成数值应用程序与外部过程间数据导入与导出,在导入与导出过程中能够根据需求实现不同操作。
[0065] 基于本实施例提供的数值应用程序的软件模块集成系统进行数值应用程序的软件模块集成的工作流程如下:
[0066] (1)将外部过程的程序及配置集成进外部过程资源管理模块,外部过程资源管理模块提供编译工作流,完成外部过程的程序到动态链接库的编译,并保存动态链接库。
[0067] 具体地,一个动态链接库可以包括一个或多个外部过程,外部过程可以采用任意数据结构来存储变量。基于外部过程集成应用程序接口模块的提供的应用程序接口,不仅可以在数值应用程序中新增启动、执行与结束外部过程的程序,还可以使外部过程获取数值应用程序的信息,以及实现外部过程动态声明输入变量与输出变量。
[0068] (2)用户根据外部过程运行驱动管理模块制定的相关参数规范,利用外部过程集成应用程序接口模块制定外部过程的启动驱动函数、执行驱动函数与结束驱动函数。
[0069] (3)基于外部过程集成应用程序接口模块的提供的应用程序接口,在数值应用程序中新增启动、执行与结束外部过程的程序。
[0070] (4)利用外部过程集成配置文件接口模块制定构建外部过程配置信息的文件格式,开发配置文件,以设置对外部过程的使用。
[0071] 具体地,制定构建外部过程配置信息的文件格式时,用户可以指定数值应用程序所使用的外部过程及动态链接库,还可以把若干外部过程组合为外部过程包,还可以设置同时运行的多个外部过程间的线程级并行运行。
[0072] (5)完成数值应用程序的编译后,运行数值应用程序。
[0073] 数值应用程序运行过程中,调用外部过程的启动驱动函数、执行驱动函数与结束驱动函数,以完成外部过程的启动、执行与结束。数值应用程序的软件模块集成系统会在数值应用程序调用应用程序接口时,根据配置文件,加载相应的外部过程的动态链接库,不同外部过程间线程级并行运行,并在数值应用程序运行过程中通过外部过程数据交换管理模块完成数值应用程序与外部过程间的数据导入与导出的操作。
[0074] 实施例二
[0075] 本发明提供一种数值应用程序的运行方法,基于实施例一提供的数值应用程序的软件模块集成系统实现,如图3所示,该方法包括:
[0076] 步骤S1、数值应用程序调用外部过程的启动驱动函数、执行驱动函数与结束驱动函数,以完成外部过程的启动、执行与结束;
[0077] 步骤S2、数值应用程序调用应用程序接口时,根据配置文件,加载相应的外部过程的动态链接库;
[0078] 步骤S3、数值应用程序启动外部过程,自动实现不同外部过程间的线程级并行运行;
[0079] 步骤S4、自动检查数值应用程序启动外部过程时提供的对接变量是否完全覆盖外部过程声明的输入变量和输出变量;
[0080] 步骤S5、自动执行数值应用程序与外部过程间的数据导入与导出操作。
[0081] 本实施例基于数值应用程序的软件模块集成系统实现数值应用程序的运行,能够实现不同外部过程间的线程级并行,由于外部过程采用不同数据结构存储变量,能够扩展数值应用程序的数值求解空间,使得诸如地球系统模式之类的数值应用程序不仅可以在单一方向上求解,还能扩展到在整个三维空间上进行数值求解。此外,在数值应用程序运行过程中,通过不同应用程序接口实现数值应用程序与外部过程间数据导入与导出,在导入与导出过程中还能够根据需求实现不同操作,例如MPI进程间的数据通信、不同网格间的数据插值、同一MPI进程内的数据拷贝、根据网格维度顺序变换的数据转置等操作。
[0082] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。