双负媒质的GPU-FDTD并行计算研究
2015-12-26沈琛,胡玉娟,马巍巍等
双负媒质的GPU-FDTD并行计算研究
沈琛,胡玉娟,马巍巍,王璐
(合肥师范学院 公共计算机教学部,安徽 合肥230009)
摘要:本文研究了基于计算统一设备架构(CUDA)的图形处理器(GPU)对双负媒质(DNG)电磁散射规律的并行计算的实施。由于Z变换理论的时域有限差分法可以计算双负媒质中电磁波的散射和传播,同时在空间上具有天然的并行性,因此非常适用于在GPU上实现并行计算。本文引入Drude模型,给出了左手媒质中FDTD迭代公式,研究了基于GPU的并行FDTD方法,最后通过数值仿真实验以及结果证明该方法的正确性和高效性。
关键词:双负媒质;GPU;Z变换;时域有限差分法
收稿日期:2014-11-10
基金项目:安徽省 高等学校省级优秀青年人才
作者简介:沈琛(1982-),女,硕士,讲师,主要研究方向为电磁场与微波。
中图分类号:TN011
A Study of Double-negative meta-Materials
on Parallel GPU-FDTD Algorithm
SHEN Chen,HU Yu-juan,MA Wei-wei,WANG Lu
(Department of public computer teaching, Hefei Normal University, Hefei 230009, china)
Abstract:In this paper, we studies a parallel method of DNG (double-negative) meta-materials on CUDA (Compute Unified Device Architecture) GPU (Graphics Processing Unit). Z-transform is applied to FDTD method to analysis propagation and scattering from DNG materials. As Z-FDTD algorithm has the characteristics of spatial parallelism, it is suitable for execution on GPU. The iterative equations of FDTD based on the Drude model are derived; and parallel GPU-FDTD is discussed. The Correctness and efficiency of this method are testified by simulated experiments.
Key words:double-negative medium; GPU; Z-transform; Finite-difference time-domain method
1引言
双负媒质是指在一定的频段下介电常数和磁导率同时小于零的介质材料。1968年,前苏联物理学家Veselago[1]首次在理论上提出这种特殊媒质,并指出这种媒质具有光的负折射、负Doppler效应等一些反常的物理现象。1999年,英国物理学家Pendry提出双负媒质能在微波波段产生负等效介电常数和磁导率,甚至能用于构成完美透镜[2]。近年来,随着双负媒质的研究取得重大突破,激发了人们对双负媒质研究的积极性。
时域有限差分法(FDTD)是研究双负媒质的一种方便有效的数值计算方法。通过色散媒质的FDTD方法可以仿真双负媒质,现有的处理色散媒质本构关系的方法主要有:递归卷积法[3]、辅助差分方程法[4]、双线性变换法[5]、Z变换法[6]。本文采用z变换理论建立双负媒质的FDTD迭代公式。
又由于FDTD方法具有天然的并行性,非常适合在计算机图形处理器(GPU)上实现并行算法,可将大规模的计算分割成小块来在GPU中分别进行处理,采用CUDA编程[7]方法,从而大大提高计算性能,也为进行电大尺寸的复杂电磁问题计算提供了一条非常有效的途径。本文以有耗的Drade型[8]双负媒质为模型,将Z变换引入FDTD迭代公式中,通过统一计算架构CUDA加速计算,实现了完美透镜的仿真计算,并将加速结果与CPU上实现进行比较,证明了该方法的正确性和高效性。
2基本理论
2.1Z变换和双负媒质FDTD迭代公式
麦克斯韦旋度方程为:
(1)
(2)
其中:D=εE,B=μH,J=σE,Jm=σmH。为了简化计算,也为了更方便的讨论双负媒质对FDTD方法的影响,设σ=σm=0,则J=Jm=0。
引入有耗的Drude模型,则双负媒质等效介电系数和磁导系数可以表示为:
(3)
(4)
式中Γe和Γm分别是电场和磁场的碰撞频率,ωpeωpm分别是电场和磁场的等离子频率。则D和B表示为:
(5)
(6)
由于(5)式和(6)式是频域的函数,需要引入Z变换,将其从频域转换成Z域、再转换成时域,然后再离散。
把(4)式带入(6)式,并化简
(7)
其中(i=x、y、z)。
时域、频域和Z域转换关系[9]如下:
u(t)↔1/jω↔Δt/(1-z-1)
e-αtu(t)↔1/(α+jω)↔Δt/(1-z-1e-α·Δt)
根据频域和Z域的转换并化简得
(8)
继续化简得H(z)
(9)
其中
(10)
再次利用Z变换将(9)、(10)式从Z域变换到时域,并离散得
(11)
(12)
同理,可推导出双负媒质中H和B的FDTD迭代公式为
(13)
(14)
2.2在GPU上实现并行FDTD方法
GPU是由多处理器构成的,而每个处理器又由多个线程组成,所有的线程可以并行执行相同的操作,而对于FDTD方法来说,要计算某一时刻某一网格的电场或磁场,只和相邻网格和前一时刻的值相关,因此非常适合在GPU中实现并行[10]。
NVIDIA公司的新一代Fermi架构[11]是继G80架构后的又一重要GPU架构,几乎是重新设计并且更注重通用计算的架构,这种Fermi CUDA计算架构不仅仅增加了计算能力并且支持更好的可编程能力和计算效果[12]。在本文研究中,采用NVIDIA GeForce GTX 680来执行并行计算部分,其流处理器数量高达1536个。在实际运行中,CUDA架构会产生许多并发执行的线程,多个线程组成一个块,再由多个块组成一个网格来做批处理,这是由于GPU的硬件结构中由若干多处理器组成,每个多处理器又由若干个流处理器组成所决定的。
针对这一特点,可以将整个计算区域划分为多个块,再将每个块划分为多个线程,每个线程来计算一个Yee元胞。在每个块中多个线程可以相互协作、共享其内存空间和结果,因此在同周围的两个Yee元胞进行数据交换时大大节省设备内存带宽的消耗。本文中并行的FDTD算法在GPU中实现的流程图如下图1:
图1中,kernel1和kernel2都是并行代码,用来分别计算电场Ez和磁场Hx、Hy。下面的仿真结果将会显示利用GPU加速后性能提升的效果。
3数值算例
本文以Pendry theoretically提出的完美透镜作为计算实例,该实例是双负媒质典型性质的应用,图2是其结构示意图:
在CUDA计算模型中,取block-size=16,即每个线程块共256个Threads同时执行内核。图3显示的是利用Matlab引擎绘制的是在t=1961Δt的场值。
由图3可以看出,利用GPU进行加速所得到的结果与在CPU中实现的结果是一致的,电磁波发生两次聚焦,形成两个像点。当网格数的取值变化时,可以得到不同的加速比,如表1所示。可以看出当划分的网格数越大,GPU加速的效果越明显,加速比也越大。
4结论
本文基于GPU平台,将经过Z变换的FDTD方法用于求解双负媒质问题。引入Drude模型,从频域到Z域,再到时域,并离散,推导出双负媒质的FDTD迭代关系。利用FDTD方法的并行性,在CUDA模型中模拟了完美透镜实例,验证了该方法的正确性,并讨论了不同网格数取值时GPU和CPU的加速比,可以看出当网格数越多,计算越复杂时,其并行效果越好。在今后的工作中,可以将该方法作进一步优化,用于求解更加复杂的双负媒质问题,具有重要的应用前景。
参考文献
1Veselago V G. The electrodynamics of substances with simultaneously negative values of ε and μ [J]. Soviet Phys Usp, 1968, 10 (4):509-514.
2Pendry J B. Negative refraction makes a perfect lens [J]. Phys Rev Lett, 2000, 8(5): 3966-3969.
3Young J L, Nelson R O. A summary and systematic analysis of FDTD algorithms for linearly dispersive media [J]. IEEE Antennas and Propagation Magazine, 2001, 43(1):61-77.
4Engheta N, Ziolkowski RW. A positive future for Double Negative metamaterials [J]. IEEE Trans Microwave Theory Tech, 2005, 53 (4):1535-1556.
5Hulse C, Knoesen A. Dispersive models for the finite-difference time-domain method: design, analysis, and implementation [J]. Opt Soc Am A, 1994, 11(6): 1802-1811.
6Sullivan DM. Frequency-Dependent FDTD Methods Using Z-transforms [J]. IEEE Trans Antennas Propagat, 1992, 40(10):1223-1230.
7NVIDIA CUDA统一计算设备架构编程指南[Z]. NVIDA.2007.
8Michael W F, Yuri S K. Sub-wavelength imaging with a left-hand material flat lens [J]. Phys Lett A, 2005, 334 (4):326-330.
9Sullivan D M. Z-transform theory and FDTD method [J]. IEEE Trans Antennas Propagat, 1996, 4(4):28-34.
10沈琛,王璐,胡玉娟.基于CUDA平台的时域有限差分算法研究[J].合肥工业大学学报(自然科学版),2012,35(5):644-647.
11候凯希.基于Fermi架构GPU的FDTD算法及相关算法的研究[D].北京:北京化工大学,2012:29-33.
12马巍巍,孙冬,吴先良,等.基于GPU的高阶辛FDTD算法的并性仿真研究平台的时域有限差分算法研究[J].合肥工业大学学报(自然科学版),2012,35(7): 926-929.