基于基于OpenMP的电磁场的电磁场FDTD多核并行程序设计多核并行程序设计
摘要:本文探讨了基于OpenMP的电磁场FDTD多核并行程序设计的方法,以期实现该方法在更复杂的算法中应
用具有更理想的性能提升。针对一个一维电磁场FDTD算法问题,对其计算方法与过程做了简单描述。 在
Fortran语言环境中,采用OpenMP+细粒度并行的方式实现了并行化,即只对循环部分进行并行计算,并将该并
行方法在一个三维瞬态场电偶极子辐射FDTD 程序中进行了验证。该并行算法取得了较其他并行FDTD 算法更快
的加速比和更高的效率。结果表明基于OpenMP的电磁场FDTD并行算法具有非常好的加速比和效率。 0 引
言 随着多核技术的不断发展,并行方法已经成为一种处理较大规模问
摘要:本文探讨了基于 摘要:本文探讨了基于OpenMP的电磁场的电磁场FDTD多核并行程序设计的方法,以期实现该方法在更复杂的算法中应用具有更多核并行程序设计的方法,以期实现该方法在更复杂的算法中应用具有更
理想的性能提升。针对一个一维电磁场理想的性能提升。针对一个一维电磁场FDTD算法问题,对其计算方法与过程做了简单描述。算法问题,对其计算方法与过程做了简单描述。
在Fortran语言环境中,采用OpenMP+细粒度并行的方式实现了并行化,即只对循环部分进行并行计算,并将该并行方法
在一个三维瞬态场电偶极子辐射FDTD 程序中进行了验证。该并行算法取得了较其他并行FDTD 算法更快的加速比和更高的效
率。结果表明基于OpenMP的电磁场FDTD并行算法具有非常好的加速比和效率。
0 引言
随着多核技术的不断发展,并行方法已经成为一种处理较大规模问题的手段,同时在许多领域取得了成功地应用。目前,
并行算法的实现主要基于两种标准:
MPI(Message Passing Interface)是一种基于消息传递并行编程模型的工业标准,主要用于分布存储体系结构的现实,
是已被证实了的理想的程序设计模型;OpenMP标准,主要用于共享存储体系结构的并行编程,可实现在SMP 集群系统内多
处理器的多线程并行计算。
OpenMP是一个应用程序接口,通过规范一系列的编程制导、运行库函数和环境变量来说明共享存储体系结构的并行机
制,通常由于其较低的开销和相对较简单的编程而受到人们广泛的关注。
时域有限差分(FDTD)方法是模拟计算电磁场的一种基本算法。自1966年Yee首次提出以来,经过半个多世纪的发展,
这一方法得到迅速发展和广泛应用。但是时域有限差分算法通常由于其串行方式使问题本身复杂化且运算较费时间而采用并行
方式计算。因此,在PC机上研究并行FDTD算法问题,具有重要的理论与现实意义,可为大规模工程问题的并行化处理提供
一定的方法借鉴与理论依据。本文以一维平面波在自由空间中的传播为例,讨论了采用OpenMP 技术对电磁场FDTD算法程序
实现并行化的方法,并将该并行方法在三维瞬态场电偶极子辐射FDTD程序中进行了验证,也相当于对该并行方法进行了一定
的推广,并通过实验证明了该并行计算的有效性。
1 电磁场理论简介
FDTD方法由微分形式的麦克斯韦(Maxwell)旋度方程出发进行离散而得到的一组时域推进公式。一维情况下,设TEM
波沿z 轴方向传播,介质参数和场量均与x,y 无关,即- /-x = 0, -/ -y = 0 ,于是Maxwell方程为:
一维情况E 、H 分量空间节点取样如图1所示。
在自由空间中,σ = σm = 0 ,介质为无耗,故而可得场的FDTD迭代方程为:
为了满足数值计算的Courant稳定性条件,通常选取时间步长为 Δt 空间间隔为 δ ,FDTD截断边界条件采用一阶近似Mur,
设截断边界处为Ex 节点,如图2所示,则在Ex 节点处离散,得:
式中: Ex (k - 1)为截断边界内的节点;c 在真空中为光速c0,在介质中则为截断边界处波的传播速度。
评论0
最新资源