CN116954932A - 空气质量模式运行方法、装置、存储介质及电子设备 - Google Patents
空气质量模式运行方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116954932A CN116954932A CN202311221586.XA CN202311221586A CN116954932A CN 116954932 A CN116954932 A CN 116954932A CN 202311221586 A CN202311221586 A CN 202311221586A CN 116954932 A CN116954932 A CN 116954932A
- Authority
- CN
- China
- Prior art keywords
- target
- processor
- air quality
- quality mode
- target operation
- 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 117
- 238000012545 processing Methods 0.000 claims abstract description 96
- 238000004364 calculation method Methods 0.000 claims abstract description 87
- 230000003993 interaction Effects 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 29
- 239000003344 environmental pollutant Substances 0.000 claims description 26
- 231100000719 pollutant Toxicity 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 18
- 239000000356 contaminant Substances 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 23
- 238000005457 optimization Methods 0.000 description 19
- 238000004590 computer program Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 7
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004062 sedimentation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- CBENFWSGALASAD-UHFFFAOYSA-N Ozone Chemical compound [O-][O+]=O CBENFWSGALASAD-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000926 atmospheric chemistry Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006303 photolysis reaction Methods 0.000 description 1
- 230000015843 photosynthesis, light reaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B30/00—Energy efficient heating, ventilation or air conditioning [HVAC]
- Y02B30/70—Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种空气质量模式运行方法、装置、存储介质及电子设备,其中,该方法应用于目标运行设备中的目标中央处理器,该方法包括:获取目标空气质量模式,目标空气质量模式包括重构平流模块,重构平流模块用于支持目标中央处理器和目标图形处理器之间的数据交互;确定重构平流模块所需计算的目标运行数据;通过重构平流模块,将目标运行数据发送至目标图形处理器中,以使目标图形处理器对目标运行数据进行并行计算,得到目标运行数据的目标运行结果;接收目标图形处理器返回的目标运行结果,目标运行结果用于目标空气质量模式的后续运行。本发明实施例可通过目标图形处理器对目标运行数据进行并行计算,以提高目标空气质量模式的运行速度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种空气质量模式运行方法、装置、存储介质及电子设备。
背景技术
目前,空气质量模式通常以三维网格形式定量描述污染物在大气中的排放、传输、扩散、化学转化和沉降过程等;其中,用于模拟预测大气化学成分和污染物迁移和输送过程的平流模块不仅是空气质量模式的核心,而且求解水平平流方程(即平流求解方程)的平流求解器也是计算密集型模块。但现有技术通常仅能在通用CPU(Central Processing Unit,中央处理器)上以串行方式运行,即采用循环方式依次求解每个网格中的平流求解方程,导致运行速度较慢。基于此,如何提高空气质量模式的运行速度成为一个研究热点。
发明内容
有鉴于此,本发明实施例提供了一种空气质量模式运行方法、装置、存储介质及电子设备,以解决空气质量模式的运行速度较慢的问题;也就是说,本发明实施例可在运行目标空气质量模式时,实现目标中央处理器和目标图形处理器之间的数据交互,从而通过目标图形处理器对目标运行数据进行并行计算,以提高目标空气质量模式的运行速度。
根据本发明的一方面,提供了一种空气质量模式运行方法,该方法应用于目标运行设备中的目标中央处理器,目标运行设备包括至少一个中央处理器和至少一个图形处理器,目标中央处理器为至少一个中央处理器中的任一中央处理器,该方法包括:
获取目标空气质量模式,目标空气质量模式包括重构平流模块,重构平流模块用于支持目标中央处理器和目标图形处理器之间的数据交互,目标图形处理器为至少一个图形处理器中与目标中央处理器相对应的图形处理器;
确定重构平流模块所需计算的目标运行数据,目标运行数据包括M个目标网格中各个目标网格的运行数据,M个目标网格是从网格模型中确定出的,网格模型为目标区域被划分为多个网格的划分结果,M为正整数;
通过重构平流模块,将目标运行数据发送至目标图形处理器中,以使目标图形处理器对目标运行数据进行并行计算,得到目标运行数据的目标运行结果;
接收目标图形处理器返回的目标运行结果,目标运行结果用于目标空气质量模式的后续运行。
根据本发明的另一方面,提供了另一种空气质量模式运行方法,该方法应用于目标运行设备中的目标图形处理器,目标运行设备包括至少一个中央处理器和至少一个图形处理器,目标图形处理器为至少一个图形处理器中的任一图形处理器,该方法包括:
接收目标中央处理器发送的目标运行数据,目标中央处理器为至少一个中央处理器中与目标图形处理器相对应的中央处理器;
确定目标运行数据所指示的M个目标网格的网格分布信息,并基于网格分布信息,确定M个目标网格对应的多个线程,多个线程包括至少一个线程块中的线程;
采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果;
将目标运行结果发送至目标中央处理器,以使目标中央处理器基于目标运行结果对目标空气质量模式进行后续运行。
根据本发明的另一方面,提供了另一种空气质量模式运行方法,该方法应用于异构集群中的控制设备,异构集群包括多个运行设备,控制设备用于从异构集群中确定出至少一个目标运行设备,以使至少一个目标运行设备运行目标空气质量模式,一个运行设备包括至少一个中央处理器和至少一个图形处理器,且一个中央处理器包括至少一个中央处理器核心,该方法包括:
获取配置信息和网格模型,配置信息包括配置数量,配置数量用于指示所需启动的中央处理器核心数量和/或图形处理器数量,网格模型为目标区域被划分为多个网格的划分结果;
基于配置数量,确定Q组处理器,一组处理器包括一个中央处理器核心和一个图形处理器,且Q组处理器分布在至少一个目标运行设备中,Q等于配置数量;
基于配置数量,对网格模型进行划分,得到Q组处理器中各组处理器对应的网格子区域,一组处理器负责一个网格子区域内的计算任务;
基于各组处理器对应的网格子区域,分别确定各组处理器所需的目标运行数据,并分别将各组处理器所需的目标运行数据发送至相应处理器组所在的目标运行设备中,以使各组处理器基于接收到的目标运行数据,运行目标空气质量模式,得到各个网格子区域内的运行结果。
根据本发明的另一方面,提供了一种空气质量模式运行装置,该装置运行于目标运行设备中的目标中央处理器上,目标运行设备包括至少一个中央处理器和至少一个图形处理器,目标中央处理器为至少一个中央处理器中的任一中央处理器,该装置包括:
第一处理单元,用于获取目标空气质量模式,目标空气质量模式包括重构平流模块,重构平流模块用于支持目标中央处理器和目标图形处理器之间的数据交互,目标图形处理器为至少一个图形处理器中与目标中央处理器相对应的图形处理器;
第一处理单元,还用于确定重构平流模块所需计算的目标运行数据,目标运行数据包括M个目标网格中各个目标网格的运行数据,M个目标网格是从网格模型中确定出的,网格模型为目标区域被划分为多个网格的划分结果,M为正整数;
第一发送单元,用于通过重构平流模块,将目标运行数据发送至目标图形处理器中,以使目标图形处理器对目标运行数据进行并行计算,得到目标运行数据的目标运行结果;
第一接收单元,用于接收目标图形处理器返回的目标运行结果,目标运行结果用于目标空气质量模式的后续运行。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括处理器、以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述所提及的方法。
根据本发明的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行上述所提及的方法。
本发明实施例可在目标运行设备中的目标中央处理器获取到目标空气质量模式后,确定目标空气质量模式包括的重构平流模块所需计算的目标运行数据,目标运行数据包括M个目标网格中各个目标网格的运行数据,重构平流模块用于支持目标中央处理器和目标图形处理器之间的数据交互,即可使得重构平流模块适配于图形处理器,且目标运行设备为异构集群中的控制设备从异构集群包括的多个运行设备中确定出的。然后,目标中央处理器可通过重构平流模块,将目标运行数据发送至目标图形处理器中,基于此,目标图形处理器可确定目标运行数据所指示的M个目标网格的网格分布信息,并基于网格分布信息,确定M个目标网格对应的多个线程;然后,可采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果。进一步的,目标中央处理器可接收目标图形处理器返回的目标运行结果,目标运行结果用于目标空气质量模式的后续运行。可见,本发明实施例可在运行目标空气质量模式时,实现目标中央处理器和目标图形处理器之间的数据交互,也就是说,可使得目标空气质量模式中的重构平流模块适配于图形处理器,从而可通过目标图形处理器对目标运行数据进行并行计算,以提高目标空气质量模式的运行速度。
附图说明
在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
图1示出了根据本发明示例性实施例的一种空气质量模式运行方法的流程示意图;
图2示出了根据本发明示例性实施例的一种数据交互的示意图;
图3示出了根据本发明示例性实施例的另一种空气质量模式运行方法的流程示意图;
图4示出了根据本发明示例性实施例的一种线程格的示意图;
图5示出了根据本发明示例性实施例的又一种空气质量模式运行方法的流程示意图;
图6a示出了根据本发明示例性实施例的一种测试结果的示意图;
图6b示出了根据本发明示例性实施例的另一种测试结果的示意图;
图7示出了根据本发明示例性实施例的一种多核多卡测试结果的示意图;
图8a示出了根据本发明示例性实施例的一种空气质量模式运行装置的示意性框图;
图8b示出了根据本发明示例性实施例的另一种空气质量模式运行装置的示意性框图;
图8c示出了根据本发明示例性实施例的又一种空气质量模式运行装置的示意性框图;
图9示出了能够用于实现本发明的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在本发明实施例中,涉及一种异构集群;具体的,该异构集群可包括多个运行设备和控制设备,控制设备用于从异构集群中确定出至少一个目标运行设备,以使至少一个目标运行设备运行目标空气质量模式,一个运行设备包括至少一个中央处理器和至少一个图形处理器(Graphics Processing Unit,GPU);可选的,控制设备可以与多个运行设备中的一个运行设备为同一电子设备,也可以与多个运行设备中的任意运行设备均不为同一电子设备等;为了便于阐述,后续均以控制设备为多个运行设备以外的电子设备为例进行说明。
其中,电子设备(如运行设备和控制设备等)可以是终端(即客户端)或者服务器;可选的,此处所提及的终端可以包括但不限于:笔记本电脑、台式计算机、超级计算机等。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(cloud computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
基于上述描述,本发明实施例提出一种空气质量模式运行方法,该空气质量模式运行方法可以由上述所提及的电子设备(如目标运行设备)中的目标中央处理器执行,目标运行设备包括至少一个中央处理器和至少一个图形处理器,目标中央处理器为至少一个中央处理器中的任一中央处理器;如图1所示,该空气质量模式运行方法可包括以下步骤S101-S104:
S101,获取目标空气质量模式,目标空气质量模式包括重构平流模块,重构平流模块用于支持目标中央处理器和目标图形处理器之间的数据交互,目标图形处理器为至少一个图形处理器中与目标中央处理器相对应的图形处理器。
其中,目标空气质量模式可以是NAQPMS(Nested Air Quality PredictionModeling System,嵌套网格空气质量预报模式系统),也可以是CMAQ(CommunityMultiscale Air Quality,区域多尺度空气质量模型),还可以是CAMx(一种基于大气化学,针对臭氧、颗粒物的大气污染物计算模型)等。可选的,目标空气质量模式可包括但不限于:排放模块、气象场更新模块、扩散模块、湿沉降模块、光解模块以及化学模块等。
在本发明实施例中,目标空气质量模式的获取方式可包括但不限于以下几种:第一种获取方式:目标中央处理器可通过远程传输方式进行获取,如根据下载链接进行下载,从而将下载的空气质量模式作为目标空气质量模式。第二种获取方式:目标运行设备存储有包括重构平流模块的至少一个空气质量模式,目标中央处理器可从至少一个空气质量模式中选取出一个空气质量模式,并将选取出的空气质量模式作为目标空气质量模式,等等。
需要说明的是,空气质量模式通常是由Fortran计算机语言(一种编程语言)实现的,而图形处理器通常无法支持Fortran源码的运行,导致无法适配于GPU及异构超算平台(包括CPU和GPU的运行设备)等;本发明实施例可通过适配于图形处理器的重构平流模块,加速对目标空气质量模式的运行,以减少计算耗时;其中,图形处理器也可称为加速卡。可选的,图形处理器可为DCU(Deep Computing Unit,深度计算器),也可为具有Stream(流媒体技术)通用运算的GPU等;可选的,本发明实施例可优选DCU作为图形处理器。
应当理解的是,传统CPU是计算机系统的运算和控制核心,但计算单元少;而GPU加速卡则由更多、更小的专业内核组成,其计算单元较多,可通过多个内核间的协同工作以提供强大算力。其中,一个CPU可包括至少一个中央处理器核心(即中央处理器核),且一个图形处理器可对应一个中央处理器核,即一个图形处理器可与相应中央处理器核所在的中央处理器相对应;并且,一个中央处理器核可对应一个进程,那么一个图形处理器可对应一个进程,且一个中央处理器核可对应一个进程标识,从而通过进程标识来指示相应的中央处理器核。可选的,进程标识可以是字符标识或数字标识等,本发明对此不作限定。其中,目标运行设备可为异构集群中的任一运行设备,异构集群可包括多个运行设备。
具体的,重构平流模块可包括重构平流求解模块(即重构平流求解程序)和异构编程模块,这两个模块均是通过目标编程语言构建的,目标编程语言适配于目标图形处理器,且重构平流模块通过异构编程模块用于支持目标中央处理器和目标图形处理器之间的数据交互,也就是说,重构平流求解模块结合异构编程模块可实现重构平流求解模块在图形处理器上的移植适配,即可通过异构编程模块,使得重构平流求解模块适配于图形处理器。
可选的,目标编程语言可为C语音(一种计算机语言),即重构平流求解模块可以是利用C语言重构原平流求解程序Fortran源码后的结果,异构编程模块可为HIP(Heterogeneous-Computing Interface for Portability,可移植异构计算接口)C技术实现的HIP异构编程模块,也可称为HIP异构编程模型;可见,通过C语言对平流求解模块进行重构后,可使用ROCm(Radeon Open Compute platform,一种开源计算平台)框架下的HIP异构编程模块实现由原CPU处理器向图形处理器的移植适配。基于此,重构平流求解模块中每个函数名的末尾均追加有下划线,以使目标空气质量模式中通过Fortran计算机语言实现的模块可识别重构平流求解模块中的函数;相应的,重构平流求解模块是通过指针传递相关变量和参数的,是按照C语言编程规范定义变量名称和精度类型的,且是按照C语言编程规范重写循环、流程控制以及算数运算相关代码所得到的;其中,若C语言无法实现Fortran语言中的部分内置函数功能(如最大值函数max),需在C语言宏定义中构造并声明。
可选的,一个平流求解模块可为PPM(Piecewise Parabolic Method,逐段抛物线)平流求解器或PCM(逐段立方曲线)平流求解器等;可选的,本发明实施例可优选PPM平流求解器作为平流求解模块。可选的,异构编程模块可包括但不限于:配置线程数量(dimGrid)、申请GPU显存(hipMalloc)、CPU向GPU拷贝数据(hipMemcpy)、启动核函数(hipLaunchKernelGGL)、GPU向CPU回传数据(hipMemcpy)以及释放GPU显存(hipFree)等指令,以实现平流求解模块运算过程由CPU向GPU的移植适配。可选的,上述目标区域可为至少一个省所在的区域或至少一个市所在的区域,等等;本发明对此不作限定。
S102,确定重构平流模块所需计算的目标运行数据,目标运行数据包括M个目标网格中各个目标网格的运行数据,M个目标网格是从网格模型中确定出的,网格模型为目标区域被划分为多个网格的划分结果,M为正整数。
其中,目标运行数据可包括多个计算参数中各个计算参数的参数数据,且一个参数数据包括相应计算参数分别在各个目标网格下的运行数据;多个计算参数可包括但不限于:污染物浓度、网格面积修正矢量、界面面积修正矢量以及风矢量等。可选的,目标运行数据还可包括但不限于:时间积分步长、界面质量通量的浓度变化、网格模型的列数等。
具体的,目标中央处理器可确定各个计算参数对应的参数结构(即数组结构),一个计算参数对应的参数结构用于指示相应计算参数在多个遍历参数下的遍历传输参数,多个遍历参数是由网格模型确定的;然后,基于各个计算参数对应的参数结构,从网格模型中确定出M个目标网格,并分别确定各个计算参数在各个目标网格下的运行数据,以实现确定重构平流模块所需计算的目标运行数据。其中,遍历传输参数是指传输一次所需遍历的参数,多个遍历参数可包括运行目标空气质量模式所需遍历的所有参数(如X方向网格编号、Y方向网格编号、垂直层数以及物种参数等)。例如,以X方向平流求解程序为例,假设M个目标网格为网格模型中的一行网格,即目标中央处理器每次可向目标图形处理器发送一行网格下的目标运行数据,那么遍历传输参数可包括X方向网格编号(即东西向网格i),各个计算参数对应的参数结构均为一维数组结构;相应的,其外部嵌套有四层循环,由内向外依次是物种(ispc)循环、南北向网格(j)循环(即Y方向网格编号)、时间积分步长(istep)循环以及垂直层数(k)循环,即多个遍历参数中除遍历传输参数外还包括Y方向网格编号、垂直层数以及物种参数。
可选的,平流模块可调用hadvppm(一种传输接口)子程序将确定的目标运行数据发送给异构编程模块,并通过异构编程模块将目标运行数据发送给GPU。基于此,在各个计算参数对应的参数结构均为一维数组结构时,每调用一次hadvppm,CPU可向GPU传递一次各个计算参数对应的一维数组,此数据传输方式使得CPU一次性传输至GPU的数据量较小,从而导致CPU与GPU之间的数据传输频繁。为了进一步提高目标空气质量模式的计算效率,可使得各个计算参数对应的参数结构均为:多维数组结构,也就是说,可通过重构通讯模块中的逻辑循环体系和数据结构方式增加CPU传输至GPU的数据量,即当通讯模块为平流模块中的模块时,可通过重构平流模块的方式增加CPU传输至GPU的数据量,以降低传输频次。可选的,通讯模块可以为目标空气质量模式包括的排放模块中的模块,也可以为平流模块中的模块等,本发明对此不作限定;可选的,通讯模块可以是由Fortran语言实现的。
在本发明实施例中,各个计算参数对应的参数结构可以均为:多维数组结构(即多维数据结构),从而可将各个计算参数对应的参数结构由一维拓展到多维,以增加CPU至GPU的数据传输量,此时遍历传输参数的数量可为多个。基于此,在基于各个计算参数对应的参数结构,从网格模型中确定出M个目标网格时,目标中央处理器可基于各个计算参数对应的参数结构,确定各个计算参数对应的参数结构所指示的遍历传输参数中各个遍历传输参数的遍历参数范围;并基于各个遍历传输参数的遍历参数范围,从网格模型中确定出M个目标网格;其中,多个计算参数包括污染物浓度参数,且污染物浓度参数对应的参数结构所指示的遍历传输参数可包括物种参数。可见,目标中央处理器可根据多维数组结构合并东西向网格(i)循环的同时调整物种(ispc)循环顺序等;相应的,目标中央处理器可通过调用hadvppm程序启动异构编程模块,异构编程模块中通过宏定义方式声明多维数组中各元素索引方式。其中,优化各个计算参数对应的参数结构的过程也可称为通讯优化过程。
需要说明的是,Fortran语言在内存中存取多维数组元素时可遵循“列优先”规则,即优先存取低维数组元素,再存取高维数组元素;而C语言遵循“行优先”规则,即优先存取高维数组元素,再存取低维数组元素。例如,以一个2行3列的二维数组a为例进行说明, “列优先”规则下的排序方式为a[0][0]、a[1][0]、a[0][1]、a[1][1]、a[0][2]以及a[1][2];“行优先”规则下的排序方式为a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]以及a[1][2]。
应当理解的是,在计算机硬件结构中,若读取大规模数组时的每笔数据都存储在邻近内存位置,则访存效率会大幅提高;由于高速缓存的访问速度比主储存器快数倍,当CPU需要数据时,优先检查其是否存放在Cache中,然后才在速度较慢的主存储器中寻找;同样,CPU向主存储器索取数据时,除所需数据外,通常还将所需数据的邻近数据存放至Cache中,以提升下一条指令的访存效率。
具体的,针对多个计算参数中的任一计算参数,目标中央处理器可确定目标存取规则(即列优先规则),目标存取规则与目标空气质量模型中除重构平流模块以外的任一模块的存取规则相同;并可按照目标存取规则,对任一计算参数在各个目标网格下的运行数据进行存取,以使重构平流模块的存取规则为目标存取规则,从而实现访存优化,可保证任一计算参数的参数数据在内存中的连续访问,进而提升内存访问效率。例如,异构编程模块宏定义中的数组索引方式可由#define A(i,j,k) ((k) × (jdim) × (idim) + (i) ×(jdim) + (j))调整为#define A(i,j,k) ((k) × (jdim) × (idim) + (j) × (idim)+ (i)),从而按照目标存取规则进行存取;其中,A为存储的数组名,jdim为列维度(即列数),idim为行维度(即行数)。
可选的,各个计算参数对应的参数结构所指示的遍历传输参数包括垂直层数和物种参数,垂直层数的遍历顺序可先于物种参数的遍历顺序,即垂直层数的循环在前,物种参数的循环在后;也就是说,目标中央处理器可先遍历垂直层数,再遍历物种参数,从而保证内存的连续访问,即可保证同一物种下的数据的连续存取。
S103,通过重构平流模块,将目标运行数据发送至目标图形处理器中,以使目标图形处理器对目标运行数据进行并行计算,得到目标运行数据的目标运行结果。
可选的,目标中央处理器在将目标运行数据通过指针传递至异构编程模块后,可通过异构编程模块中的hipMalloc函数分配GPU显存,并通过异构编程模块中的hipMemcpy函数将目标运行数据由CPU端传递至GPU端,以使GPU将目标运行数据存储在分配的显存中。然后,可通过异构编程模块中的hipLaunchKernelGGL函数启动GPU核函数(Kernel),那么目标图形处理器可通过Kernel自动索引的方式启动大量线程同时执行核函数副本(即每个线程均可运行核函数),以实现对目标运行数据的并行计算。
S104,接收目标图形处理器返回的目标运行结果,目标运行结果用于目标空气质量模式的后续运行。
可选的,待目标图形处理器计算完成之后,可通过hipMemcpy函数将计算完成的目标运行结果传回至目标中央处理器,从而通过重构平流求解模块完成一次目标中央处理器与目标图形处理器之间的异构计算。例如,如图2所示,目标空气质量模式可包括重构平流模块,在运行到重构平流模块时,目标中央处理器可确定目标运行数据,并将目标运行数据发送至目标图形处理器,那么目标图形处理器可对目标运行数据进行并行计算,从而将计算得到的目标运行结果返回至目标中央处理器,以使目标中央处理器可根据目标运行结果继续对目标空气质量模式进行后续运行。
本发明实施例可在目标运行设备中的目标中央处理器获取到目标空气质量模式后,确定目标空气质量模式包括的重构平流模块所需计算的目标运行数据,目标运行数据包括M个目标网格中各个目标网格的运行数据,重构平流模块用于支持目标中央处理器和目标图形处理器之间的数据交互,即本发明实施例可使得重构平流模块适配于图形处理器。然后,目标中央处理器可通过重构平流模块,将目标运行数据发送至目标图形处理器中,以使目标图形处理器对目标运行数据进行并行计算,得到目标运行数据的目标运行结果;进一步的,可接收目标图形处理器返回的目标运行结果。可见,本发明实施例可在运行目标空气质量模式时,实现目标中央处理器和目标图形处理器之间的数据交互,即可使得目标空气质量模式中的重构平流模块适配于图形处理器,从而可通过目标图形处理器对目标运行数据进行并行计算,以提高目标空气质量模式的运行速度。
基于上述描述,本发明实施例还提出另一种空气质量模式运行方法,该空气质量模式运行方法可以由上述所提及的电子设备(如目标运行设备)中的目标图形处理器执行,目标运行设备包括至少一个中央处理器和至少一个图形处理器,目标图形处理器为至少一个图形处理器中的任一图形处理器。请参见图3,该空气质量模式运行方法可包括以下步骤S301-S304:
S301,接收目标中央处理器发送的目标运行数据,目标中央处理器为至少一个中央处理器中与目标图形处理器相对应的中央处理器。
S302,确定目标运行数据所指示的M个目标网格的网格分布信息,并基于网格分布信息,确定M个目标网格对应的多个线程,多个线程包括至少一个线程块中的线程。
其中,线程(thread)是图形处理器最小执行单元,其包含三个层级;最高层级是线程格(grid),由一维、二维或三维线程块(block)构成;第二层级是线程块,其同样可由一维、二维或者三维线程构成。
在本发明实施例中,网格分布信息可包括横向网格数量(即东西向网格数量)和纵向网格数量(即南北向网格数量);基于此,在基于网格分布信息,确定M个目标网格对应的多个线程时,目标图形处理器可基于纵向网格数量,确定至少一个线程块,至少一个线程块包括的线程块数等于纵向网格数量;并基于横向网格数量,分别确定至少一个线程块中各个线程块包括的N个线程,以确定M个目标网格对应的多个线程,多个线程包括各个线程块中的N个线程,N等于横向网格数量。可见,本发明实施例可通过二维线程组织形式为水平方向上的每个网格均配置1个线程以并行求解平流求解方程,可保证每个线程负责一个网格内的平流求解计算任务;那么当纵向网格数量大于1时,至少一个线程块中的线程块数大于1,可实现平流求解程序在目标图形处理器上的二维网格并行计算。其中,至少一个线程块中的各个线程块与M个目标网格中各行网格一一对应;针对至少一个线程块中的任一线程块,该任一线程块可用于对任一线程块对应的网格行进行并行计算,且任一线程块中的各个线程与任一线程块对应的网格行中的网格一一对应。可见,本发明实施例可通过至少一个线程块进行并行计算,从而实现线程优化,以提高运行速度,减少计算耗时。
示例性的,如图4所示,假设横向网格数量为4(即M个目标网格中的东西向网格数量为4),纵向网格数量为6,那么目标图形处理器可确定6个线程块,且可确定每个线程块可包括4个线程,此时线程格可以包括6行4列的线程,即多个线程可包括6个线程块中的线程,且每个线程块可包括4个线程。进一步的,可采用i,j表示一个线程所需执行的网格的位置(j用于指示网格所在行,i用于指示网格所在列),且i可等于threadIdx.x + blockIdx.x× blockDim.x,j可等于blockIdx.y;其中,threadIdx.x可为当前线程所处的线程块的坐标位置(如一个线程块的第2个线程对应的threadIdx.x可以为1),blockIdx.x、blockIdx.y可分别表示当前线程块所处的线程格的坐标位置(如第2个线程块对应的blockIdx.x、blockIdx.y可以分别为0和1),blockDim.x可表示线程块中x方向维度的大小(即横向网格数量);在此种情况下,线程块0中的线程0(即第1个线程块中的第1个线程)对应的threadIdx.x、blockIdx.x、blockIdx.y分别为0、0、0,此时i、j分别为0和0,那么线程块0中的线程0可用于执行网格[0,0]的运行数据;同理,线程块1中的线程2(即第2个线程块中的第3个线程)对应的threadIdx.x、blockIdx.x、blockIdx.y分别为2、0、1,此时i、j分别为2和1,那么线程块1中的线程2可用于执行网格[1,2]的运行数据,等等。
S303,采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果。
在本发明实施例中,目标运行数据可包括污染物浓度参数的参数数据;基于此,在采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果时,目标图形处理器可在检测到污染物浓度参数在多个线程中的各个线程下的目标浓度值时,对污染物浓度参数在各个线程下的目标浓度值进行更新,以实现采用多个线程,对目标运行数据进行并行计算,得到目标运行数据对应的目标运行结果;其中,污染物浓度参数在各个线程下的目标浓度值均是通过目标核函数计算所得到的,污染物浓度参数在各个线程下的目标浓度值的检测,是通过对污染物浓度参数对应的复制污染物浓度参数在各个线程下的浓度值的检测所得到的。可选的,目标核函数可为目标图形处理器所需执行的任一核函数。可见,目标图形处理器在对各个线程下的污染物浓度参数的浓度值均进行更新,以得到污染物浓度参数在各个线程下的目标浓度值后,再继续对污染物浓度参数在各个线程下的目标浓度值进行更新,从而避免强制计算下一步的更新操作,以保证结果的一致性,即可实现迭代剥离,以解除数据依赖关系,从而有效避免计算错误。
具体的,目标图形处理器可将污染物浓度参数在各个线程下的目标浓度值,分别作为污染物浓度参数对应的复制污染物浓度参数在相应线程下的浓度值;在检测到复制污染物浓度参数在各个线程下的浓度值时,可确定检测到污染物浓度参数在各个线程下的目标浓度值。基于此,在对污染物浓度参数在各个线程下的目标浓度值进行更新时,可基于复制污染物浓度参数在各个线程下的浓度值,对污染物浓度参数在各个线程下的目标浓度值进行更新,即可将复制污染物浓度参数代入至浓度更新运算中,以继续对污染物浓度参数在各个线程下的目标浓度值进行更新。
可选的,当M个目标网格对应的垂直层数大于1时,可基于垂直层数,遍历M个目标网格中的每一层网格,并从目标运行数据中确定出当前遍历的网格层中的运行数据,从而采用上述多个线程,对当前遍历的网格层中的运行数据进行并行计算,得到当前遍历的网格层的运行结果;在遍历完M个目标网格中的每一层网格后,可得到目标运行数据的目标运行结果,以实现采用多个线程,对目标运行数据进行并行计算。
S304,将目标运行结果发送至目标中央处理器,以使目标中央处理器基于目标运行结果对目标空气质量模式进行后续运行。
在其他实施例中,步骤S302也可以是由目标中央处理器执行的,那么目标中央处理器可基于网格分布信息计算并行线程数量,得到线程指示信息,线程指示信息用于指示M个目标网格对应的多个线程;进一步的,目标图形处理器还可接收目标中央处理器发送的线程指示信息,并根据线程指示信息确定多个线程,从而采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果,并将目标运行结果发送至目标中央处理器,等等。可选的,线程指示信息可包括并行线程数量(即多个线程中的线程数量),也可包括线程块数和每个线程块中的线程数量,等等;本发明对此不作限定。
本发明实施例可在目标图形处理器接收到目标中央处理器发送的目标运行数据后,确定目标运行数据所指示的M个目标网格的网格分布信息,并基于网格分布信息,确定M个目标网格对应的多个线程;然后,可采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果,并将目标运行结果发送至目标中央处理器,以使目标中央处理器基于目标运行结果对目标空气质量模式进行后续运行。可见,本发明实施例可通过多个线程进行并行计算,提高目标空气质量模式的运行速度,以进一步减少计算耗时。
基于上述描述,本发明实施例还提出又一种空气质量模式运行方法,该空气质量模式运行方法可以由上述所提及的电子设备(如异构集群中的控制设备)执行,异构集群包括多个运行设备,控制设备用于从异构集群中确定出至少一个目标运行设备,以使至少一个目标运行设备运行目标空气质量模式,一个运行设备包括至少一个中央处理器和至少一个图形处理器,且一个中央处理器包括至少一个中央处理器核心。请参见图5,该空气质量模式运行方法可包括以下步骤S501-S504:
S501,获取配置信息和网格模型,配置信息包括配置数量,配置数量用于指示所需启动的中央处理器核心数量和/或图形处理器数量,网格模型为目标区域被划分为多个网格的划分结果。
其中,所需启动的一个中央处理器核心对应一个图形处理器,且一个中央处理器核心可对应一个CPU进程,则一个CPU进程可对应一个图形处理器;可选的,由于所需启动的中央处理器核心数量与所需启动的图形处理器数量相同,那么配置数量可包括一个数量值,以同时指示所需启动的中央处理器核心数量和图形处理器数量;或者,配置数量也可包括中央处理器核心数量和图形处理器数量,以分别指示所需启动的中央处理器核心数量和图形处理器数量,等等;本发明对此不作限定。
在本发明实施例中,控制设备可在检测到目标对象(即用户)执行的配置信息输入操作时,将配置信息输入操作所携带的信息作为上述配置信息,以获取配置信息;或者,控制设备可随机生成配置信息,等等;本发明对此不作限定。
可选的,上述配置信息还可包括但不限于:运行设备数量(即节点数量)和每个运行设备所需启动的中央处理器核心数量,等等;本发明对此不作限定。
在本发明实施例中,控制设备还可获取多个运行设备中每个运行设备所配置的图形处理器数量(即每个运行设备中的图形处理器数量);可选的,控制设备可调用异构编程模块中的hipGetDeviceCount函数(一种库函数),获取每个运行设备所配置的图形处理器数量。可选的,控制设备还可获取每个运行设备中的中央处理器核心数量,本发明对此不作限定。
S502,基于配置数量,确定Q组处理器,一组处理器包括一个中央处理器核心和一个图形处理器,且Q组处理器分布在至少一个目标运行设备中,Q等于配置数量。
具体的,控制设备可从异构集群中确定出至少一个目标运行设备,至少一个目标运行设备中各个目标运行设备包括的图形处理器数量之和大于或等于Q;并基于配置数量,从至少一个目标运行设备中,确定出Q个中央处理器核心中各个中央处理器核心对应的进程标识;然后,可基于各个中央处理器核心对应的进程标识,分别在各个中央处理器核心所在的目标运行设备内,确定各个中央处理器核心对应的图形处理器,以实现确定Q组处理器,Q为正整数。
在一种实施方式中,若配置信息仅包括配置数量,那么控制设备可基于配置数量,从异构集群中选取出至少一个目标运行设备,以使至少一个目标运行设备包括的图形处理器数量总和大于或等于Q。进一步的,在基于配置数量,从至少一个目标运行设备中,确定出Q个中央处理器核心中各个中央处理器核心对应的进程标识时,控制设备可初始化中央处理器核心累积量,并遍历至少一个目标运行设备中的各个目标运行设备,以及将当前遍历的目标运行设备作为当前目标运行设备;然后,可确定当前目标运行设备中允许启动的中央处理器核心数量,并将允许启动的中央处理器核心数量累加至中央处理器核心累积量中,并在当前目标运行设备中,确定出数量为允许启动的中央处理器核心数量的中央处理器核心对应的进行标识,直至中央处理器核心累积量等于配置数量,以实现确定出Q个中央处理器核心中各个中央处理器核心对应的进程标识。其中,当前目标运行设备中允许启动的中央处理器核心数量可小于或等于目标启动数量;可选的,当控制设备获取有每个运行设备中的中央处理器核心数量和图形处理器数量时,目标启动数量可为当前目标运行设备中的中央处理器核心数量和图形处理器数量中的最小值,当控制设备仅获取有每个运行设备中的图形处理器数量时,目标启动数量可为当前目标运行设备中的图形处理器数量。
另一种实施方式中,若配置信息还包括运行设备数量,那么控制设备可基于运行设备数量,从异构集群中确定出至少一个目标运行设备,且至少一个目标运行设备中目标运行设备的数量等于运行设备数量。并且,至少一个目标运行设备包括的图形处理器数量总和大于或等于Q。进一步的,若配置信息还包括每个运行设备所需启动的中央处理器核心数量,则每个目标运行设备中的中央处理器核心数量均大于或等于每个运行设备所需启动的中央处理器核心数量,且每个目标运行设备中的图形处理器数量均大于或等于每个运行设备所需启动的图形处理器数量(即所需启动的中央处理器核心数量)。基于此,在基于配置数量,从至少一个目标运行设备中,确定出Q个中央处理器核心中各个中央处理器核心对应的进程标识时,针对至少一个目标运行设备中的任一目标运行设备,控制设备可从任一目标运行设备中,确定出数量为每个运行设备所需启动的中央处理器核心数量的中央处理器核心,并确定出任一目标运行设备所需启动的中央处理器核心中每个中央处理器核心对应的进程标识,以实现确定出Q个中央处理器核心中各个中央处理器核心对应的进程标识。
需要说明的是,在基于各个中央处理器核心对应的进程标识,分别在各个中央处理器核心所在的目标运行设备内,确定各个中央处理器核心对应的图形处理器时,控制设备可获取多个运行设备中各个运行设备所配置的图形处理器数量,并基于各个运行设备所配置的图形处理器数量,以及各个中央处理器核心对应的进程标识,分别计算各个中央处理器核心在相应目标运行设备内对应的图形处理器标识,以确定各个中央处理器核心对应的图形处理器。应当理解的是,根据各个中央处理器核心对应的进程标识,控制设备可确定所需启动的图形处理器总数(即Q),以及确定每个目标运行设备内所需启动的图形处理器的图形处理器标识。可选的,进程标识和图形处理器标识均可以为字符标识,也可以为数字标识等,本发明对此不作限定;其中,当图形处理器标识和进程标识为数字标识时,也可称为进程ID号(身份标识号)和图形处理器ID号。其中,一个进程标识可用于指示相应的CPU进程,且一个中央处理器核心对应一个CPU进程,从而可用于指示相应的中央处理器核心;相应的,一个图形处理器标识可用于指示相应的图形处理器。
可选的,当进程标识和图形处理器标识为数字标识时,针对Q个中央处理器核心中的任一中央处理器核心,控制设备可采用除余函数,对任一中央处理器核心对应的进程标识和任一中央处理器核心所在的目标运行设备所配置的图形处理器数量进行计算,得到任一中央处理器核心在相应目标运行设备内对应的图形处理器标识,从而可确定任一中央处理器核心对应的图形处理器;基于此,控制设备可将任一中央处理器核心对应的进程标识和任一中央处理器核心所在的目标运行设备所配置的图形处理器数量之间的除余计算结果,作为任一中央处理器核心在相应目标运行设备内对应的图形处理器标识。可选的,上述除余函数可以指的是C语言中的除余函数。可选的,针对Q个中央处理器核心中的任一中央处理器核心,控制设备可从任一中央处理器核心所在的目标运行设备中,随机选取一个图形处理器标识,并将选取出的图形处理器标识作为任一中央处理器核心对应的图形处理器标识,以实现确定各个中央处理器核心对应的图形处理器,等等。相应的,针对同一目标运行设备中的任意两个中央处理器核心,该任意两个中央处理器核心对应的图形处理器标识不同,也就是说,当控制设备选取出的图形处理器标识为已匹配的图形处理器标识,那么控制设备需重新进行选取,直至任意两个中央处理器核心对应的图形处理器标识不同。
可选的,在确定各个中央处理器核心在相应目标运行设备内对应的图形处理器标识后,即确定各个中央处理器核心对应的进程标识在相应目标运行设备内对应的图形处理器标识后,可调用异构编程模块中的hipSetDevice函数(另一种库函数)为各个中央处理器核心对应的中央处理器进程均配置一个相应的图形处理器,也就是说,可为各个中央处理器核心均配置一个相应的图形处理器,从而得到Q组处理器。可见,本发明实施例可实现“核卡”协同计算,即可实现中央处理器核心和加速卡(即图形处理器)的协同计算;当Q大于1时,可实现“多CPU核+多GPU卡”协同计算。
应当理解的是,一组处理器也可看作包括一个中央处理器核心所在的中央处理器和一个图形处理器,也就是说,一个图形处理器可对应一个中央处理器,即一个图形处理器可与相应的中央处理器核心所在的中央处理器相对应,在此种情况下,由于一个中央处理器可包括至少一个中央处理器核心,那么相应的,当一个中央处理器包括多个中央处理器核心时,该中央处理器可对应多个图形处理器。基于此,中央处理器核心与图形处理器之间的数据交互,也可看作中央处理器核心所在的中央处理器与图形处理器之间的数据交互,还可看作中央处理器核心对应的中央处理器进程与图形处理器之间的数据交互。
S503,基于配置数量,对网格模型进行划分,得到Q组处理器中各组处理器对应的网格子区域,一组处理器负责一个网格子区域内的计算任务。
可选的,控制设备可采用MPI技术,基于配置数量,对网格模型进行划分,以使异构CPU进程负责相应网格子区域内的计算任务。可见,本发明实施例可采用“MPI+HIP”混合并行算法,为参与计算的每个CPU进程配置一个图形处理器,即可为参与计算的每个中央处理器核心均配置一个图形处理器,以充分利用异构集群中图形处理器的计算资源。
S504,基于各组处理器对应的网格子区域,分别确定各组处理器所需的目标运行数据,并分别将各组处理器所需的目标运行数据发送至相应处理器组所在的目标运行设备中,以使各组处理器基于接收到的目标运行数据,运行目标空气质量模式,得到各个网格子区域内的运行结果。
例如,假设网格子区域1包括网格1和网格2,且处理器组1对应的网格子区域为网格子区域1,则处理器组1所需的目标运行数据包括网格1的运行数据和网格2的运行数据。
应当理解的是,由于一个中央处理器包括至少一个中央处理器核心,那么针对Q组处理器中的任一处理器组,任一处理器组基于接收到的目标运行数据,运行目标空气质量模式即是指:任一处理器组中的中央处理器核心和图形处理器基于接收到的目标运行数据,运行目标空气质量模式,即是指任一处理器组中的中央处理器核心所在的中央处理器和图形处理器,基于接收到的目标运行数据,运行目标空气质量模式,等等。换句话说,运行目标空气质量模式的执行主体可以是一个中央处理器和一个图形处理器;进一步的,运行空气质量模式的执行主体可以是一个中央处理器中的一个中央处理器核心和一个图形处理器。在本发明实施例中,运行空气质量模式的中央处理器可以称为目标中央处理器,且运行空气质量模式的图形处理器可以称为目标图形处理器。
可选的,控制设备还可将目标空气质量模式发送至各个目标运行设备中(如将用于实现目标空气质量模式的程序文件发送至各个目标运行设备中),以使各组处理器获取到目标空气质量模式,以运行目标空气质量模式;或者,各个运行设备可均存储有目标空气质量模式,以使各组处理器获取到目标空气质量模式,以运行目标空气质量模式,等等。
本发明实施例可在控制设备获取到配置信息和网格模型后,基于配置数量,确定Q组处理器,并基于配置数量,对网格模型进行划分,得到Q组处理器中各组处理器对应的网格子区域。然后,可基于各组处理器对应的网格子区域,分别确定各组处理器所需的目标运行数据,并分别将各组处理器所需的目标运行数据发送至相应处理器组所在的目标运行设备中,以使各组处理器基于接收到的目标运行数据,运行目标空气质量模式,得到各个网格子区域内的运行结果。可见,本发明实施例可通过Q组处理器对目标空气质量模式进行并行计算,即可为Q个中央处理器核心中的各个中央处理器核心均配置一个图形处理器,以实现“核卡”协同计算,可拓展目标空气质量模式在异构集群的并行规模,从而进一步提高目标空气质量模式的运行速度,即可有效提高计算效率,减少计算耗时。
基于上述描述,进一步通过测试结果对本发明提出的空气质量模式运行方法进行说明,如图6a所示,V1.0为未经优化的目标空气质量模式的测试结果(即未经访存优化、通讯优化以及线程优化的目标空气质量模式的测试结果),V1.1为经通讯优化的目标空气质量模式的测试结果,V1.2为经通讯优化和访存优化的目标空气质量模式的测试结果,V1.3为经通讯优化、访存优化以及线程优化的目标空气质量模式的测试结果。由测试结果可知,模拟1小时,运行未经优化的目标空气质量模式耗时8995秒,运行经通讯优化的目标空气质量模式可使计算耗时降低至973秒,即通讯优化措施可使得模式性能提升8022秒(89%);运行经通讯优化和访存优化的目标空气质量模式可使得计算耗时降低至841秒,即在通讯优化基础上实施的访存优化措施可使得模式性能提升132秒(14%);运行经通讯优化、访存优化以及线程优化的目标空气质量模式可使得整体计算耗压缩至469秒,即在通讯优化和访存优化基础上实施的线程优化措施可使得目标空气质量模式性能提升373秒(44%);经统计,三项优化措施最终使得模式在国产GPU异构平台整体计算效率提升19.2x(即19.2倍)。
进一步的,如图6b所示,三个模拟案例分别是第一目标区域案例,计算网格数为157×145×14(约31.8万网格);第二目标区域案例,计算网格数为209×209×14(约67.8万网格);第三目标区域案例,计算网格数为531×513×14(约381.4万网格);假设目标空气质量模式包括的平流求解程序为PPM平流求解程序且图形处理器为DCU加速卡,那么采用经通讯优化、访存优化以及线程优化的目标空气质量模式,对三个案例进行模拟以得到测试结果。经测试结果表示,计算规模越大,平流求解程序在图形处理器上的加速效果越明显,相较于通用CPU架构(即仅通过中央处理器对空气质量模式进行运算),三个模拟案例下的PPM平流求解程序在图形处理器上可分别获得8.5x(即倍),11.5x和28.1x加速。
相应的,如图7所示,以上述三个模拟案例为例进行说明,在采用“多CPU核+多GPU卡”(即多核多卡)协同计算时,相较于2 CPU核+2 DCU卡(即2核2卡),第一目标区域案例启动24核24卡时的加速比最大,为5.4x;第二目标区域案例同样启动24核24卡时的加速比最大,为8.4x;第三目标区域案例启动36核36卡时的加速比最大,为16.4x。
综上可见,本发明实施例可通过图形处理器进行并行计算,以提高目标空气质量模式的运行速度,并可通过通讯优化、访存优化以及线程优化等实现在图形处理器上的二维并行计算,从而进一步提高计算效率,减少计算耗时。进一步的,还可拓展目标空气质量模式在异构集群中的并行计算规模,从而进一步提高目标空气质量模式的运行速度。
基于上述空气质量模式运行方法的相关实施例的描述,本发明实施例还提出了一种空气质量模式运行装置,该空气质量模式运行装置可以是运行于电子设备中目标中央处理器的一个计算机程序(包括程序代码),且此时的电子设备是指目标运行设备,目标运行设备包括至少一个中央处理器和至少一个图形处理器,目标中央处理器为至少一个中央处理器中的任一中央处理器;如图8a所示,该空气质量模式运行装置可包括第一处理单元801,第一发送单元802以及第一接收单元803。该空气质量模式运行装置可以执行图1所示的空气质量模式运行方法,即该空气质量模式运行装置可以运行上述单元:
第一处理单元801,用于获取目标空气质量模式,目标空气质量模式包括重构平流模块,重构平流模块用于支持目标中央处理器和目标图形处理器之间的数据交互,目标图形处理器为至少一个图形处理器中与目标中央处理器相对应的图形处理器;
第一处理单元801,还用于确定重构平流模块所需计算的目标运行数据,目标运行数据包括M个目标网格中各个目标网格的运行数据,M个目标网格是从网格模型中确定出的,网格模型为目标区域被划分为多个网格的划分结果,M为正整数;
第一发送单元802,用于通过重构平流模块,将目标运行数据发送至目标图形处理器中,以使目标图形处理器对目标运行数据进行并行计算,得到目标运行数据的目标运行结果;
第一接收单元803,用于接收目标图形处理器返回的目标运行结果,目标运行结果用于目标空气质量模式的后续运行。
在一种实施方式中,目标运行数据包括多个计算参数中各个计算参数的参数数据,且一个参数数据包括相应计算参数分别在各个目标网格下的运行数据;第一处理单元801在确定重构平流模块所需计算的目标运行数据时,可具体用于:确定各个计算参数对应的参数结构,一个计算参数对应的参数结构用于指示相应计算参数在多个遍历参数下的遍历传输参数,多个遍历参数是由网格模型确定的,各个计算参数对应的参数结构均为:多维数组结构;基于各个计算参数对应的参数结构,从网格模型中确定出M个目标网格,并分别确定各个计算参数在各个目标网格下的运行数据,以实现确定重构平流模块所需计算的目标运行数据。
另一种实施方式中,第一处理单元801,还可用于:针对多个计算参数中的任一计算参数,确定目标存取规则,目标存取规则与目标空气质量模型中除重构平流模块以外的任一模块的存取规则相同;按照目标存取规则,对任一计算参数在各个目标网格下的运行数据进行存取,以使重构平流模块的存取规则为目标存取规则。
另一方面,本申请实施例还提出了另一种空气质量模式运行装置,该空气质量模式运行装置可以是运行于电子设备中的目标图形处理器的一个计算机程序(包括程序代码),且此处的电子设备是指目标运行设备,目标运行设备包括至少一个中央处理器和至少一个图形处理器,目标图形处理器为至少一个图形处理器中的任一图形处理器;如图8b所示,该空气质量模式运行装置可包括第二接收单元804、第二处理单元805以及第二发送单元806。该空气质量模式运行装置可以执行图3所示的空气质量模式运行方法,即该空气质量模式运行装置可以运行上述单元:
第二接收单元804,用于接收目标中央处理器发送的目标运行数据,目标中央处理器为至少一个中央处理器中与目标图形处理器相对应的中央处理器;
第二处理单元805,用于确定目标运行数据所指示的M个目标网格的网格分布信息,并基于网格分布信息,确定M个目标网格对应的多个线程,多个线程包括至少一个线程块中的线程;
第二处理单元805,还用于采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果;
第二发送单元806,用于将目标运行结果发送至目标中央处理器,以使目标中央处理器基于目标运行结果对目标空气质量模式进行后续运行。
在一种实施方式中,目标运行数据包括污染物浓度参数的参数数据;第二处理单元805在采用多个线程,对目标运行数据进行并行计算,得到目标运行数据的目标运行结果时,可具体用于:在检测到污染物浓度参数在多个线程中的各个线程下的目标浓度值时,对污染物浓度参数在各个线程下的目标浓度值进行更新,以实现采用多个线程,对目标运行数据进行并行计算,得到目标运行数据对应的目标运行结果;其中,污染物浓度参数在各个线程下的目标浓度值均是通过目标核函数计算所得到的,污染物浓度参数在各个线程下的目标浓度值的检测,是通过对污染物浓度参数对应的复制污染物浓度参数在各个线程下的浓度值的检测所得到的。
另一方面,本申请实施例还提出了另一种空气质量模式运行装置,该空气质量模式运行装置可以是运行于电子设备中的一个计算机程序(包括程序代码),且此处的电子设备是指异构集群中的控制设备,异构集群包括多个运行设备,控制设备用于从异构集群中确定出至少一个目标运行设备,以使至少一个目标运行设备运行目标空气质量模式,一个运行设备包括至少一个中央处理器和至少一个图形处理器,且一个中央处理器包括至少一个中央处理器核心;如图8c所示,该空气质量模式运行装置可包括第三处理单元807和第三发送单元808。该空气质量模式运行装置可以执行图5所示的空气质量模式运行方法,即该空气质量模式运行装置可以运行上述单元:
第三处理单元807,用于获取配置信息和网格模型,配置信息包括配置数量,配置数量用于指示所需启动的中央处理器核心数量和/或图形处理器数量,网格模型为目标区域被划分为多个网格的划分结果;
第三处理单元807,还用于基于配置数量,确定Q组处理器,一组处理器包括一个中央处理器核心和一个图形处理器,且Q组处理器分布在至少一个目标运行设备中,Q等于配置数量;
第三处理单元807,还用于基于配置数量,对网格模型进行划分,得到Q组处理器中各组处理器对应的网格子区域,一组处理器负责一个网格子区域内的计算任务;
第三处理单元807,还用于基于各组处理器对应的网格子区域,分别确定各组处理器所需的目标运行数据;
第三发送单元808,用于分别将各组处理器所需的目标运行数据发送至相应处理器组所在的目标运行设备中,以使各组处理器基于接收到的目标运行数据,运行目标空气质量模式,得到各个网格子区域内的运行结果。
在一种实施方式中,第三处理单元807在基于配置数量,确定Q组处理器时,可具体用于:从异构集群中确定出至少一个目标运行设备,至少一个目标运行设备中各个目标运行设备包括的图形处理器数量之和大于或等于Q;基于配置数量,从至少一个目标运行设备中,确定出Q个中央处理器核心中各个中央处理器核心对应的进程标识;基于各个中央处理器核心对应的进程标识,分别在各个中央处理器核心所在的目标运行设备内,确定各个中央处理器核心对应的图形处理器,以实现确定Q组处理器。
根据本发明的一个实施例,图1所示的方法所涉及的各个步骤均可由图8a所示的空气质量模式运行装置中的各个单元来执行的;图3所示的方法所涉及的各个步骤均可由图8b所示的空气质量模式运行装置中的各个单元来执行的;图5所示的方法所涉及的各个步骤均可由图8c所示的空气质量模式运行装置中的各个单元来执行的,等等。
根据本发明的另一个实施例,图8a、图8b以及图8c所示的空气质量模式运行装置中的各个单元均可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用电子设备上运行能够执行如图1中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8a中所示的空气质量模式运行装置,通过在通用电子设备上运行能够执行如图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8b中所示的空气质量模式运行装置,以及通过在通用电子设备上运行能够执行如图5中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8c中所示的空气质量模式运行装置,从而实现本发明实施例的空气质量模式运行方法。所述计算机程序可以记载于例如计算机存储介质上,并通过计算机存储介质装载于上述电子设备中,并在其中运行。
基于上述方法实施例以及装置实施例的描述,本发明示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本发明实施例的方法。
本发明示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
本发明示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
参考图9,现将描述可以作为本发明的服务器或客户端的电子设备900的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,空气质量模式运行方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。在一些实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行空气质量模式运行方法。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本发明使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
并且,应理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种空气质量模式运行方法,其特征在于,所述方法应用于目标运行设备中的目标中央处理器,所述目标运行设备包括至少一个中央处理器和至少一个图形处理器,所述目标中央处理器为所述至少一个中央处理器中的任一中央处理器,所述方法包括:
获取目标空气质量模式,所述目标空气质量模式包括重构平流模块,所述重构平流模块用于支持所述目标中央处理器和目标图形处理器之间的数据交互,所述目标图形处理器为所述至少一个图形处理器中与所述目标中央处理器相对应的图形处理器;
确定所述重构平流模块所需计算的目标运行数据,所述目标运行数据包括M个目标网格中各个目标网格的运行数据,所述M个目标网格是从网格模型中确定出的,所述网格模型为目标区域被划分为多个网格的划分结果,M为正整数;
通过所述重构平流模块,将所述目标运行数据发送至所述目标图形处理器中,以使所述目标图形处理器对所述目标运行数据进行并行计算,得到所述目标运行数据的目标运行结果;
接收所述目标图形处理器返回的所述目标运行结果,所述目标运行结果用于所述目标空气质量模式的后续运行。
2.根据权利要求1所述的方法,其特征在于,所述目标运行数据包括多个计算参数中各个计算参数的参数数据,且一个参数数据包括相应计算参数分别在所述各个目标网格下的运行数据;所述确定所述重构平流模块所需计算的目标运行数据,包括:
确定所述各个计算参数对应的参数结构,一个计算参数对应的参数结构用于指示相应计算参数在多个遍历参数下的遍历传输参数,所述多个遍历参数是由所述网格模型确定的,所述各个计算参数对应的参数结构均为:多维数组结构;
基于所述各个计算参数对应的参数结构,从所述网格模型中确定出所述M个目标网格,并分别确定所述各个计算参数在所述各个目标网格下的运行数据,以实现确定所述重构平流模块所需计算的目标运行数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
针对所述多个计算参数中的任一计算参数,确定目标存取规则,所述目标存取规则与所述目标空气质量模型中除所述重构平流模块以外的任一模块的存取规则相同;
按照所述目标存取规则,对所述任一计算参数在所述各个目标网格下的运行数据进行存取,以使所述重构平流模块的存取规则为所述目标存取规则。
4.一种空气质量模式运行方法,其特征在于,所述方法应用于目标运行设备中的目标图形处理器,所述目标运行设备包括至少一个中央处理器和至少一个图形处理器,所述目标图形处理器为所述至少一个图形处理器中的任一图形处理器,所述方法包括:
接收目标中央处理器发送的目标运行数据,所述目标中央处理器为所述至少一个中央处理器中与所述目标图形处理器相对应的中央处理器;
确定所述目标运行数据所指示的M个目标网格的网格分布信息,并基于所述网格分布信息,确定所述M个目标网格对应的多个线程,所述多个线程包括至少一个线程块中的线程;
采用所述多个线程,对所述目标运行数据进行并行计算,得到所述目标运行数据的目标运行结果;
将所述目标运行结果发送至所述目标中央处理器,以使所述目标中央处理器基于所述目标运行结果对所述目标空气质量模式进行后续运行。
5.根据权利要求4所述的方法,其特征在于,所述目标运行数据包括污染物浓度参数的参数数据;所述采用所述多个线程,对所述目标运行数据进行并行计算,得到所述目标运行数据的目标运行结果,包括:
在检测到所述污染物浓度参数在所述多个线程中的各个线程下的目标浓度值时,对所述污染物浓度参数在所述各个线程下的目标浓度值进行更新,以实现采用所述多个线程,对所述目标运行数据进行并行计算,得到所述目标运行数据对应的目标运行结果;
其中,所述污染物浓度参数在所述各个线程下的目标浓度值均是通过目标核函数计算所得到的,所述污染物浓度参数在所述各个线程下的目标浓度值的检测,是通过对所述污染物浓度参数对应的复制污染物浓度参数在所述各个线程下的浓度值的检测所得到的。
6.一种空气质量模式运行方法,其特征在于,所述方法应用于异构集群中的控制设备,所述异构集群包括多个运行设备,所述控制设备用于从所述异构集群中确定出至少一个目标运行设备,以使所述至少一个目标运行设备运行目标空气质量模式,一个运行设备包括至少一个中央处理器和至少一个图形处理器,且一个中央处理器包括至少一个中央处理器核心,所述方法包括:
获取配置信息和网格模型,所述配置信息包括配置数量,所述配置数量用于指示所需启动的中央处理器核心数量和/或图形处理器数量,所述网格模型为目标区域被划分为多个网格的划分结果;
基于所述配置数量,确定Q组处理器,一组处理器包括一个中央处理器核心和一个图形处理器,且所述Q组处理器分布在所述至少一个目标运行设备中,Q等于所述配置数量;
基于所述配置数量,对所述网格模型进行划分,得到所述Q组处理器中各组处理器对应的网格子区域,一组处理器负责一个网格子区域内的计算任务;
基于所述各组处理器对应的网格子区域,分别确定所述各组处理器所需的目标运行数据,并分别将所述各组处理器所需的目标运行数据发送至相应处理器组所在的目标运行设备中,以使所述各组处理器基于接收到的目标运行数据,运行所述目标空气质量模式,得到各个网格子区域内的运行结果。
7.根据权利要求6所述的方法,其特征在于,所述基于所述配置数量,确定Q组处理器,包括:
从所述异构集群中确定出所述至少一个目标运行设备,所述至少一个目标运行设备中各个目标运行设备包括的图形处理器数量之和大于或等于Q;
基于所述配置数量,从所述至少一个目标运行设备中,确定出Q个中央处理器核心中各个中央处理器核心对应的进程标识;
基于所述各个中央处理器核心对应的进程标识,分别在所述各个中央处理器核心所在的目标运行设备内,确定所述各个中央处理器核心对应的图形处理器,以实现确定Q组处理器。
8.一种空气质量模式运行装置,其特征在于,所述装置运行于目标运行设备中的目标中央处理器上,所述目标运行设备包括至少一个中央处理器和至少一个图形处理器,所述目标中央处理器为所述至少一个中央处理器中的任一中央处理器,所述装置包括:
第一处理单元,用于获取目标空气质量模式,所述目标空气质量模式包括重构平流模块,所述重构平流模块用于支持所述目标中央处理器和目标图形处理器之间的数据交互,所述目标图形处理器为所述至少一个图形处理器中与所述目标中央处理器相对应的图形处理器;
所述第一处理单元,还用于确定所述重构平流模块所需计算的目标运行数据,所述目标运行数据包括M个目标网格中各个目标网格的运行数据,所述M个目标网格是从网格模型中确定出的,所述网格模型为目标区域被划分为多个网格的划分结果,M为正整数;
第一发送单元,用于通过所述重构平流模块,将所述目标运行数据发送至所述目标图形处理器中,以使所述目标图形处理器对所述目标运行数据进行并行计算,得到所述目标运行数据的目标运行结果;
第一接收单元,用于接收所述目标图形处理器返回的所述目标运行结果,所述目标运行结果用于所述目标空气质量模式的后续运行。
9. 一种电子设备,其特征在于,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-3中任一项所述的方法;或者,所述指令在由所述处理器执行时使所述处理器执行根据权利要求4或5所述的方法;或者,所述指令在由所述处理器执行时使所述处理器执行根据权利要求6或7所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-3中任一项所述的方法;或者,所述计算机指令用于使计算机执行根据权利要求4或5所述的方法;或者,所述计算机指令用于使计算机执行根据权利要求6或7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311221586.XA CN116954932B (zh) | 2023-09-21 | 2023-09-21 | 空气质量模式运行方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311221586.XA CN116954932B (zh) | 2023-09-21 | 2023-09-21 | 空气质量模式运行方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116954932A true CN116954932A (zh) | 2023-10-27 |
CN116954932B CN116954932B (zh) | 2023-12-01 |
Family
ID=88449707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311221586.XA Active CN116954932B (zh) | 2023-09-21 | 2023-09-21 | 空气质量模式运行方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116954932B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873737A (zh) * | 2024-03-12 | 2024-04-12 | 中科三清科技有限公司 | 数值模式滚动运行方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
US20190339380A1 (en) * | 2016-06-22 | 2019-11-07 | Duke University | Multiple-input-multiple-output (mimo) imaging systems and methods for performing massively parallel computation |
CN114239271A (zh) * | 2021-12-16 | 2022-03-25 | 中科三清科技有限公司 | 一种大气污染预警方法、装置和设备 |
CN115542320A (zh) * | 2022-10-10 | 2022-12-30 | 中山大学 | 一种地基合成孔径雷达快速实时子孔径成像方法及装置 |
-
2023
- 2023-09-21 CN CN202311221586.XA patent/CN116954932B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
US20190339380A1 (en) * | 2016-06-22 | 2019-11-07 | Duke University | Multiple-input-multiple-output (mimo) imaging systems and methods for performing massively parallel computation |
CN114239271A (zh) * | 2021-12-16 | 2022-03-25 | 中科三清科技有限公司 | 一种大气污染预警方法、装置和设备 |
CN115542320A (zh) * | 2022-10-10 | 2022-12-30 | 中山大学 | 一种地基合成孔径雷达快速实时子孔径成像方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873737A (zh) * | 2024-03-12 | 2024-04-12 | 中科三清科技有限公司 | 数值模式滚动运行方法、装置、存储介质及电子设备 |
CN117873737B (zh) * | 2024-03-12 | 2024-05-14 | 中科三清科技有限公司 | 数值模式滚动运行方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116954932B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shankar et al. | Serverless linear algebra | |
CN110908667B (zh) | 神经网络联合编译的方法、装置和电子设备 | |
Karloff et al. | A model of computation for MapReduce | |
Ma et al. | Garaph: Efficient {GPU-accelerated} graph processing on a single machine with balanced replication | |
Lutz et al. | PARTANS: An autotuning framework for stencil computation on multi-GPU systems | |
CN116954932B (zh) | 空气质量模式运行方法、装置、存储介质及电子设备 | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
CN114862656B (zh) | 基于多gpu的分布式深度学习模型训练代价的获取方法 | |
CN111708641A (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
Li et al. | Intermediate data placement and cache replacement strategy under Spark platform | |
CN114610474A (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN110390075A (zh) | 矩阵预处理方法、装置、终端及可读存储介质 | |
CN113742014A (zh) | 界面渲染方法、装置、电子设备及存储介质 | |
CN116991560B (zh) | 针对语言模型的并行调度方法、装置、设备及存储介质 | |
CN111352896B (zh) | 人工智能加速器、设备、芯片以及数据处理方法 | |
CN116450355A (zh) | 一种多集群模型训练方法、装置、设备及介质 | |
Ahmad et al. | LA3: A scalable link-and locality-aware linear algebra-based graph analytics system | |
CN109799977A (zh) | 指令程序开发调度数据的方法及系统 | |
Niu et al. | User-aware partitioning algorithm for mobile cloud computing based on maximum graph cuts | |
CN116303219A (zh) | 一种网格文件的获取方法、装置及电子设备 | |
Yu et al. | Hypergef: A framework enabling efficient fusion for hypergraph neural network on gpus | |
Chen et al. | A scheduling algorithm for heterogeneous computing systems by edge cover queue | |
CN109828841B (zh) | 一种cfd并行计算方法 | |
CN114021733A (zh) | 模型训练优化方法、装置、计算机设备及存储介质 | |
CN116185378A (zh) | 计算图的优化方法、数据处理方法及相关产品 |
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 |