CN114117872A - 一种多gpu并行的时域有限差分电磁仿真方法、设备及介质 - Google Patents
一种多gpu并行的时域有限差分电磁仿真方法、设备及介质 Download PDFInfo
- Publication number
- CN114117872A CN114117872A CN202210080826.8A CN202210080826A CN114117872A CN 114117872 A CN114117872 A CN 114117872A CN 202210080826 A CN202210080826 A CN 202210080826A CN 114117872 A CN114117872 A CN 114117872A
- Authority
- CN
- China
- Prior art keywords
- gpu
- electromagnetic
- sub
- grids
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种多GPU并行的时域有限差分电磁仿真方法及系统,其仿真方法包括:根据预设的GPU并行数量对空间网格进行区域分解使分解后相邻子域包含有相同的重叠网格;所述空间网格通过对三维电磁模型进行Yee网格划分获得;为每个GPU匹配其对应子域的区域参数,控制各GPU结合区域参数分别对其子域所对应的所述重叠网格以及所述重叠网格以外区域进行电磁场数据的迭代运算,并对电磁场数据迭代运算结果进行数据存储。本发明可有效解决电磁FDTD算法在求解电大尺寸的仿真案例过程中存在的内存消耗大、计算效率低、计算时间长等问题。
Description
技术领域
本发明涉及电磁仿真分析与高性能计算领域,尤其涉及一种多GPU并行的时域有限差分电磁仿真方法、电子设备及计算机可读存储介质。
背景技术
CAE电磁仿真广泛应用于手机、电脑、汽车、电子元件、航空航天、医疗器械等行业。时域有限差分法(Finite-DifferenceTime-Domain,FDTD)是一种常用的电磁仿真方法,为基于有限差分概念的数值方法,用于求解麦克斯韦方程组在时间和空间域的电场和磁场分布。FDTD在时间步长和空间点采用显式蛙跳(leap-frog)格式,对电磁场E、H分量在空间和时间上采用交替抽样的离散方式,应用这种离散方式将含时间变量的麦克斯韦旋度方程转化为一组差分方程,并在时间轴上逐步推进求解空间电磁场。
FDTD在解决电大尺寸模型的电磁计算应用时,往往需要很大的计算量和过大的存储空间,这成了FDTD的应用瓶颈。随着计算机技术的发展,为了更快的处理更大规模的计算量问题,科学计算和数值仿真采用超算、集群等高性能计算机进行计算的需求越来越迫切。GPU在数据并行方面具有强大的浮点运算能力和高显存带宽,比如Volta架构Tesla V100GPU单精度和双精度浮点运算分别高达14和7 TFLOP/s,远高于CPU的计算性能。将FDTD仿真算法移植到GPU上进行计算,可以大幅度提升性能;同时,利用多GPU并行加速仿真,能更合理有效的利用计算资源,提升仿真效率。
目前,国内外已有部分学者在多GPU上实现了2D和3D的FDTD并行仿真算法,但其算法主要针对特定的边界条件(比如PML或者PEC)和材料属性,具有一定的局限性,并不适用于通用的CAE仿真软件算法中;
其次,采用子区域先并行计算后再进行数据传输方式会导致并行性能损失。为了提升GPU并行性能问题,部分学者采用多级并行,重叠计算与传输任务等加速方法,例如现有论文文献《基于多gpu的fdtd并行算法及其在电磁仿真中的应用》,其FDTD多GPU算法采用两级并行计算及其传输并行,虽可减少数据传输所占的时间比例,以达到更高的并行效率;但是,该种方法难以适用于复杂边界条件、多重激励、色散材料等复杂场景。
而作为通用的CAE仿真软件,需要能处理PEC、PMC、PML以及周期性边界等各种复杂边界条件,以及色散介质及各向异性介质等。因此,对FDTD多GPU算法的通用性和并行性能需要采取针对性措施。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种多GPU并行的时域有限差分电磁仿真方法,可有效解决电磁FDTD算法在求解电大尺寸的仿真案例过程中存在的内存消耗大、计算效率低、计算时间长等问题。
本发明的目的之二在于提供一种电子设备。
本发明的目的之三在于提供一种存储介质。
本发明的目的之一采用如下技术方案实现:
一种多GPU并行的时域有限差分电磁仿真方法,包括:
根据预设的GPU并行数量对空间网格进行区域分解使分解后相邻子域包含有相同的重叠网格;所述空间网格通过对三维电磁模型进行Yee网格划分获得;
为每个GPU匹配其对应子域的区域参数,控制各GPU结合区域参数分别对其子域所对应的所述重叠网格以及所述重叠网格以外区域进行电磁场数据的迭代运算,并对电磁场数据迭代运算结果进行数据存储。
进一步地,对所述三维电磁模型进行Yee网格划分后还包括:
获取特定变量,其特定变量包括磁导率、介电常数、电导率、时间步进;根据特定变量计算矩阵系数的分量;
结合矩阵系数计算电磁数据分量,并对电磁数据分量和矩阵系数的分量进行三维数组存储。
进一步地,对所述空间网格进行区域分解后的第k个区域对应的网格坐标为:
(XK,0,0)~(XK’,Ny-1,Nz-1);
其中,XK为第k个区域的横向起始值,XK’为第k个区域的横向终点值;XK’- XK =(Nx-XK)/(N-k);N为根据GPU并行数量划分的子域数量;Nx、Ny、Nz为对三维电磁模型进行网格划分在x轴、y轴和z轴方向上的网格数量。
进一步地,所述区域参数包括按照网格区域分解进行拆分的矩阵系数以及子域所对应的电磁场数据;所述区域参数存储于对应GPU所分配的全局空间。
进一步地,还包括:
为每个GPU所对应子域添加指定场景的数据处理模块,所述指定场景的数据处理模块包括与激励、边界条件和色散材料相关的数据处理模块;
控制各GPU执行电磁场数据的迭代运算时,控制各GPU的数据处理模块对激励、边界、色散材料进行电磁场更新处理。
进一步地,所述重叠网格的电磁场计算方法为:
获取上一子域重叠网格的电场数据,计算当前子域所对应的磁场矩阵方程;
获取下一子域重叠网格的磁场数据,计算当前子域所对应的电场矩阵方法。
进一步地,进行电磁场计算时,根据GPU运行数量启动相应数量的CPU线程以控制多GPU并行计算。
进一步地,对所述空间网格进行区域分解的方法为:
获取所有GPU的型号参数计算每个GPU的运算能力,判断各GPU的运算能力是否相同,若相同,经区域分解后的每个子域的网格数量相同,并确保相邻子域包含有相同的重叠网格;若各GPU的运算能力不相同,则按负载均衡规则进行区域分解,并确保相邻子域包含有相同的重叠网格。
本发明的目的之二采用如下技术方案实现:
一种电子设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述多GPU并行的时域有限差分电磁仿真方法。
本发明的目的之三采用如下技术方案实现:
一种存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述的多GPU并行的时域有限差分电磁仿真方法。
相比现有技术,本发明的有益效果在于:
本发明采用两个网格重叠的方式进行区域分解使得子域间有相互重叠,利用多GPU对子域的重叠区域以及非重叠区域进行并行迭代运算,可确保迭代运算后区域边界处的数据正确性;同时,相对于单GPU并行,利用多GPU资源,显著提升了FDTD电磁场仿真速度,可有效解决电磁FDTD算法在求解电大尺寸的仿真案例过程中存在的内存消耗大、计算效率低、计算时间长等问题,大大节约了计算时间;对于上亿网格的仿真,使用4个GPU相对于单GPU的计算速度,计算性能可提升3.5~4倍;
本发明在对应的区域添加边界、激励、色散材料等相关的数据处理模块,在进行迭代运算时对每个GPU模块的激励、边界、色散材料等进行磁场更新处理;在多种边界条件、激励、色散介质等案例计算过程中,可有效解决传统FDTD算法在多GPU计算时存在的通用性不强或者并行性能不高的问题,使得本发明的FDTD电磁仿真方法适用于PML吸收边界、周期性边界、PMC等多种边界情况,以及多种激励的仿真,具有更广泛的应用;并结合多GPU资源,比使用CPU和使用单GPU的场景,能计算更大规模的仿真案例,更大程度得满足了工业仿真的需求。
附图说明
图1为本发明多GPU并行的时域有限差分电磁仿真方法的流程示意图;
图2为本发明三维Yee网格意图;
图3为本发明一维区域分解示意图;
图4为本发明计算磁场过程中区域间电磁场数据交换与更新示意图;
图5为本发明计算电场过程中区域间电磁场数据交换与更新示意图;
图6为本发明多GPU并行处理迭代时序图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
实施例一
本实施例提供一种多GPU并行的时域有限差分电磁仿真方法,可有效解决电磁FDTD算法在求解电大尺寸的仿真案例过程中存在的内存消耗大、计算效率低、计算时间长等问题;同时,在多种边界条件、激励、色散介质等案例计算过程中,可有效解决传统FDTD算法在多GPU计算时存在的通用性不强或者并行性能不高的问题。
参考图1所示,本实施例的仿真方法具体包括如下步骤:
步骤S1:求解区域网格划分与系数计算
本实施例针对输入的三维电磁模型进行Yee网格划分,如图2所示,划分后网格沿x,y,z三个方向对应的网格数量记为Nx、Ny、Nz。三维电磁模型的电磁场包含磁场的三个方向的分量Hx、Hy、Hz,和电场的三个方向分量Ex、Ey、Ez。
本实施例中计算磁场分量Hx的计算公式为:
公式(1);
其中,公式(1)中i、j、k为模拟区域中网格在x、y、z方向上的编号,n为当前时间步
长;公式(2)和公式(3)中,CA和CB均为矩阵系数,Δt为单位时间步长,为磁导率,且m=
(i,j+1/2,k+1/2);矩阵系数CA、CB与电磁场值一样,有Ex、Ey、Ez、Hx、Hy、Hz六个分量,每个
分量的大小和划分的网格尺寸一致。
而电场分量Ex的计算分量公式如下所示:
公式(4);
其中,公式(4)中i,j,k为模拟区域中网格在x、y、z方向上的编号,n为当前时间步
长;公式(5)和公式(6)中,CA和CB均为矩阵系数;Δt为单位时间步长,为磁导率,和介电常数和电导率;公式(5)和公式(6)中m为(i+1/2,j,k)。
其他方向上的电场分量Ey、Ez和磁场分量Hy、Hz同理可得,在此不再详细描述。
本实施例根据模型参数、磁导率、电导率、时间步进等计算矩阵系数CA、CB;并将电磁场E、H及其矩阵系数CA、CB数据各个分量的数据按x、y、z顺序进行存储,存储为连续数组M[Nx][Ny][Nz](M代表E、H、CA、CB中的任一分量)。为了数据读取的连续性,减少合并内存造成的并行性能损失,区域分解沿x轴进行。
在实际的计算中,需将Yee网格地址映射到整数网格点上进行存储和计算。则公式(1)和(3)分别简化为公式(7)和(8),同理也可以得到其他方向上的电场分量Ey、Ez和磁场分量Hy、Hz。
公式(7);
公式(8);
步骤S2:区域分解
如图3所示,本实施例根据预设的GPU并行数量N对空间网格进行区域分解,在进行区域划分过程中,可预先获取所有GPU的型号参数,根据型号参数可计算出每个GPU的运算能力,并对所有GPU的运算能力进行比对,若所有GPU的运算能力相同,则以均分的规律对所述空间网格进行区域分解,使得经区域分解后的每个子域的网格数量相同;若所有GPU的运算能力不相同,则按负载均衡规则进行区域分解,这样经过分解后的每个GPU所对应的子域网格数会有差异。而本实施例是按GPU算力都相同的情况下进行的区域分解的,同时需确保分解后相邻子域包含有相同的重叠网格;所述空间网格通过对三维电磁模型进行Yee网格划分获得。
本实施例中,预设的GPU并行数量N应小于当前计算机的GPU总数,对网格进行区域分解,将求解区域分为N个子域,每个GPU计算一个求解区域。
区域分解可进行一维、二维、三维的区域分解。但是二维、三维传递的数据会更少,需要在全局内存中实现合并内存访问,会导致并行性能损失很大。因此,本实施例采用一维区域分解。且本实施例为了保证每次迭代计算后,区域边界处即使不交换数据时也能获取到正确数据,采用两个网格重叠的方式进行区域分解。具体为:
对于Nx*Ny*Nz的网格,若区域分解分成N个部分,且假若每个GPU的性能一致,将第k(0≤k<N)个区域对应的网格坐标记为(XK,0,0)~(XK’,Ny-1,Nz-1),则X0=0,
XK’- XK =(Nx- XK)/(N-k),XK+1 = XK’-1,由此计算出每个子区域对应的网格坐标。
举个例子:对于Nx=800,Ny=400,Nz=400数量的网格,并行个数为4,分解后的各个区域(Domain)的网格分别为Domain 0对应于:(0,0,0) ~(200,399,399),Domain 1对应于(199,0,0)~(399,399,399), Domain2对应于:(398,0,0) ~(599,399,399),Domain 3对应于(598,0,0)~(799,399,399)。
经过上述区域分解,求解区域分为两个相邻子域时,两个相邻子域的交界面均包含有相同的重叠网格,对于重叠网格以及重叠网格以外的非重叠网格,二者采用不同的方法进行同步的电磁场运算,可提高运算效率。
步骤S3:数据预处理
本实施例经过步骤S2的区域分解后,将矩阵系数CA、CB的数据同样按照前述网格区域分解的规律进行拆分。并为每个GPU分配其对应的全局空间,并在每个GPU的全局空间中存放对应求解区域的区域参数,其区域参数包括矩阵系数、电磁场数据等,并对电场数据和磁场数据进行初始化。
还可根据具体案例情况,在对应的区域添加与激励、边界条件、色散介质等相关的数据处理模块的,使得后续GPU进行电磁场迭代运算时也可对激励、边界、色散材料等进行电磁场更新处理。
步骤S4:计算磁场
本实施例控制各GPU结合区域参数分别对其子域所对应的所述重叠网格以及所述重叠网格以外区域进行电磁场数据的迭代运算。具体为:
如图4、图6所示,对于第k(1<k≤N)个子域,计算子域交界面上的磁场需要获取第k-1子域的对应网格的电场信息(首次迭代不需要)。将每个GPU对应的求解区域分为两个部分分别进行更新:对于重叠网格,需要获取上一区域交界面的电场信息方可计算的区域,标记为DH1;对于重叠网格以外的其余网格,则不需要其他区域信息即可计算的区域,标记为DH2。DH2区域面积远大于DH1区域。DH1更新前需要同步计算该区域所需的电场信息,DH2可直接更新。本实施例分两部分工作同步计算更新磁场值;一部分工作为DH1区域的电场交换和磁场计算;一部分工作为DH2的磁场计算。
对于k子域,全局的网格地址(XK,0,0)~(XK’,Nx-1,Ny-1)映射到本区域的相对网格地址记为:(0,0,0)~(LK,Nx-1,Ny-1),其中Lk=Xk’-Xk。
对于不支持GPU间直接内存拷贝的设备,GPU之间的数据传输需经过CPU主机,任务一先将k子域的网格节点(Lk-2,0,0)~(LK-2,Nx-1,Ny-1)(对应全局网格的(XK’ -2,0,0)~(XK’ -2,Nx-1,Ny-1))上的电场场值拷贝到CPU(k=N-1时,此步可省略)中,同时将k-1子域的电场场值拷贝到CPU中,然后将CPU区域中k-1区域所对应的电场场值拷贝至本GPU对应的网格地址(0,0,0)~(0,Nx-1,Ny-1)的内存空间内(k=0时,此步可省略),最后根据公式(7)进行DH1区的磁场矩阵方程计算。
对于支持GPU间传输的设备,任务一将本子域网格节点(Lk-2,0,0)~(LK-2,Nx-1,Ny-1)上的电场场值直接拷贝到k+1区域的GPU对应的网格节点(0,0,0)~(0,Nx-1,Ny-1)所映射的地址空间(k=N-1时,此步可省略),然后同步等待k-1区域上GPU的传输结束(k=0时,此步可省略),最后进行DH1磁场矩阵方程计算。任务二直接进行DH2的磁场矩阵方程计算。
以CUDA语言为例,在支持设备重叠功能的GPU能够在重叠的内核执行和数据传输。利用该特点,申请两个CUDA流(stream1和stream2),stream1用于交界区域DH1的电场传输及其磁场更新;stream2用于非交界区域DH2的磁场更新。数据传输采用异步传输方式,根据GPU的驱动模式,在支持Peer-2-Peer的设备上,可以直接从GPU拷贝到其他GPU,否者需要先从GPU拷贝到CPU,再从CPU拷贝到其他GPU。
由于stream1和stream2同时进行同步执行,保证了区域间数据传输和矩阵计算的同时进行,在保证计算正确性前提下,在更大程度的提升了算法加速比。
接着,对每个GPU模块进行激励、边界和色散材料等数据处理。从而得到每个区域网格处的磁场场值Hx、Hy、Hz。
步骤S5:计算电场
根据公式(8)计算电场的矩阵方程。参照图5、图6所示,本实施例将每个GPU对应的求解区域分为两个部分分别进行计算:一部分为重叠网格,其需要获取下一区域交界面的磁场信息方可计算的区域,标记为DE1;一部分为非重叠网格,则不需要其他区域信息即可计算的区域,标记为DE2。DE2区域面积远大于DE1区域。DE1更新前需要同步计算该区域所需的磁场信息,DE2可直接更新。在GPU内部可分两个任务同步计算DE1和DE2电场场值。
对于不支持GPU间直接内存拷贝的设备,任务一先将本区域的网格节点(2,0,0)~(2,Nx-1,Ny-1)(对应全局网格坐标(XK+2,0,0)~(XK+2,Nx-1,Ny-1))的磁场场值拷贝到CPU主机(k=0时,此步可省略),然后将k+1区域拷贝到CPU上的磁场数据拷贝至本GPU中网格地址(LK,0,0)~(LK,Nx-1,Ny-1)所对应的磁场数据内存空间(k=N-1时,此步可省略),最后进行DE1磁场矩阵方程计算;对于支持GPU间传输的设备,任务1将本区域的网格节点(2,0,0)~(2,Nx-1,Ny-1)直接拷贝到k-1区域的GPU上对应的网格节点(LK-1,0,0)~(LK-1,Nx-1,Ny-1)所映射的内存空间内(k=0时,此步可省略),然后同步等待k+1区域上GPU的传输结束(k=N-1时,此步可省略),最后进行DE1区域的电场矩阵方程计算。任务二进行DE2的电场矩阵方程计算。
以CUDA语言为例,申请两个CUDA流(stream1和stream2),CUDA流stream 1进行任务一,用于交界区域DE1的磁场传输及其电场更新;stream2进行任务二,用于非交界区域DE2的电场更新。数据传输采用异步传输方式。
接着,对每个GPU模块进行电场的激励、边界和色散材料等数据处理,从而得到每个区域网格处的电场值Ex、Ey、Ez。
步骤S6:电磁场实时计算数据提取。
根据用户需求提取电场、磁场数据,并存入CPU的存储空间中,并异步触发CPU进行实时计算数据后处理与监控。
步骤7:重复步骤3~6,直到能量收敛或者迭代次数等于预设的迭代次数,则停止迭代。
步骤8:将步骤7的计算结果传回CPU,进行数据存储与后处理分析。
经过仿真计算和对比,本实施例利用多GPU资源,显著提升了FDTD电磁场仿真速度,本发明大大节约了计算时间。对于上亿网格的仿真,使用4个GPU相对于单GPU的计算速度,计算性能可提升3.5~4倍。且本实施例利用多GPU资源,比使用CPU和使用单GPU的场景,能计算更大规模的仿真案例,更大程度得满足了工业仿真的需求。且本实施例适用于PML吸收边界、周期性边界、PMC等多种边界情况,以及多种激励的仿真,使得FDTD电磁仿真方法具有更广泛的应用。
实施例二
本实施例提供一种多GPU并行的时域有限差分电磁仿真系统,执行如实施例一所述的多GPU并行的时域有限差分电磁仿真方法,包括:
区域分解模块,用于根据预设的GPU并行数量对空间网格进行区域分解,使分解后相邻子域包含有相同的重叠网格;所述空间网格通过对三维电磁模型进行Yee网格划分获得;
数据更新模块,用于为每个GPU匹配其对应子域的区域参数,控制各GPU结合区域参数分别对其子域所对应的所述重叠网格以及所述重叠网格以外区域进行电磁场数据的迭代运算;
结果存储模块,用于对电磁场数据迭代运算结果进行数据存储。
此外,本实施例还提供一种电子设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中的多GPU并行的时域有限差分电磁仿真方法;另外,本实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述的多GPU并行的时域有限差分电磁仿真方法。
本实施例中的系统、设备及存储介质与前述实施例中的方法是基于同一发明构思下的多个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的系统、设备及存储介质的结构及实施过程,为了说明书的简洁,在此就不再赘述。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种多GPU并行的时域有限差分电磁仿真方法,其特征在于,包括:
根据预设的GPU并行数量对空间网格进行区域分解使分解后相邻子域包含有相同的重叠网格;所述空间网格通过对三维电磁模型进行Yee网格划分获得;
为每个GPU匹配其对应子域的区域参数,控制各GPU结合区域参数分别对其子域所对应的所述重叠网格以及所述重叠网格以外区域进行电磁场数据的迭代运算,并对电磁场数据迭代运算结果进行数据存储。
2.根据权利要求1所述的多GPU并行的时域有限差分电磁仿真方法,其特征在于,对所述三维电磁模型进行Yee网格划分后还包括:
获取特定变量,其特定变量包括磁导率、介电常数、电导率、时间步进;根据特定变量计算矩阵系数的分量;
结合矩阵系数计算电磁数据分量,并对电磁数据分量和矩阵系数的分量进行三维数组存储。
3.根据权利要求1所述的多GPU并行的时域有限差分电磁仿真方法,其特征在于,对所述空间网格进行区域分解后的第k个区域对应的网格坐标为:
(XK,0,0)~(XK’,Ny-1,Nz-1);
其中,XK为第k个区域的横向起始值,XK’为第k个区域的横向终点值; XK’- XK =(Nx-XK)/(N-k); N为根据GPU并行数量划分的子域数量;Nx、Ny、Nz为对三维电磁模型进行网格划分在x轴、y轴和z轴方向上的网格数量。
4.根据权利要求1所述的多GPU并行的时域有限差分电磁仿真方法,其特征在于,所述区域参数包括按照网格区域分解进行拆分的矩阵系数以及子域所对应的电磁场数据;所述区域参数存储于对应GPU所分配的全局空间。
5.根据权利要求1所述的多GPU并行的时域有限差分电磁仿真方法,其特征在于,还包括:
为每个GPU所对应子域添加指定场景的数据处理模块,所述指定场景的数据处理模块包括与激励、边界条件和色散材料相关的数据处理模块;
控制各GPU执行电磁场数据的迭代运算时,控制各GPU的数据处理模块对激励、边界、色散材料进行电磁场更新处理。
6.根据权利要求1所述的多GPU并行的时域有限差分电磁仿真方法,其特征在于,所述重叠网格的电磁场计算方法为:
获取上一子域重叠网格的电场数据,计算当前子域所对应的磁场矩阵方程;
获取下一子域重叠网格的磁场数据,计算当前子域所对应的电场矩阵方法。
7.根据权利要求1所述的多GPU并行的时域有限差分电磁仿真方法,其特征在于,进行电磁场计算时,根据GPU运行数量启动相应数量的CPU线程以控制多GPU并行计算。
8.根据权利要求1所述的多GPU并行的时域有限差分电磁仿真方法,其特征在于,对所述空间网格进行区域分解的方法为:
获取所有GPU的型号参数计算每个GPU的运算能力,判断各GPU的运算能力是否相同,若相同,经区域分解后的每个子域的网格数量相同,并确保相邻子域包含有相同的重叠网格;若各GPU的运算能力不相同,则按负载均衡规则进行区域分解,并确保相邻子域包含有相同的重叠网格。
9.一种电子设备,其特征在于,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1~8任一所述的多GPU并行的时域有限差分电磁仿真方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时实现权利要求1~8任一所述的多GPU并行的时域有限差分电磁仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210080826.8A CN114117872B (zh) | 2022-01-24 | 2022-01-24 | 一种多gpu并行的时域有限差分电磁仿真方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210080826.8A CN114117872B (zh) | 2022-01-24 | 2022-01-24 | 一种多gpu并行的时域有限差分电磁仿真方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114117872A true CN114117872A (zh) | 2022-03-01 |
CN114117872B CN114117872B (zh) | 2022-06-14 |
Family
ID=80361232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210080826.8A Active CN114117872B (zh) | 2022-01-24 | 2022-01-24 | 一种多gpu并行的时域有限差分电磁仿真方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117872B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358173A (zh) * | 2022-10-21 | 2022-11-18 | 芯和半导体科技(上海)有限公司 | 一种芯片封装电源网络电磁建模方法及系统 |
CN117250406A (zh) * | 2023-07-27 | 2023-12-19 | 清华大学 | 评估植入式医疗器械电磁模型的多源差分方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207987A (zh) * | 2011-05-31 | 2011-10-05 | 中国航天标准化研究所 | 基于OpenCL的GPU加速三维时域有限差分电磁场仿真的方法 |
CN103186366A (zh) * | 2012-07-12 | 2013-07-03 | 深圳市康必达控制技术有限公司 | 基于cuda并行计算实现电力系统电磁暂态实时仿真测试方法 |
CN105095541A (zh) * | 2014-05-13 | 2015-11-25 | 南京理工大学 | 圆柱周期特性的介质目标的频域电磁散射特性分析方法 |
CN107526887A (zh) * | 2017-08-22 | 2017-12-29 | 电子科技大学 | 一种基于GPU并行的LeapfrogADI‑FDTD方法 |
CN110442919A (zh) * | 2019-07-12 | 2019-11-12 | 西安空间无线电技术研究所 | 一种基于gpu架构的微波部件微放电数值模拟方法 |
CN111324972A (zh) * | 2020-03-16 | 2020-06-23 | 郑州大学 | 一种基于gpu并行的探地雷达电磁波数值模拟计算方法 |
-
2022
- 2022-01-24 CN CN202210080826.8A patent/CN114117872B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207987A (zh) * | 2011-05-31 | 2011-10-05 | 中国航天标准化研究所 | 基于OpenCL的GPU加速三维时域有限差分电磁场仿真的方法 |
CN103186366A (zh) * | 2012-07-12 | 2013-07-03 | 深圳市康必达控制技术有限公司 | 基于cuda并行计算实现电力系统电磁暂态实时仿真测试方法 |
CN105095541A (zh) * | 2014-05-13 | 2015-11-25 | 南京理工大学 | 圆柱周期特性的介质目标的频域电磁散射特性分析方法 |
CN107526887A (zh) * | 2017-08-22 | 2017-12-29 | 电子科技大学 | 一种基于GPU并行的LeapfrogADI‑FDTD方法 |
CN110442919A (zh) * | 2019-07-12 | 2019-11-12 | 西安空间无线电技术研究所 | 一种基于gpu架构的微波部件微放电数值模拟方法 |
CN111324972A (zh) * | 2020-03-16 | 2020-06-23 | 郑州大学 | 一种基于gpu并行的探地雷达电磁波数值模拟计算方法 |
Non-Patent Citations (1)
Title |
---|
冯圆等: "基于分布式平台的FDTD并行算法", 《北京航空航天大学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358173A (zh) * | 2022-10-21 | 2022-11-18 | 芯和半导体科技(上海)有限公司 | 一种芯片封装电源网络电磁建模方法及系统 |
CN117250406A (zh) * | 2023-07-27 | 2023-12-19 | 清华大学 | 评估植入式医疗器械电磁模型的多源差分方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114117872B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114117872B (zh) | 一种多gpu并行的时域有限差分电磁仿真方法、设备及介质 | |
Hansen et al. | Massively parallel isosurface extraction | |
Unno et al. | GPU-based massively parallel 3-D HIE-FDTD method for high-speed electromagnetic field simulation | |
CN107918292B (zh) | 面向指数积分的电力电子电路暂态仿真gpu加速方法 | |
CN110543663A (zh) | 一种面向粗粒度MPI+OpenMP混合并行的结构网格区域划分方法 | |
CN114547938A (zh) | 一种基于有理Krylov子空间的三维多频可控源电磁反演方法及其系统 | |
Kijsipongse et al. | Dynamic load balancing on GPU clusters for large-scale K-Means clustering | |
CN113591324A (zh) | 一种软体机器人仿真方法、装置、电子设备及存储介质 | |
CN111523642A (zh) | 用于卷积运算的数据重用方法、运算方法及装置、芯片 | |
CN113177335B (zh) | 快中子反应堆全堆芯结构大规模网格自动生成方法及系统 | |
Wang et al. | Accelerating ap3m-based computational astrophysics simulations with reconfigurable clusters | |
Brommer et al. | Implementation of the Car–Parrinello algorithm for ab initio total energy calculations on a massively parallel computer | |
Zheng et al. | Parallel and automatic isotropic tetrahedral mesh generation of misaligned assemblies | |
CN116185378A (zh) | 计算图的优化方法、数据处理方法及相关产品 | |
CN113282534A (zh) | 片上系统、其数据处理方法和神经网络装置 | |
Rodohan et al. | A distributed implementation of the finite difference time‐domain (FDTD) method | |
CN112257305A (zh) | 基于有限元法的混凝土结构内离子浓度的获取方法及装置 | |
He et al. | Efficient parallelization of multilevel fast multipole algorithm for electromagnetic simulation on many-core SW26010 processor | |
Shrestha et al. | Multi-level domain-decomposition strategy for solving the eikonal equation with the fast-sweeping method | |
Inoue et al. | Multi-GPU HIE-FDTD method for the solution of large scale electromagnetic problems | |
Hayashi et al. | Domain decomposition scheme for parallel molecular dynamics simulation | |
Nakajima | Parallel multigrid solvers using openmp/mpi hybrid programming models on multi-core/multi-socket clusters | |
Hentschel et al. | Packet-Oriented Streamline Tracing on Modern SIMD Architectures. | |
Mahadevan et al. | Improving climate model coupling through a complete mesh representation: a case study with E3SM (v1) and MOAB (v5. x) | |
JPH05274277A (ja) | 分子動力学計算装置 |
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 |