CN113706706B - 数据的处理方法、装置及电子设备 - Google Patents

数据的处理方法、装置及电子设备 Download PDF

Info

Publication number
CN113706706B
CN113706706B CN202111258886.6A CN202111258886A CN113706706B CN 113706706 B CN113706706 B CN 113706706B CN 202111258886 A CN202111258886 A CN 202111258886A CN 113706706 B CN113706706 B CN 113706706B
Authority
CN
China
Prior art keywords
grid
sub
grid structure
computing
computing unit
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.)
Active
Application number
CN202111258886.6A
Other languages
English (en)
Other versions
CN113706706A (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.)
First Institute of Oceanography MNR
Original Assignee
First Institute of Oceanography MNR
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 First Institute of Oceanography MNR filed Critical First Institute of Oceanography MNR
Priority to CN202111258886.6A priority Critical patent/CN113706706B/zh
Publication of CN113706706A publication Critical patent/CN113706706A/zh
Application granted granted Critical
Publication of CN113706706B publication Critical patent/CN113706706B/zh
Priority to US17/837,078 priority patent/US20230140242A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Remote Sensing (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种数据的处理方法、装置及电子设备。按照预设的空间分辨率,对地球进行经向、纬向和垂向的地理区域划分,获取地球空间对应的三维的网格结构;在网格结构中经向与纬向对应的网格平面上,对网格结构中的网格进行划分,得到每个计算组件对应的子网格结构;对子网格结构中的网格在第一方向纬向或垂向上进行划分,得到次子网格结构;并将次子网格结构对应的区域数据分配给主计算单元;控制主计算单元向至少一个子计算单元分配二次子网格结构对应的区域数据,使主计算单元和至少一个子计算单元对区域数据中的业务数据进行计算。该方法提高了海洋环流模式在“经向‑纬向‑垂向”的计算效率。

Description

数据的处理方法、装置及电子设备
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据的处理方法、装置及电子设备。
背景技术
海洋环流是研究风引起的海流和密度分布不均匀所产生的密度流、大洋环流中流旋的生成和分布、大洋环流西向强化、海流的弯曲和变异、近赤道地区的流系结构、南极绕极流,大洋热盐环流,深海环流和与主跃层的关系,海水的辐散和辐合运动与升降流及朗缪尔环流等的关系,中尺度涡及其能量转换,冰漂流等特殊的流动现象,海洋对风应力等的反应,以及近岸海区的环流等等。
海洋环流模式是定量描述海洋环流及其变化的数值模型,通过建立数学物理方程组反映海洋动力、物理以及两者相互作用等复杂过程。它将连续的海洋流体运动离散化,地球空间被划分为经向、纬向和垂向的三维网格结构,即经度方向、纬度方向和垂直方向的三维网格结构,进而采用数值积分方式,对偏微分方程组进行求解。
随着海洋和气候变化研究的不断深入,海洋环流模式正逐步朝着更高分辨率(分辨率越高,网格越精细)、更多物理过程(方程组方程数目增加)和更快计算速度的方向发展。目前采用是“经向-纬向”水平剖分、“经向(或纬向,或垂向)循环并行计算”的二级并行框架对海洋环流模式进行研究。
然而,目前全球海洋环流模式的水平分辨率已经从5度(约500km)发展了到0.1度(约10km),其分辨率的每一步提高都会导致对计算资源的需求和计算量呈几何级数的增长。一般来说,水平分辨率提高10倍,计算量增加1000倍,且随着物理过程的增多,计算量也会随之提高,上述二级并行框架在一定程度上限制了对海洋环流模式在“经度-纬度-垂向”的计算效率。
发明内容
本申请实施例的目的在于提供一数据的处理方法、装置及电子设备,实现了海洋环流模式在“经向-纬向-垂向”的三维空间的剖分,提高了海洋环流模式在“经向-纬向-垂向”的计算效率。
第一方面,提供了一种数据的处理方法,该方法应用在海洋环流模式场景中,该方法可以包括:
按照预设的空间分辨率,对地球进行经向、纬向和垂向的地理区域划分,获取所述地球空间对应的三维的网格结构和相应结构的网格信息;所述网格信息包括网格所属的地理区域和所述地理区域内的区域数据;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据;
针对每个计算组件,基于预设划分策略,对所述子网格结构中的网格在第一方向或所述垂向上进行划分,得到划分后的次子网格结构和相应结构对应的区域数据;并将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元;所述第一方向为所述纬向或所述垂向;所述次子网格结构包括所述主计算单元对应的次子网格结构和所述计算组件中至少一个子计算单元对应的次子网格结构;
基于所述预设分配策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,以使所述主计算单元和所述至少一个子计算单元,基于业务需求对分配的区域数据中的业务数据进行计算;其中,所述二次子网格结构是所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分后得到的,所述第二方向为所述纬向或所述经向。
在一个可能的实现中,控制所述计算组件中的主计算单元向所述计算组件中的至少一个子计算单元分配二次子网格结构的区域数据,包括:
针对每个子计算单元,控制所述计算组件中的主计算单元,按照所述子计算单元中目标处理单元的数量,在第三方向上对所述二次子网格结构中的网格进行划分,得到每个目标处理单元对应的待处理网格结构和相应结构对应的区域数据,并向所述目标处理单元分配所述待处理网格结构对应的区域数据,以使所述目标处理单元对所述待处理网格结构对应的区域数据进行计算;所述目标处理单元为所述区域数据的数据类型对应的具有向量化指令集函数的处理单元。
在一个可能的实现中,所述计算组件中的主计算单元采用配置的信息传递接口与除所述计算组件外的其他计算组件中的主计算单元进行数据通信,所述方法还包括:
将所述其他计算组件中主计算单元传输的目标网格的区域数据,传输至所述计算组件中的主计算单元;所述目标网格是与所述计算组件被分配的区域数据对应的网格中存在地理区域重叠的网格;
将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元,包括:
将所述次子网格结构的区域数据和所述其他计算组件中主计算单元传输的目标网格的区域数据分配给所述计算组件的主计算单元。
在一个可能的实现中,按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据,包括:
基于业务计算需求,确定所述网格结构中的待计算网格;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的待计算网格进行平均划分,得到所述每个计算组件对应的待计算网格集合;
在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的非待计算网格进行随机划分,得到所述非待计算网格对应的网格集合;
基于所述每个计算组件对应的待计算网格集合和所述非待计算网格对应的网格集合,确定所述每个计算组件对应的划分后的子网格结构和相应结构的区域数据。
在一个可能的实现中,所述网格信息还包括所述网格所属地理区域的区域类型,所述区域类型包括海洋类型;
若所述业务计算需求为海洋环流模式下目标变量的计算需求,则基于业务计算需求,确定所述网格结构中的待计算网格,包括:
获取所述网格结构中各网格对应的区域类型;
将所述区域类型为所述海洋类型的网格确定为待计算网格。
在一个可能的实现中,所述主计算单元与所述至少一个子计算单元间采用直接存储器访问方式进行数据通信。
在一个可能的实现中,基于所述预设分配策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,包括:
基于预设的第二方向与所述垂向的二维划分策略,控制所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分,得到所述二次子网格结构和相应结构对应的区域数据,以使所述主计算单元向所述至少一个子计算单元分配划分后的二次子网格结构对应的区域数据。
第二方面,提供了一种数据的处理装置,该装置可以包括:
区域划分单元,用于按照预设的空间分辨率,对地球进行经向、纬向和垂向的地理区域划分,获取所述地球空间对应的三维的网格结构和相应结构的网格信息;所述网格信息包括网格所属的地理区域和所述地理区域内的区域数据;
网格划分单元,用于按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据;
以及,针对每个计算组件,基于预设划分策略,对所述子网格结构中的网格在第一方向或所述垂向上进行划分,得到所述计算组件中主计算单元对应的划分后的次子网格结构和相应结构对应的区域数据;
数据分配单元,用于将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元;所述第一方向为所述纬向或所述垂向;所述次子网格结构包括所述主计算单元对应的次子网格结构和所述计算组件中至少一个子计算单元对应的次子网格结构;
控制单元,用于基于所述预设分配策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,以使所述主计算单元和所述至少一个子计算单元,基于业务需求对分配的区域数据中的业务数据进行计算;其中,所述二次子网格结构是所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分后得到的,所述第二方向为所述纬向或所述经向。
在一个可能的实现中,所述控制单元,具体用于针对每个子计算单元,控制所述计算组件中的主计算单元,按照所述子计算单元中目标处理单元的数量,在第三方向上对所述二次子网格结构中的网格进行划分,得到每个目标处理单元对应的待处理网格结构和相应结构对应的区域数据,并向所述目标处理单元分配所述待处理网格结构对应的区域数据,以使所述目标处理单元对所述待处理网格结构对应的区域数据进行计算;所述目标处理单元为所述区域数据的数据类型对应的具有向量化指令集函数的处理单元。
在一个可能的实现中,所述计算组件中的主计算单元采用配置的信息传递接口与除所述计算组件外的其他计算组件中的主计算单元进行数据通信,所述装置还包括:传输单元;
所述传输单元,用于将所述其他计算组件中主计算单元传输的目标网格的区域数据,传输至所述计算组件中的主计算单元;所述目标网格是与所述计算组件被分配的区域数据对应的网格中存在地理区域重叠的网格;
所述数据分配单元,具体用于将所述次子网格结构的区域数据和所述其他计算组件中主计算单元传输的目标网格的区域数据分配给相应计算组件的主计算单元。
在一个可能的实现中,所述网格划分单元,具体用于:
基于业务计算需求,确定所述网格结构中的待计算网格;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的待计算网格进行平均划分,得到所述每个计算组件对应的待计算网格集合;
在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的非待计算网格进行随机划分,得到所述非待计算网格对应的网格集合;
基于所述每个计算组件对应的待计算网格集合和所述非待计算网格对应的网格集合,确定所述每个计算组件对应的划分后的子网格结构和相应结构的区域数据。
在一个可能的实现中,所述网格信息还包括所述网格所属地理区域的区域类型,所述区域类型包括海洋类型;
若所述业务计算需求为海洋环流模式下目标变量的计算需求,则所述网格划分单元,还具体用于:
获取所述网格结构中各网格对应的区域类型;
将所述区域类型为所述海洋类型的网格确定为待计算网格。
在一个可能的实现中,所述主计算单元与所述至少一个子计算单元间采用直接存储器访问方式进行数据通信。
在一个可能的实现中,所述控制单元,还具体用于:
基于预设的第二方向与所述垂向的二维划分策略,控制所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分,得到所述二次子网格结构和相应结构对应的区域数据,以使所述主计算单元向所述至少一个子计算单元分配划分后的二次子网格结构对应的区域数据。
第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。
本申请实施例提供的数据的处理方法通过先对地球空间对应的三维的网格结构进行三级的网格划分,实现对地球空间的三级并行计算,提高了并行计算效率,进一步的在每个子计算单元中进行第四级的网格划分,实现了对地球空间的四级并行计算,提高了海洋环流模式在“经向-纬向-垂向”的计算效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种申威新一代众核处理器的结构示意图;
图2为本申请实施例提供的一种海洋环流模式中数据并行处理的过程示意图;
图3为本申请实施例提供的一种数据的处理方法的流程示意图;
图4为本申请实施例提供的一种强可扩展性测试结果示意图;
图5为本申请实施例提供的一种弱可扩展性测试结果示意图;
图6为本申请实施例提供的一种数据的处理装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了方便理解,下面对本发明实施例中涉及的名词进行解释:
申威新一代众核处理器(型号SW26010升级版)集成了6个核组(Core Group,CG)(或称“计算组件”),6个计算组件间通过环网(Loop network)相连,其中,每个计算组件CG包含一个具有内存接口(memory interface)的双倍速率同步动态随机存储器(DoubleData Rate,DDR)、一个运算控制核心(Management Processing Element,MPE)(或称“主计算单元”)和一个8*8运算核心(Computing Processing Element,CPE)(或称“子计算单元”)阵列,这些部件通过环形网络进行连接,如图1所示。该处理器具有512位单指令多数据流(Single Instruction Multiple Data,SIMD)指令集,可一次计算8个双精度数,故该处理器具有至少一个向量化指令集函数的处理单元。
其中,主计算单元MPE具有独立的操作系统,主要用于任务调度,分配、控制、通信、IO以及计算等功能,子计算单元CPE主要用于计算。计算组件CG中子计算单元CPE以8*8阵列方式进行排布。子计算单元CPE之间,以及子计算单元CPE与主计算单元MPE交互,通过阵列内的网络进行互连。
主计算单元MPE之间采用信息传递接口(Massage Passing Interface,MPI)方式进行数据通信;子计算单元CPE阵列中任意两个子计算单元CPE之间可以通过远程内存访问(remote memory access,RMA)方式、P2P和集合通信中一种通信方式进行数据通信。主计算单元MPE与子计算单元CPE之间通过直接存储器访问(Direct Memory Access,DMA)方式进行数据通信。
本申请实施例提供的数据的处理方法可以适用于海洋环流模式的场景中,具体可以应用在上述申威新一代众核处理器中实现对海洋环流模式的研究,该数据的处理方法可以获取三维实时的海洋温度、盐度、海表面动力高度、海流、海冰密集度等海洋数值,对海洋环流模式的研究提供计算性能的支持。
需要说明的是,本申请实施例提供的数据的处理方法也可以应用在存在多个计算单元的其他处理器中,本申请在此不做限定。
如图2所示,结合海洋环流模式特点,本申请实施例提供的数据的处理方法主要设计了海洋环流模式的第一级并行计算-基于主计算单元的经向-纬向水平空间剖分、第二级并行计算-基于主计算单元与子计算单元的经向-纬向水平空间剖分和第三级并行计算-基于子计算单元间的经向或纬向-垂向水平空间剖分,进一步还可以包括第四级并行计算-基于向量化指令集的经向或纬向的空间剖分的四级并行框架,实现了海洋环流模式的“经向-纬向-垂向”的三维空间剖分,提高了海洋环流模式在“经向-纬向-垂向”的计算效率。
其中,经向是指以地球空间为基准的经度方向,如x轴方向;纬向是指以地球空间为基准的纬度方向,如y轴方向;垂向是指以地球空间为基准的指向地心的垂直方向,如z轴方向,n为x轴方向的个数。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图3为本申请实施例提供的一种数据的处理方法的流程示意图。如图3所示,该方法可以包括:
步骤S310、按照预设的空间分辨率,对地球进行经向、纬向和垂向的地理区域划分,获取地球对应的三维的网格结构和相应结构的网格信息。
预设的空间分辨率决定了划分的网格尺寸,分辨率越高,网格越精细,即网格尺寸越小。
具体实施中,结合图2,在经向、纬向和垂向上,分别以预设的空间分辨率对地球进行地理区域的划分,得到地球对应的三维的网格结构。其中,每个地理区域是该网格结构中的一个网格。
由于地理区域存在地理位置,故相应网格也具有相同的地理位置,同时相应网格也具有该地理区域内存在的区域数据。
例如,目标地理区域为经向与纬向对应的平面上国家A拥有的海洋区域,该区域为由经度和纬度决定的地理位置点a、地理位置点b、地理位置点c和地理位置点d围成的区域,即在经向与纬向对应的平面上,该目标地理区域对应的网格的尺寸表示国家A拥有的海洋区域,此时该网格包含该海洋区域的区域数据,如海洋温度、盐度、海表面动力高度、海流、海冰密集度等数据。
其中,若海洋环流模式的研究需求为研究海洋温度,则该区域数据中的海洋温度数据为该网格包含的业务数据。
例如,以海洋环流模式为研究海洋温度为例,此时业务数据为海洋温度。在目标地理区域的大小不变的情况下,随着海洋深度(即垂向上的高度)的增加,海洋温度逐渐降低,故目标地理区域对应的网格包括垂向上不同高度对应的海洋温度。
也就是说,每个网格的网格信息包括该网格所属的地理区域和相应地理区域内的业务数据。
步骤S320、按照计算组件的配置数量,在网格结构中经向与纬向对应的网格平面上,对网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据。
结合图2,由于x轴和y轴的网格规模远大于z轴,为了降低该网格结构的计算量,可以先可以按照经向-纬向的网格平面,对网格结构中的网格进行划分,即沿x轴和y轴对网格结构中的网格进行划分,即实现不同地理区域的区域数据的分解,并将划分出的网格分配给不同的主计算单元,即不同的MPI进程,以使不同的主计算单元对分配的不同网格的区域数据进行并行计算。
具体实施中,基于得到的三维的网格结构,在经向与纬向对应的网格平面上,按照计算组件的配置数量,对网格结构中的网格进行划分,即划分出与计算组件的配置数量相同的子网格结构,由此得到每个子网格结构对应的区域数据,并将划分得到的每个子网格结构和相应结构对应的区域数据分配给每个计算组件。
进一步的,由于得到的三维的网格结构中有些网格的区域数据可能不包括业务数据,这些网格可以称为无效网格,即与业务计算需求无关的网格,故为了得到业务计算需求下目标变量的精确数据,需要先确定网格结构中与目标变量相关的待计算网格,具体的:
若业务计算需求为海洋环流模式下目标变量的计算需求,则获取网格结构中各网格对应的区域类型;其中,区域类型是指该网格所属的地理区域的区域类型。地理区域的区域类型可以包括海洋区域、陆地区域、平原区域、山林区域等。之后,将区域类型为海洋类型的网格确定为待计算网格。
在一些实施例中,为了实现计算组件的负载平衡,提高计算速度,在确定待计算网格后,可以按照计算组件的配置数量,在网格结构中经向与纬向对应的网格平面上,对网格结构中的待计算网格进行平均划分,得到每个计算组件对应的待计算网格集合;
同时,在网格结构中经向与纬向对应的网格平面上,对所述网格结构中的非待计算网格(即无效网格)进行随机划分,得到非待计算网格对应的网格集合;
基于每个计算组件对应的待计算网格集合和非待计算网格对应的网格集合,确定每个计算组件对应的划分后的子网格结构和相应结构的区域数据。
上述实施方式仅会对待计算网格中的区域数据实施计算,不会对无效网格中的区域数据实施计算,故每个计算组件的计算量仅由待计算网格的数量决定,故按照计算组件的数量对待计算网格进行平均划分,使得每个计算组件分配的待计算网格的数量达到平衡,从而实现计算组件的负载平衡,
需要说明的是,上述实施方式中只需要考虑每个计算组件分配的待计算网格的数量是否达到平衡,不需要考虑自身分配的无效网格的数量,如所有的无效网格可以全部分配给一个计算组件,也可以随机分配给多个计算组件,即分配方式不做限定。
步骤S330、针对每个计算组件,基于预设划分策略,对子网格结构中的网格在第一方向上进行划分,得到划分后的次子网格结构和相应结构对应的区域数据;并将次子网格结构对应的区域数据分配给该主计算单元。
其中,第一方向为纬向或垂向。
具体实施中,为了实现每个计算组件中主计算单元和至少一个子计算单元的负载均衡,可以根据计算组件中计算单元的数量配置预设划分策略,如按照计算单元的数量进行划分的策略。
基于预设划分策略,对子网格结构中的网格在纬向或垂向上进行划分,得到划分后的次子网格结构和相应结构对应的区域数据;并将次子网格结构对应的区域数据分配给相应的主计算单元。次子网格结构包括主计算单元对应的次子网格结构和该计算组件中至少一个子计算单元对应的次子网格结构。
在一些实施例中,除该计算组件外的其他计算组件中的主计算单元通过信息传递接口MPI的数据通信方式,将目标网格的区域数据传输至该计算组件中的主计算单元。其中,目标网格是与计算组件被分配的区域数据对应的网格中存在地理区域重叠的网格,即该计算组件对应的网格中存在与目标网格的地理区域重叠的地理区域,该重叠方式可以是两个地理区域的部分重叠。
由此在得到划分后的次子网格结构和相应结构对应的区域数据之后,将次子网格结构的区域数据和其他计算组件中主计算单元传输的目标网格的区域数据分配给该计算组件的主计算单元。
上述实施方式中主计算单元在负责不同计算组件中主计算单元间的数据交换时,采用MPI方式与其他主计算单元进行数据通信。
步骤S340、基于预设分配策略,控制主计算单元向至少一个子计算单元分配二次子网格结构对应的区域数据。
其中,第二方向为纬向或经向。预设分配策略可以基于经验值设备或子计算单元的存储能力,设置第二方向与垂向的二维划分策略,即纬向或经向与垂向的二维划分策略;或者,按照计算单元的数量进行划分的策略,具体可以根据实际情况进行设置,本申请在此不做限定。
以纬向与垂向的二维划分策略为例,该二维划分策略是指保持经向的网格结构不变,将纬向与垂向按照预设的二维数值(如3x4的二维数值)对纬向与垂向对应的网格平面上,对相应网格结构中的网格进行划分的策略。
具体实施中,以预设分配策略可以是预设的第二方向与垂向的二维划分策略为例,基于第二方向与垂向对应的预设二维划分策略,控制计算组件中的主计算单元在第二方向(即纬向或经向)与垂向对应的网格平面上,对至少一个子计算单元对应的次子网格结构中的网格进行划分,得到二次子网格结构和相应结构对应的区域数据,在主计算单元向至少一个子计算单元分配划分后的二次子网格结构对应的区域数据后,主计算单元和至少一个子计算单元均基于业务需求对分配的区域数据中的业务数据进行计算。
进一步的,由于每个子计算单元内部是采用数据向量化的并行方式对数据进行计算,故针对每个子计算单元,控制计算组件中的主计算单元向子计算单元,按照子计算单元中目标处理单元的数量,在第三方向上对二次子网格结构中的网格进行划分,得到每个目标处理单元对应的待处理网格结构和相应结构对应的区域数据,并向目标处理单元分配待处理网格结构对应的区域数据,以使目标处理单元对待处理网格结构对应的区域数据进行计算。
该目标处理单元为区域数据的数据类型对应的具有向量化指令集函数的处理单元。
上述实施方式中,由于子计算单元间无法跨计算组件进行通信,因此主计算单元在负责子计算单元的细粒度网格划分时,采用DMA方式与子计算单元进行数据通信;同一计算组件中子计算单元间采用RMA进行数据通信。因此,结合前一步骤,本申请实施例可采用DMA+MPI+RMA的并行方式进行数据交互。
在一个例子中,获取地球对应的三维的网格结构752*502*65(经向-纬向-垂向)和相应结构的网格信息之后,本申请实施例可以采用四级刨分,以实现对数据的并行处理,具体的:
第一级:设申威新一代众核处理器存在128个计算组件,将128个计算组件分成16*8的二维矩阵列,对应负责经向与纬向对应的752*502网格平面上,对网格结构中的网格进行划分,得到在经向与纬向对应的752*502网格平面上,平均每个计算组件负责约49*65(包括边界元数)个网格数,因此实际每个核组可分到49*65*65个网格数组成的子网格结构,同时计算组件之间,采用MPI通信机制进行数据交互。
第二级:由于计算组件中包括一个主计算单元和多个子计算单元,故可以按照计算组件中计算单元的数量,对子网格结构49*65*65中的网格在垂向上以“垂向”1+64的方式进行网格划分,得到主计算单元负责的次子网格结构49*65*1和相应结构对应的区域数据,以及多个子计算单元负责的次子网格结构49*65*64和相应结构对应的区域数据。
或者,按照计算组件中计算单元的数量,对子网格结构49*65*65中的网格在纬向上以“纬向”1+64的方式进行网格划分,得到主计算单元负责的次子网格结构49*1*65和相应结构对应的区域数据,以及多个子计算单元负责的次子网格结构49*64*65和相应结构对应的区域数据。
划分后,将划分出的次子网格结构对应的区域数据均分配给相应的主计算单元,以实现主计算单元向其负责的子计算单元进行网格数据的分配。
第三级:基于子计算单元的存储能力,设置第二方向与垂向的16*2的二维划分策略。以第二级中得到的多个子计算单元负责的次子网格结构为49*65*64,以及第二方向为纬向为例,对第三级的实施方式进行详细说明:
将纬向与垂向按照16*2的二维划分策略,对纬向与垂向对应的网格平面上,对次子网格结构49*65*64中的网格进行划分,得到49*32*4(或49* 33*4)的二次子网格结构和相应结构对应的区域数据。
第四级:按照子计算单元中目标处理单元的数量,在经向上对二次子网格结构49*32*4(或49* 33*4)中的网格进行划分,得到每个目标处理单元对应的待处理网格结构和相应结构对应的区域数据。例如,目标处理单元的数量为49个,则每个目标处理单元对应的待处理网格结构为1*32*4(或1* 33*4),由此,可进一步提高数据的并行计算能力。
本申请实施例提供的数据的处理方法通过先对地球空间对应的三维的网格结构进行三级的网格划分,实现对地球空间的三级并行计算,同时在每个子计算单元中进行第四级的网格划分,进一步的实现了对地球空间的四级并行计算,提高了海洋环流模式在“经向-纬向-垂向”的计算效率。
进一步的,将本申请可应用到海洋环流模式NEMO中,发展了适用于新一代申威众核处理器的新版本swNEMO,实现了NEMO在新一代申威众核处理器所组成的超级计算机上的四级并行。随后,选择名为GYRE-PISCES的基准测试,对swNEMO进行了性能测试。
GYRE-PISCES的模拟区域是beta平面上的闭合矩形盆地,长3180公里,宽2120公里,深4公里,其中心为30°N,并旋转了45°。该基准代表了理想的北大西洋或北太平洋盆地。此外,考虑到全球模式时第三级网格结构,对东西海洋的周期性条件和全球海洋的北极折叠的影响,在基准测试中激活了BENCH选项以包括这些周期性条件,并重现了第三级网格结构对全球海洋的通信模式。从计算成本和计算特性的角度来看,它等效于具有第三级网格结构且网格数相同的全球海洋。在下文中,水平分辨率是换算后等同于全球海洋的水平分辨率。
设计了3个水平分辨率分别为2km,1km和500 m的实验,以进行强可扩展性分析。其中,每个实验均由8个不同的并行比例组成。加速Speedup是指不同比例的时钟时间除以具有2,129,920个计算组件的最小比例的基线记录。对于弱可扩展性分析,设计了8种分辨率的实验。所有实验均在没有I/O的情况下进行了1个建模日的运行。
强可扩展性测试分析:以2km、1km和500m的分辨率进行实验,将计算组件的数量(Number of cores)从2,129,920增加到27,988,480。在海洋环流模式中分辨率与网格数是一一对应的,2km,1km,500m分辨率对应全球水平面(经-纬)网格数为:24002×16002、43502×29002和82502×55002,垂直层网格数128为常用算例规格,因此分辨率为2km,1km和500m的网格数分别为24002×16002×128、43502×29002×128和82502×55002×128。将2,129,920个计算组件设置为强扩展的基准,最终并行效率分别为74.18%,83.40%和99.29%,如图4所示。由此可以看出,三种分辨率都具有非常好的强可扩展性,并且超大规模加速仍然接近线性,在测试最高分辨率500 m的情况下,使用27,988,480个计算组件仍可实现高达99.29%的并行效率。
弱可扩展性测试分析:以9km、7km、4.5km、3.5km、2.5km、2.0km、1.2km和1.0km的分辨率进行弱可扩展性分析。
在弱扩展性能分析中:理论上平均单个计算组件在处理组件内相同网格数量时的浮点计算效率保持不变。因此在进行弱扩展性分析时就需要考虑两个方面的变化趋势:1总网格数随计算组件的变化;2总体计算效率随计算组件的变化。
图5所示横坐标表示计算组件的数量,纵坐标表示总网格数随计算组件变化的递增关系,由图5可以看出总网格数(computed grid points number)随计算组件数量(Number of cores)的变化呈近线形趋势,即单个组件处理的网格数(也就是线性图的斜率d)几乎为恒定,图5中的百分数值表示该规模下总计算效率,从图5的计算效率数值上可以看出不同计算规模下的总计算效率也几乎近线性,以9km为测试基准,弱扩展性能理论恒定计算效率为千分之2.03,从图5中看出,分辨率升至1km时的计算效率为千分之1.99,与理论值相比降低千分之0.04,下降比不到2%。结果表明,在不同分辨率下性能稳定,1km的分辨率下的计算效率仍为千分之1.99,几近基线的趋势表明该swNEMO具有极为出色的弱可扩展性,如图5所示。
与上述方法对应的,本发明实施例还提供一种数据的处理装置,如图6所示,该装置包括:区域划分单元610、网格划分单元620、数据分配单元630和控制单元640;
区域划分单元610,用于按照预设的空间分辨率,对地球进行经向、纬向和垂向的地理区域划分,获取所述地球空间对应的三维的网格结构和相应结构的网格信息;所述网格信息包括网格所属的地理区域和所述地理区域内的区域数据;
网格划分单元620,用于按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据;
以及,针对每个计算组件,基于预设划分策略,对所述子网格结构中的网格在第一方向或所述垂向上进行划分,得到划分后的次子网格结构和相应结构对应的区域数据;
数据分配单元630,用于将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元;所述第一方向为所述纬向或所述垂向;所述次子网格结构包括所述主计算单元对应的次子网格结构和所述计算组件中至少一个子计算单元对应的次子网格结构;
控制单元640,用于基于所述预设分配策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,以使所述主计算单元和所述至少一个子计算单元,基于业务需求对分配的区域数据中的业务数据进行计算;其中,所述二次子网格结构是所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分后得到的,所述第二方向为所述纬向或所述经向。
在一个可能的实现中,控制单元640,具体用于针对每个子计算单元,控制所述计算组件中的主计算单元,按照所述子计算单元中目标处理单元的数量,在第三方向上对所述二次子网格结构中的网格进行划分,得到每个目标处理单元对应的待处理网格结构和相应结构对应的区域数据,并向所述目标处理单元分配所述待处理网格结构对应的区域数据,以使所述目标处理单元对所述待处理网格结构对应的区域数据进行计算;所述目标处理单元为所述区域数据的数据类型对应的具有向量化指令集函数的处理单元。
在一个可能的实现中,所述计算组件中的主计算单元采用配置的信息传递接口与除所述计算组件外的其他计算组件中的主计算单元进行数据通信;
所述装置还包括:传输单元650;
传输单元650,用于将所述其他计算组件中主计算单元传输的目标网格的区域数据,传输至所述计算组件中的主计算单元;所述目标网格是与所述计算组件被分配的区域数据对应的网格中存在地理区域重叠的网格;
数据分配单元630,具体用于将所述次子网格结构的区域数据和所述其他计算组件中主计算单元传输的目标网格的区域数据分配给所述计算组件的主计算单元。
在一个可能的实现中,网格划分单元620,具体用于:
基于业务计算需求,确定所述网格结构中的待计算网格;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的待计算网格进行平均划分,得到所述每个计算组件对应的待计算网格集合;
在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的非待计算网格进行随机划分,得到所述非待计算网格对应的网格集合;
基于所述每个计算组件对应的待计算网格集合和所述非待计算网格对应的网格集合,确定所述每个计算组件对应的划分后的子网格结构和相应结构的区域数据。
在一个可能的实现中,所述网格信息还包括所述网格所属地理区域的区域类型,所述区域类型包括海洋类型;
若所述业务计算需求为海洋环流模式下目标变量的计算需求,则网格划分单元620,还具体用于:
获取所述网格结构中各网格对应的区域类型;
将所述区域类型为所述海洋类型的网格确定为待计算网格。
在一个可能的实现中,所述主计算单元与所述至少一个子计算单元间采用直接存储器访问方式进行数据通信。
在一个可能的实现中,控制单元640,还具体用于:
基于预设的第二方向与所述垂向的二维划分策略,控制所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分,得到所述二次子网格结构和相应结构对应的区域数据,以使所述主计算单元向所述至少一个子计算单元分配划分后的二次子网格结构对应的区域数据。
本发明上述实施例提供的数据的处理装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的数据的处理装置中的各个单元的具体工作过程和有益效果,在此不复赘述。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器710、通信接口720、存储器730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。
存储器730,用于存放计算机程序;
处理器710,用于执行存储器730上所存放的程序时,实现如下步骤:
按照预设的空间分辨率,对地球进行经向、纬向和垂向的地理区域划分,获取所述地球空间对应的三维的网格结构和相应结构的网格信息;所述网格信息包括网格所属的地理区域和所述地理区域内的区域数据;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据;
针对每个计算组件,基于预设划分策略,对所述子网格结构中的网格在第一方向或所述垂向上进行划分,得到划分后的次子网格结构和相应结构对应的区域数据;并将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元;所述第一方向为所述纬向或所述垂向;所述次子网格结构包括所述主计算单元对应的次子网格结构和所述计算组件中至少一个子计算单元对应的次子网格结构;
基于所述预设分配策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,以使所述主计算单元和所述至少一个子计算单元,基于业务需求对分配的区域数据中的业务数据进行计算;其中,所述二次子网格结构是所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分后得到的,所述第二方向为所述纬向或所述经向。
在一个可能的实现中,控制所述计算组件中的主计算单元向所述计算组件中的至少一个子计算单元分配二次子网格结构的区域数据,包括:
针对每个子计算单元,控制所述计算组件中的主计算单元,按照所述子计算单元中目标处理单元的数量,在第三方向上对所述二次子网格结构中的网格进行划分,得到每个目标处理单元对应的待处理网格结构和相应结构对应的区域数据,并向所述目标处理单元分配所述待处理网格结构对应的区域数据,以使所述目标处理单元对所述待处理网格结构对应的区域数据进行计算;所述目标处理单元为所述区域数据的数据类型对应的具有向量化指令集函数的处理单元。
在一个可能的实现中,所述计算组件中的主计算单元采用配置的信息传递接口与除所述计算组件外的其他计算组件中的主计算单元进行数据通信,所述方法还包括:
将所述其他计算组件中主计算单元传输的目标网格的区域数据,传输至所述计算组件中的主计算单元;所述目标网格是与所述计算组件被分配的区域数据对应的网格中存在地理区域重叠的网格;
将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元,包括:
将所述次子网格结构的区域数据和所述其他计算组件中主计算单元传输的目标网格的区域数据分配给所述计算组件的主计算单元。
在一个可能的实现中,按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据,包括:
基于业务计算需求,确定所述网格结构中的待计算网格;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的待计算网格进行平均划分,得到所述每个计算组件对应的待计算网格集合;
在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的非待计算网格进行随机划分,得到所述非待计算网格对应的网格集合;
基于所述每个计算组件对应的待计算网格集合和所述非待计算网格对应的网格集合,确定所述每个计算组件对应的划分后的子网格结构和相应结构的区域数据。
在一个可能的实现中,所述网格信息还包括所述网格所属地理区域的区域类型,所述区域类型包括海洋类型;
若所述业务计算需求为海洋环流模式下目标变量的计算需求,则基于业务计算需求,确定所述网格结构中的待计算网格,包括:
获取所述网格结构中各网格对应的区域类型;
将所述区域类型为所述海洋类型的网格确定为待计算网格。
在一个可能的实现中,所述主计算单元与所述至少一个子计算单元间采用直接存储器访问方式进行数据通信。
在一个可能的实现中,基于所述预设分配策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,包括:
基于预设的第二方向与所述垂向的二维划分策略,控制所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分,得到所述二次子网格结构和相应结构对应的区域数据,以使所述主计算单元向所述至少一个子计算单元分配划分后的二次子网格结构对应的区域数据。
上述提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图3所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据的处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据的处理方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

Claims (9)

1.一种数据的处理方法,其特征在于,所述方法应用在海洋环流模式场景中,所述方法包括:
按照预设的空间分辨率,对地球空间进行经向、纬向和垂向的地理区域划分,获取所述地球空间对应的三维的网格结构和相应结构的网格信息;所述网格信息包括网格所属的地理区域和所述地理区域内的区域数据;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据;
针对每个计算组件,基于预设划分策略,对所述子网格结构中的网格在第一方向或所述垂向上进行划分,得到划分后的次子网格结构和相应结构对应的区域数据;并将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元;所述第一方向为所述纬向或所述垂向;所述次子网格结构包括所述主计算单元对应的次子网格结构和所述计算组件中至少一个子计算单元对应的次子网格结构;
基于所述预设划分策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,以使所述主计算单元和所述至少一个子计算单元,基于业务需求对分配的区域数据中的业务数据进行计算;其中,所述二次子网格结构是所述主计算单元在第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分后得到的,所述第二方向为所述纬向或所述经向。
2.如权利要求1所述的方法,其特征在于,控制所述计算组件中的主计算单元向所述计算组件中的至少一个子计算单元分配二次子网格结构的区域数据,包括:
针对每个子计算单元,控制所述计算组件中的主计算单元,按照所述子计算单元中目标处理单元的数量,在第三方向上对所述二次子网格结构中的网格进行划分,得到每个目标处理单元对应的待处理网格结构和相应结构对应的区域数据,并向所述目标处理单元分配所述待处理网格结构对应的区域数据,以使所述目标处理单元对所述待处理网格结构对应的区域数据进行计算;所述目标处理单元为所述区域数据的数据类型对应的具有向量化指令集函数的处理单元。
3.如权利要求1所述的方法,其特征在于,所述计算组件中的主计算单元采用配置的信息传递接口与除所述计算组件外的其他计算组件中的主计算单元进行数据通信,所述方法还包括:
将所述其他计算组件中主计算单元传输的目标网格的区域数据,传输至所述计算组件中的主计算单元;所述目标网格是与所述计算组件被分配的区域数据对应的网格中存在地理区域重叠的网格;
将所述次子网格结构对应的区域数据分配给所述计算组件的主计算单元,包括:
将所述次子网格结构的区域数据和所述其他计算组件中主计算单元传输的目标网格的区域数据分配给所述计算组件的主计算单元。
4.如权利要求1所述的方法,其特征在于,按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据,包括:
基于业务计算需求,确定所述网格结构中的待计算网格;
按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的待计算网格进行平均划分,得到所述每个计算组件对应的待计算网格集合;
在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的非待计算网格进行随机划分,得到所述非待计算网格对应的网格集合;
基于所述每个计算组件对应的待计算网格集合和所述非待计算网格对应的网格集合,确定所述每个计算组件对应的划分后的子网格结构和相应结构的区域数据。
5.如权利要求4所述的方法,其特征在于,所述网格信息还包括所述网格所属地理区域的区域类型,所述区域类型包括海洋类型;
若所述业务计算需求为海洋环流模式下目标变量的计算需求,则基于业务计算需求,确定所述网格结构中的待计算网格,包括:
获取所述网格结构中各网格对应的区域类型;
将所述区域类型为所述海洋类型的网格确定为待计算网格。
6.如权利要求1所述的方法,其特征在于,所述主计算单元与所述至少一个子计算单元间采用直接存储器访问方式进行数据通信。
7.如权利要求1或2所述的方法,其特征在于,基于所述预设划分 策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,包括:
基于预设的第二方向与所述垂向的二维划分策略,控制所述主计算单元在所述第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分,得到所述二次子网格结构和相应结构对应的区域数据,以使所述主计算单元向所述至少一个子计算单元分配划分后的二次子网格结构对应的区域数据。
8.一种数据的处理装置,其特征在于,所述装置应用在海洋环流模式场景中,所述装置包括:
区域划分单元,用于按照预设的空间分辨率,对地球空间进行经向、纬向和垂向的地理区域划分,获取所述地球空间对应的三维的网格结构和相应结构的网格信息;所述网格信息包括网格所属的地理区域和所述地理区域内的区域数据;
网格划分单元,用于按照计算组件的配置数量,在所述网格结构中经向与纬向对应的网格平面上,对所述网格结构中的网格进行划分,得到每个计算组件对应的划分后的子网格结构和相应结构对应的区域数据;
以及,针对每个计算组件,基于预设划分策略,对所述子网格结构中的网格在第一方向或所述垂向上进行划分,得到所述计算组件中主计算单元对应的划分后的次子网格结构和相应结构对应的区域数据;
数据分配单元,用于将所述次子网格结构对应的区域数据分配给相应计算组件的主计算单元;所述第一方向为所述纬向或所述垂向;所述次子网格结构包括所述主计算单元对应的次子网格结构和所述计算组件中至少一个子计算单元对应的次子网格结构;
控制单元,用于基于所述预设划分策略,控制所述主计算单元向所述至少一个子计算单元分配二次子网格结构对应的区域数据,以使所述主计算单元和所述至少一个子计算单元,基于业务需求对分配的区域数据中的业务数据进行计算;其中,所述二次子网格结构是所述主计算单元在第二方向与所述垂向对应的网格平面上,对所述至少一个子计算单元对应的次子网格结构中的网格进行划分后得到的,所述第二方向为所述纬向或所述经向。
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-7任一所述的方法步骤。
CN202111258886.6A 2021-10-28 2021-10-28 数据的处理方法、装置及电子设备 Active CN113706706B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111258886.6A CN113706706B (zh) 2021-10-28 2021-10-28 数据的处理方法、装置及电子设备
US17/837,078 US20230140242A1 (en) 2021-10-28 2022-06-10 Data processing method and apparatus and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111258886.6A CN113706706B (zh) 2021-10-28 2021-10-28 数据的处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113706706A CN113706706A (zh) 2021-11-26
CN113706706B true CN113706706B (zh) 2022-02-01

Family

ID=78647154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111258886.6A Active CN113706706B (zh) 2021-10-28 2021-10-28 数据的处理方法、装置及电子设备

Country Status (2)

Country Link
US (1) US20230140242A1 (zh)
CN (1) CN113706706B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116089076B (zh) * 2022-12-30 2023-11-28 清华大学 数据处理方法、装置、计算机设备和存储介质
CN116502373B (zh) * 2023-06-30 2023-10-20 陕西空天信息技术有限公司 流道计算网格生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480175A (zh) * 2017-06-30 2017-12-15 广州数鹏通科技有限公司 一种基于网格化的地理信息数据筛选方法、电子设备、存储介质及系统
CN110348896A (zh) * 2019-06-30 2019-10-18 腾讯科技(深圳)有限公司 划分地理网格的方法、商圈确定方法及设备
CN113326343A (zh) * 2021-06-17 2021-08-31 北京连山科技股份有限公司 基于多级网格和文件索引的路网数据存储方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646332B2 (en) * 2007-08-09 2010-01-12 Raytheon Company Method and apparatus for interleaved gridding in distributed multiple computing for real-time RCS prediction
CN107103639B (zh) * 2010-06-30 2021-05-18 巴里·林恩·詹金斯 确定网格多边形或网格多边形的分段的集合的方法和系统
CN108038249B (zh) * 2017-12-28 2020-05-19 北京星球时空科技有限公司 一种全球一张图数据存储组织方法及调用方法
KR20190119222A (ko) * 2018-04-03 2019-10-22 엘지전자 주식회사 로봇 청소기
CN111884939B (zh) * 2020-08-31 2022-04-08 广州文远知行科技有限公司 数据传输方法、装置、可移动载体和存储介质
CN112731565B (zh) * 2021-03-17 2022-08-23 北京墨迹风云科技股份有限公司 一种基于多级网格地图的天气预报数据加工方法及装置
CN113515525A (zh) * 2021-07-29 2021-10-19 郑州众合景轩信息技术有限公司 一种基于全球多尺度格网的空间数据组织方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480175A (zh) * 2017-06-30 2017-12-15 广州数鹏通科技有限公司 一种基于网格化的地理信息数据筛选方法、电子设备、存储介质及系统
CN110348896A (zh) * 2019-06-30 2019-10-18 腾讯科技(深圳)有限公司 划分地理网格的方法、商圈确定方法及设备
CN113326343A (zh) * 2021-06-17 2021-08-31 北京连山科技股份有限公司 基于多级网格和文件索引的路网数据存储方法及系统

Also Published As

Publication number Publication date
US20230140242A1 (en) 2023-05-04
CN113706706A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN113706706B (zh) 数据的处理方法、装置及电子设备
Shimokawabe et al. An 80-fold speedup, 15.0 TFlops full GPU acceleration of non-hydrostatic weather model ASUCA production code
US10007742B2 (en) Particle flow simulation system and method
Kerbyson et al. A performance model of the parallel ocean program
US8949096B2 (en) Three-dimensional tracer dispersion model
Herzfeld An alternative coordinate system for solving finite difference ocean models
CN101727653A (zh) 一种基于图形处理器的多组分系统离散模拟计算方法
CN106021567A (zh) 一种基于Hadoop的海量矢量数据划分方法及系统
Li et al. GPU-CA model for large-scale land-use change simulation
Lai et al. A parallel two-dimensional discontinuous galerkin method for shallow-water flows using high-resolution unstructured meshes
Langguth et al. Scalable heterogeneous CPU-GPU computations for unstructured tetrahedral meshes
CN115994496A (zh) 城市公园高分辨率大气co2浓度三维场的数值模拟方法
Roberts et al. Dynamic load balancing for predictions of storm surge and coastal flooding
Jacobsen Mass conservation in computational morphodynamics: uniform sediment and infinite availability
Ye et al. swNEMO_v4. 0: an ocean model NEMO for the next generation Sunway supercomputer
CN110990926A (zh) 一种基于面积修正率的城市地表建筑水动力学仿真方法
CN105808812A (zh) 一种地表水水龄二维介观数值模拟方法
Dou et al. An equal‐area triangulated partition method for parallel Xdraw viewshed analysis
Ma et al. Development and evaluation of a GPU-based coupled three-dimensional hydrodynamic and water quality model
Yoshida et al. CONeP: A cost-effective online nesting procedure for regional atmospheric models
Vu et al. Computational flood modeling with UPC architecture
EA043837B1 (ru) Способ, устройство и электронное оборудование для обработки данных
CN113962130A (zh) 一种三维接触传热的计算方法
Jamroz et al. Asynchronous communication in spectral-element and discontinuous Galerkin methods for atmospheric dynamics–a case study using the High-Order Methods Modeling Environment (HOMME-homme_dg_branch)
Shrestha et al. Multi-level domain-decomposition strategy for solving the eikonal equation with the fast-sweeping method

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