CN115329250A - 基于dg处理数据的方法、装置、设备及可读存储介质 - Google Patents
基于dg处理数据的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115329250A CN115329250A CN202211250537.4A CN202211250537A CN115329250A CN 115329250 A CN115329250 A CN 115329250A CN 202211250537 A CN202211250537 A CN 202211250537A CN 115329250 A CN115329250 A CN 115329250A
- Authority
- CN
- China
- Prior art keywords
- data
- hardware environment
- processing
- new
- grid
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了计算机技术领域内的一种基于DG处理数据的方法、装置、设备及可读存储介质。本申请在获取到待处理的网格数据后,重构网格数据得到目标结构的新网格数据;按照当前的硬件环境确定新网格数据在硬件环境中的存取方式;在硬件环境中基于间断迦辽金和存取方式并行处理新网格数据,得到处理结果。本申请通过转换数据结构,并设定与硬件环境对应的数据存取方式,提高了整个方案的适配能力,从而提升了网格数据计算方案的适配程度,增加了方案通用性。同时,该方案并行处理数据,可提升计算效率和计算性能。本申请提供的一种基于DG处理数据的装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种基于DG处理数据的方法、装置、设备及可读存储介质。
背景技术
目前,基于某一硬件实现的网格数据处理方案无法直接移植到其他硬件上。例如:基于CPU实现的计算逻辑无法直接移植到GPU上,这是因为基于CPU实现的计算逻辑与CPU耦合度高,计算逻辑涉及的线程调用、内存访问等与CPU特性紧密相关,难以适用于GPU。如果需要移植计算逻辑,就需要技术人员结合GPU特性适应性修改计算逻辑,如此不免会增加工作量。
因此,如何提高网格数据处理方案的适配程度,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种基于DG处理数据的方法、装置、设备及可读存储介质,以提高网格数据处理方案的适配程度,提升方案通用性和计算性能。其具体方案如下:
第一方面,本申请提供了一种基于DG处理数据的方法,包括:
获取待处理的网格数据;
重构所述网格数据,以得到目标结构的新网格数据;
按照当前的硬件环境确定所述新网格数据在所述硬件环境中的存取方式;
在所述硬件环境中基于间断迦辽金和所述存取方式并行处理所述新网格数据,得到处理结果。
可选地,所述获取待处理的网格数据,包括:
将气流场数据转换为网格文件,并检验所述网格文件;
将检验通过的网格文件中的数据确定为所述网格数据。
可选地,所述重构所述网格数据,以得到目标结构的新网格数据,包括:
按照KOKKOS提供的数据结构重构所述网格数据,得到view结构的新网格数据。
可选地,所述按照当前的硬件环境确定所述新网格数据在所述硬件环境中的存取方式,包括:
若所述硬件环境为CPU,则确定所述新网格数据在所述硬件环境中的存取方式为按行存取;
若所述硬件环境为GPU,则确定所述新网格数据在所述硬件环境中的存取方式为按列存取。
可选地,所述在所述硬件环境中基于间断迦辽金和所述存取方式并行处理所述新网格数据,包括:
若所述硬件环境为CPU,则在所述CPU中调用多个线程基于间断迦辽金和按行存取方式并行处理所述新网格数据;
若所述硬件环境为GPU,则在所述GPU中调用多个线程基于间断迦辽金和按列存取方式并行处理所述新网格数据。
可选地,所述得到处理结果之后,还包括:
若所述硬件环境为GPU,则将所述处理结果传输至所述GPU连接的主机端,以便所述主机端处理所述处理结果。
可选地,还包括:
在处理所述新网格数据的过程中,输出任一次迭代得到的中间结果,并检验所述中间结果是否有误。
第二方面,本申请提供了一种基于DG处理数据的装置,包括:
获取模块,用于获取待处理的网格数据;
重构模块,用于重构所述网格数据,以得到目标结构的新网格数据;
确定模块,用于按照当前的硬件环境确定所述新网格数据在所述硬件环境中的存取方式;
处理模块,用于在所述硬件环境中基于间断迦辽金和所述存取方式并行处理所述新网格数据,得到处理结果。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的基于DG处理数据的方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的基于DG处理数据的方法。
通过以上方案可知,本申请提供了一种基于DG处理数据的方法,包括:获取待处理的网格数据;重构所述网格数据,以得到目标结构的新网格数据;按照当前的硬件环境确定所述新网格数据在所述硬件环境中的存取方式;在所述硬件环境中基于间断迦辽金和所述存取方式并行处理所述新网格数据,得到处理结果。
可见,本申请能够将待处理的网格数据重构为目标结构的新网格数据,使得待处理数据具备统一的新结构,然后按照当前的硬件环境确定新网格数据在硬件环境中的存取方式,进而在硬件环境中基于间断迦辽金和存取方式并行处理新网格数据,从而可快速得到处理结果。该方案结合硬件环境特性设计了与硬件环境对应的数据存取方式,并且待处理的新网格数据在不同硬件环境中均为目标结构,这给待处理数据在不同硬件环境中的无损搬移提供了可能。据此,在任意硬件环境中,按照相应的数据存取方式就可以使用间断迦辽金方法对相应待处理数据进行处理。可见,本申请通过转换数据结构,并设定与硬件环境对应的数据存取方式,提高了整个方案的适配能力,从而提升了网格数据计算方案的适配程度,增加了方案通用性。同时,该方案基于间断迦辽金和相应存取方式并行处理数据,可提升计算效率和计算性能。
相应地,本申请提供的一种基于DG处理数据的装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种基于DG处理数据的方法流程图;
图2为本申请公开的一种CPU和GPU上的数据存取方式示意图;
图3为本申请公开的一种同构计算架构示意图;
图4为本申请公开的一种异构计算架构示意图;
图5为本申请公开的一种基于间断迦辽金处理网格数据的方案示意图;
图6为本申请公开的一种基于DG处理数据的装置示意图;
图7为本申请公开的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,基于某一硬件实现的网格数据处理方案无法直接移植到其他硬件上。例如:基于CPU实现的计算逻辑无法直接移植到GPU上,这是因为基于CPU实现的计算逻辑与CPU耦合度高,计算逻辑涉及的线程调用、内存访问等与CPU特性紧密相关,难以适用于GPU。如果需要移植计算逻辑,就需要技术人员结合GPU特性适应性修改计算逻辑,如此不免会增加工作量。一种基于DG处理数据的方案,能够提升网格数据计算方案的适配程度、计算效率和计算性能。
参见图1所示,本申请实施例公开了一种基于DG处理数据的方法,包括:
S101、获取待处理的网格数据。
在本实施例中,待处理的网格数据可以由气流场数据形成,也可以由其他流场数据形成。在一种具体实施方式中,获取待处理的网格数据,包括:将气流场数据转换为网格文件,并检验网格文件;将检验通过的网格文件中的数据确定为网格数据。其中,将气流场数据转换为网格文件的具体方式可以参照现有相关技术。检验网格文件的目的是:检查网格文件中的网格数据是否存在网格空缺等质量问题,如无相关质量问题,则确定网格文件检验通过,然后将网格文件中的网格数据确定为待处理的网格数据。
其中,网格文件可以是非结构网格文件或混合网格文件。
S102、重构网格数据,以得到目标结构的新网格数据。
为了使待处理的网格数据具备统一的数据结构,同时使待处理的网格数据能够兼容不同硬件环境的存取特点,本实施例将待处理的网格数据统一重构为目标结构,从而得到新网格数据。在一种具体实施方式中,重构网格数据,以得到目标结构的新网格数据,包括:按照KOKKOS提供的数据结构重构网格数据,得到view结构的新网格数据。其中,KOKKOS是一种基于C++标准库开发的通用编程模型,它封装了多个计算硬件需要的执行细节,提供了一套通用的view结构和并行执行模式,能够为一份代码在不同计算平台上的运行提供条件,还可以实现代码的高性能并行执行。当然,还可以将待处理的网格数据重构为其他能够兼容CPU和GPU的数据结构。其中,CPU和GPU可以为多核架构。
S103、按照当前的硬件环境确定新网格数据在硬件环境中的存取方式。
S104、在硬件环境中基于间断迦辽金和存取方式并行处理新网格数据,得到处理结果。
其中,间断迦辽金(Discontinuous Galerkin,简称为DG)是流体力学领域中一类典型的高精度计算方法,该计算方法结合了有限元和有限体积,能够处理任意网格和复杂几何区域,且能保证良好的守恒性、稳定性和收敛性。本实施例使用间断迦辽金方法处理新网格数据,可得到相对稳定的处理结果。
在一种具体实施方式中,按照当前的硬件环境确定新网格数据在硬件环境中的存取方式,包括:若硬件环境为CPU,则确定新网格数据在硬件环境中的存取方式为按行存取;若硬件环境为GPU,则确定新网格数据在硬件环境中的存取方式为按列存取。在一种具体实施方式中,在硬件环境中基于间断迦辽金和存取方式并行处理新网格数据,包括:若硬件环境为CPU,则在CPU中调用多个线程基于间断迦辽金和按行存取方式并行处理新网格数据;若硬件环境为GPU,则在GPU中调用多个线程基于间断迦辽金和按列存取方式并行处理新网格数据。
可见,重构得到的新网格数据在CPU中存储并处理时,按行存取。重构得到的新网格数据在GPU中存储并处理时,按列存取。具体可参照图2。如图2所示,CPU中的多个线程可以并行按行存取CPU中存储的新网格数据,如:线程0读取第一行,同时线程1、2分别读取第二行和第三行,此时同一线程的网格数据按照行连续存储能够获得较好访存效果。而GPU中一个线程束内的线程同时读取GPU中存储的新网格数据,如:线程0读取第一行中的第一个网格,同时线程1读取第一行中的第二个网格,并且线程2读取第一行中的第三个网格,也就是:同一时刻多个线程分别读取同一行的连续对应网格,此时同一线程的网格数据按列存储能够获得较好的访存效果。一个线程束中一般包括多个线程,如一个线程束包括32个线程或16个线程。
当在CPU中处理新网格数据时,新网格数据在CPU的内存中存储有一份原数据和一份镜像数据,并且该镜像数据以指针引用形式存在。当在GPU中处理新网格数据时,新网格数据在GPU的内存中存储有一份镜像数据,并且该镜像数据等价于当前GPU所连接主机端存储的新网格数据的原数据。
需要说明的是,使用间断迦辽金方法处理网格数据时,存在迭代运算。而在每一次迭代开始时,需要求解每个网格对应的最小时间步,然后据此最小时间步并行处理各网格,之后按照显式龙根库塔方法的阶数确定当前迭代中需要重复处理的次数,满足当前迭代的重复处理次数后,进入下一次迭代,直至达到迭代阈值,具体的计算逻辑可以参照现有相关技术,本实施例不再赘述。可见,步骤S104所述的“并行处理”是指:在间断迦辽金方法的每次迭代运算中,各线程并行处理网格数据。
可见,本实施例能够将待处理的网格数据重构为目标结构的新网格数据,使得待处理数据具备统一的新结构,然后按照当前的硬件环境确定新网格数据在硬件环境中的存取方式,进而在硬件环境中基于间断迦辽金和存取方式并行处理新网格数据,从而可快速得到处理结果。该方案结合硬件环境特性设计了与硬件环境对应的数据存取方式,并且待处理的新网格数据在不同硬件环境中均为目标结构,这给待处理数据在不同硬件环境中的无损搬移提供了可能。据此,在任意硬件环境中,按照相应的数据存取方式就可以使用间断迦辽金方法对相应待处理数据进行处理。可见,本申请通过转换数据结构,并设定与硬件环境对应的数据存取方式,提高了整个方案的适配能力,从而提升了网格数据计算方案的适配程度,增加了方案通用性。同时,该方案基于间断迦辽金和相应存取方式并行处理数据,可提升计算效率和计算性能。
需要说明的是,使用间断迦辽金方法处理网格数据时,其中的迭代运算逻辑需要较多算力支持,因此可以将这部分交由算力较好的GPU完成。当然,若主机端CPU的算力允许,也可以由主机端CPU完成。可见,对于网格数据的处理,可以仅由CPU完成,也可以在主机端连接GPU,构成异构计算系统来对网格数据进行处理。其中,主机端的处理器一般为CPU。
如果仅由主机端CPU完成网格数据的处理,那么网格数据在主机端内存的存储示意图请参见图3,如果主机端借助GPU构成异构计算系统完成网格数据的处理,那么网格数据在主机端内存和GPU端内存的存储示意图请参见图4。如图3和图4所示,主机端CPU和GPU均为多核架构。如图3所示,当在CPU中处理新网格数据时,新网格数据在CPU的内存中存储有一份原数据和一份镜像数据,并且该镜像数据以指针引用形式存在。如图4所示,当在GPU中处理新网格数据时,新网格数据在GPU的内存中存储有一份镜像数据,并且该镜像数据等价于当前GPU所连接主机端存储的新网格数据的原数据。
基于图4所示的异构计算系统,GPU在按照S104得到处理结果之后,GPU将此处理结果传输至其所连接的主机端,以便主机端对处理结果进行进一步处理,进一步处理如:校验正误、确定最终的参数值(如压力大小、流速大小)等、可视化处理等。在一种具体实施方式中,得到处理结果之后,还包括:若硬件环境为GPU,则将处理结果传输至GPU连接的主机端,以便主机端处理处理结果。图4中的SM(Streaming Multi-processer)指流式多处理器模块,一个流式多处理器模块包括多个计算核。
由于间断迦辽金方法对网格数据的整个处理流程较为复杂,为避免运算错误,可以在按照S104处理新网格数据的过程中,每隔一段时间,就输出一次结果,而后检测当前输出的结果是否正确,如果正确,则可以继续等待最终迭代结果,如果错误,则可以终止当前运算,以免进行无谓的错误运算。在一种具体实施方式中,可以在处理新网格数据的过程中,输出任一次迭代得到的中间结果,并检验中间结果是否有误。例如:每迭代5次,输出一次中间结果。
下述实施例提供了一种同时适配多核、众核计算架构的网格计算方案,该方案使用KOKKOS编程模型自动为不同计算硬件提供适当的数据迁移、内存管理和并行模式,故具备良好的通用性。
请参见图5,本实施例包括前处理步骤、计算步骤和结果输出步骤。
其中,前处理步骤用于确定硬件类型、预处理数据、确定存取方式、计算步骤需用的相关参数。具体的,可以在编译选项中设置计算所用的硬件型号,确定载入来流参数信息(如定长或非定长)、循环控制信息(即最大迭代步数)以及网格文件。对待处理数据的预处理包括:使网格文件中的数据变换为算法输入数据,并检查数据质量、使用KOKKOS的基础数据结构重构数据为view结构。其中,可以从指定路径中读取网格文件。数据在CPU中按行存取,在GPU中按列存取。处理网格数据时,需要相应的高维积分常量数组参与运算,高维积分常量数组的存取方式与网格数据一致。计算步骤需用的相关参数如:计算精度、输出结果存储路径等。
其中,计算步骤主要使用间断迦辽金方法对数据进行计算,具体计算包括:(1)求解最小时间步;(2)按照网格面顺序完成通量的数据级并行处理;(3)按照网格体顺序完成面积分和梯度的数据级并行;(4)按照网格体顺序完成体积分和右端项的数据级并行;按照显式龙根库塔方法的阶数重复步骤(1)-(4);阶数为几就重复几次。之后,在到达指定迭代步时,输出相应的迭代结果,以便据此确定是否继续运算。在总迭代步数达到阈值时,输出结果文件至指定路径中。
本实施例可以适用于图3所示的同构架构以及图4所示的异构架构。如果在同构架构上运行,那么网格数据始终存储在CPU主机端。如果在异构架构上运行,那么前处理步骤在CPU上完成,计算步骤在GPU上完成,GPU会将相应结果传输至CPU。本实施例适用的硬件平台包括Intel、ARM和AMD提供的CPU;NVIDIA、AMD提供的GPU。
可见,本实施例基于各硬件特性,设计了相应的数据存取方式,同时使用KOKKOS统一数据结构,可使方案结合硬件特性在不同硬件平台上高性能运行。本实施例有如下优点:(1)减少代码移植工作量:仅更改编译选项即可完成方案在CPU、GPU硬件上的并行加速;(2)针对不同架构硬件的性能优化:针对不同硬件架构的特点,采用匹配的内存访问方式以获得更优的数据存取性能。CPU的线程通常访问一片连续的内存段,而GPU按照单指令多线程模式执行,一个或半个线程束的线程同时访问连续内存段。因此,数据在CPU中按行存取,在GPU中按列存取。
下面对本申请实施例提供的一种基于DG处理数据的装置进行介绍,下文描述的一种基于DG处理数据的装置与上文描述的一种基于DG处理数据的方法可以相互参照。
参见图6所示,本申请实施例公开了一种基于DG处理数据的装置,包括:
获取模块601,用于获取待处理的网格数据;
重构模块602,用于重构网格数据,以得到目标结构的新网格数据;
确定模块603,用于按照当前的硬件环境确定新网格数据在硬件环境中的存取方式;
处理模块604,用于在硬件环境中基于间断迦辽金和存取方式并行处理新网格数据,得到处理结果。
在一种具体实施方式中,获取模块具体用于:
将气流场数据转换为网格文件,并检验网格文件;
将检验通过的网格文件中的数据确定为网格数据。
在一种具体实施方式中,重构模块具体用于:
按照KOKKOS提供的数据结构重构网格数据,得到view结构的新网格数据。
在一种具体实施方式中,确定模块具体用于:
若硬件环境为CPU,则确定新网格数据在硬件环境中的存取方式为按行存取;
若硬件环境为GPU,则确定新网格数据在硬件环境中的存取方式为按列存取。
在一种具体实施方式中,处理模块具体用于:
若硬件环境为CPU,则在CPU中调用多个线程基于间断迦辽金和按行存取方式并行处理新网格数据;
若硬件环境为GPU,则在GPU中调用多个线程基于间断迦辽金和按列存取方式并行处理新网格数据。
在一种具体实施方式中,还包括:
传输模块,用于若硬件环境为GPU,则将处理结果传输至GPU连接的主机端,以便主机端处理处理结果。
在一种具体实施方式中,还包括:
输出模块,用于在处理新网格数据的过程中,输出任一次迭代得到的中间结果,并检验中间结果是否有误。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例能够提升网格数据计算方案的适配程度,增加了方案通用性。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种基于DG处理数据的方法及装置可以相互参照。
参见图7所示,本申请实施例公开了一种电子设备,包括:
存储器701,用于保存计算机程序;
处理器702,用于执行所述计算机程序,以实现上述任意实施例公开的方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种基于DG处理数据的方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的基于DG处理数据的方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于DG处理数据的方法,其特征在于,包括:
获取待处理的网格数据;
重构所述网格数据,以得到目标结构的新网格数据;
按照当前的硬件环境确定所述新网格数据在所述硬件环境中的存取方式;
在所述硬件环境中基于间断迦辽金和所述存取方式并行处理所述新网格数据,得到处理结果。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理的网格数据,包括:
将气流场数据转换为网格文件,并检验所述网格文件;
将检验通过的网格文件中的数据确定为所述网格数据。
3.根据权利要求1所述的方法,其特征在于,所述重构所述网格数据,以得到目标结构的新网格数据,包括:
按照KOKKOS提供的数据结构重构所述网格数据,得到view结构的新网格数据。
4.根据权利要求1所述的方法,其特征在于,所述按照当前的硬件环境确定所述新网格数据在所述硬件环境中的存取方式,包括:
若所述硬件环境为CPU,则确定所述新网格数据在所述硬件环境中的存取方式为按行存取;
若所述硬件环境为GPU,则确定所述新网格数据在所述硬件环境中的存取方式为按列存取。
5.根据权利要求4所述的方法,其特征在于,所述在所述硬件环境中基于间断迦辽金和所述存取方式并行处理所述新网格数据,包括:
若所述硬件环境为CPU,则在所述CPU中调用多个线程基于间断迦辽金和按行存取方式并行处理所述新网格数据;
若所述硬件环境为GPU,则在所述GPU中调用多个线程基于间断迦辽金和按列存取方式并行处理所述新网格数据。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述得到处理结果之后,还包括:
若所述硬件环境为GPU,则将所述处理结果传输至所述GPU连接的主机端,以便所述主机端处理所述处理结果。
7.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
在处理所述新网格数据的过程中,输出任一次迭代得到的中间结果,并检验所述中间结果是否有误。
8.一种基于DG处理数据的装置,其特征在于,包括:
获取模块,用于获取待处理的网格数据;
重构模块,用于重构所述网格数据,以得到目标结构的新网格数据;
确定模块,用于按照当前的硬件环境确定所述新网格数据在所述硬件环境中的存取方式;
处理模块,用于在所述硬件环境中基于间断迦辽金和所述存取方式并行处理所述新网格数据,得到处理结果。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211250537.4A CN115329250B (zh) | 2022-10-13 | 2022-10-13 | 基于dg处理数据的方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211250537.4A CN115329250B (zh) | 2022-10-13 | 2022-10-13 | 基于dg处理数据的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115329250A true CN115329250A (zh) | 2022-11-11 |
CN115329250B CN115329250B (zh) | 2023-03-10 |
Family
ID=83914295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211250537.4A Active CN115329250B (zh) | 2022-10-13 | 2022-10-13 | 基于dg处理数据的方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115329250B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102905046A (zh) * | 2011-07-27 | 2013-01-30 | 富士施乐株式会社 | 图像读取装置及图像读取方法 |
US20140136158A1 (en) * | 2012-11-09 | 2014-05-15 | Repsol,S.A. | Method to assess the impact of existing fractures and faults for reservoir management |
CN103970960A (zh) * | 2014-05-23 | 2014-08-06 | 湘潭大学 | 基于gpu并行加速的无网格伽辽金法结构拓扑优化方法 |
CN104424625A (zh) * | 2013-09-04 | 2015-03-18 | 中国科学院深圳先进技术研究院 | 一种gpu加速cbct图像重建方法和装置 |
CN106021943A (zh) * | 2016-05-27 | 2016-10-12 | 东南大学 | 一种结合gpu软硬件架构特点设计的直流故障筛选方法 |
CN106971369A (zh) * | 2017-03-02 | 2017-07-21 | 南京师范大学 | 一种基于gpu的地形可视域分析的数据调度与分发方法 |
CN108153984A (zh) * | 2017-12-27 | 2018-06-12 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于流场密度阶跃的高精度间断迦辽金人工粘性激波捕捉方法 |
CN109726441A (zh) * | 2018-12-05 | 2019-05-07 | 电子科技大学 | 体和面混合gpu并行的计算电磁学dgtd方法 |
CN109960865A (zh) * | 2019-03-20 | 2019-07-02 | 湘潭大学 | 薄板无网格Galerkin结构动力响应分析的GPU加速方法 |
CN110516316A (zh) * | 2019-08-03 | 2019-11-29 | 电子科技大学 | 一种间断伽辽金法求解欧拉方程的gpu加速方法 |
CN111159853A (zh) * | 2019-12-10 | 2020-05-15 | 北京航空航天大学 | 一种针对高雷诺数粘性流动问题的边界层高精度处理方法 |
CN111782384A (zh) * | 2019-04-03 | 2020-10-16 | 中山大学 | 一种基于精细中子时空动力学格子Boltzmann方法的GPU加速方法 |
CN113553057A (zh) * | 2021-07-22 | 2021-10-26 | 中国电子科技集团公司第十五研究所 | 一种针对不同架构的gpu进行并行计算的优化系统 |
CN113591417A (zh) * | 2021-08-11 | 2021-11-02 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种应用于高精度间断迦辽金流体仿真的粘性项处理方法 |
-
2022
- 2022-10-13 CN CN202211250537.4A patent/CN115329250B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102905046A (zh) * | 2011-07-27 | 2013-01-30 | 富士施乐株式会社 | 图像读取装置及图像读取方法 |
US20140136158A1 (en) * | 2012-11-09 | 2014-05-15 | Repsol,S.A. | Method to assess the impact of existing fractures and faults for reservoir management |
CN104424625A (zh) * | 2013-09-04 | 2015-03-18 | 中国科学院深圳先进技术研究院 | 一种gpu加速cbct图像重建方法和装置 |
CN103970960A (zh) * | 2014-05-23 | 2014-08-06 | 湘潭大学 | 基于gpu并行加速的无网格伽辽金法结构拓扑优化方法 |
CN106021943A (zh) * | 2016-05-27 | 2016-10-12 | 东南大学 | 一种结合gpu软硬件架构特点设计的直流故障筛选方法 |
CN106971369A (zh) * | 2017-03-02 | 2017-07-21 | 南京师范大学 | 一种基于gpu的地形可视域分析的数据调度与分发方法 |
CN108153984A (zh) * | 2017-12-27 | 2018-06-12 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于流场密度阶跃的高精度间断迦辽金人工粘性激波捕捉方法 |
CN109726441A (zh) * | 2018-12-05 | 2019-05-07 | 电子科技大学 | 体和面混合gpu并行的计算电磁学dgtd方法 |
CN109960865A (zh) * | 2019-03-20 | 2019-07-02 | 湘潭大学 | 薄板无网格Galerkin结构动力响应分析的GPU加速方法 |
CN111782384A (zh) * | 2019-04-03 | 2020-10-16 | 中山大学 | 一种基于精细中子时空动力学格子Boltzmann方法的GPU加速方法 |
CN110516316A (zh) * | 2019-08-03 | 2019-11-29 | 电子科技大学 | 一种间断伽辽金法求解欧拉方程的gpu加速方法 |
CN111159853A (zh) * | 2019-12-10 | 2020-05-15 | 北京航空航天大学 | 一种针对高雷诺数粘性流动问题的边界层高精度处理方法 |
CN113553057A (zh) * | 2021-07-22 | 2021-10-26 | 中国电子科技集团公司第十五研究所 | 一种针对不同架构的gpu进行并行计算的优化系统 |
CN113591417A (zh) * | 2021-08-11 | 2021-11-02 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种应用于高精度间断迦辽金流体仿真的粘性项处理方法 |
Non-Patent Citations (3)
Title |
---|
SHU-CHENG HUANG.ETC: ""Unified GPU Parallel Framework Based on Discontinuous Galerkin Method"", 《2021 IEEE INTERNATIONAL SYMPOSIUM ON ANTENNAS AND PROPAGATION AND USNC-URSI RADIO SCIENCE MEETING (APS/URSI)》 * |
夏龙安: ""不连续伽辽金的频域体面积分方程方法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陈呈等: ""NNW-TopViz流场可视分析系统"", 《航空学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115329250B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ashari et al. | Fast sparse matrix-vector multiplication on GPUs for graph applications | |
Samadi et al. | Sage: Self-tuning approximation for graphics engines | |
Bell et al. | Implementing sparse matrix-vector multiplication on throughput-oriented processors | |
US9477465B2 (en) | Arithmetic processing apparatus, control method of arithmetic processing apparatus, and a computer-readable storage medium storing a control program for controlling an arithmetic processing apparatus | |
CN108628799B (zh) | 可重构的单指令多数据脉动阵列结构、处理器及电子终端 | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN110516316B (zh) | 一种间断伽辽金法求解欧拉方程的gpu加速方法 | |
CN113821311A (zh) | 任务执行方法及存储设备 | |
Amaris et al. | A simple BSP-based model to predict execution time in GPU applications | |
Jenkins et al. | Enabling fast, noncontiguous GPU data movement in hybrid MPI+ GPU environments | |
Elafrou et al. | SparseX: A library for high-performance sparse matrix-vector multiplication on multicore platforms | |
US20150269225A1 (en) | System and method for parallelizing grid search method facilitating determination of pk-pd parameters | |
US20110302561A1 (en) | Architecture-aware field affinity estimation | |
CN115981980A (zh) | 系统性能测试方法、装置、设备、介质和程序产品 | |
US8214818B2 (en) | Method and apparatus to achieve maximum outer level parallelism of a loop | |
CN115329250B (zh) | 基于dg处理数据的方法、装置、设备及可读存储介质 | |
CN117473949A (zh) | 表单动态布局方法及系统 | |
Curry et al. | Arbitrary dimension reed-solomon coding and decoding for extended raid on gpus | |
CN116755878A (zh) | 程序运行方法、装置、设备、介质和程序产品 | |
CN116185937A (zh) | 基于众核处理器多层互联架构的二元运算访存优化方法及装置 | |
CN114490041A (zh) | 数组计算方法、装置、设备、介质和计算机程序产品 | |
CN113641470A (zh) | 基于gpu的线程排布方法、装置、设备以及存储介质 | |
CN112559276A (zh) | 一种cpu使用率监控方法及装置 | |
CN116069603A (zh) | 应用的性能测试方法、建立性能测试模型的方法及装置 | |
US20230195439A1 (en) | Apparatus and method with neural network computation scheduling |
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 |