雙負媒質(zhì)的GPU-FDTD并行計算研究
沈琛,胡玉娟,馬巍巍,王璐
(合肥師范學院 公共計算機教學部,安徽 合肥230009)
摘要:本文研究了基于計算統(tǒng)一設(shè)備架構(gòu)(CUDA)的圖形處理器(GPU)對雙負媒質(zhì)(DNG)電磁散射規(guī)律的并行計算的實施。由于Z變換理論的時域有限差分法可以計算雙負媒質(zhì)中電磁波的散射和傳播,同時在空間上具有天然的并行性,因此非常適用于在GPU上實現(xiàn)并行計算。本文引入Drude模型,給出了左手媒質(zhì)中FDTD迭代公式,研究了基于GPU的并行FDTD方法,最后通過數(shù)值仿真實驗以及結(jié)果證明該方法的正確性和高效性。
關(guān)鍵詞:雙負媒質(zhì);GPU;Z變換;時域有限差分法
收稿日期:2014-11-10
基金項目:安徽省 高等學校省級優(yōu)秀青年人才
作者簡介:沈琛(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引言
雙負媒質(zhì)是指在一定的頻段下介電常數(shù)和磁導率同時小于零的介質(zhì)材料。1968年,前蘇聯(lián)物理學家Veselago[1]首次在理論上提出這種特殊媒質(zhì),并指出這種媒質(zhì)具有光的負折射、負Doppler效應(yīng)等一些反常的物理現(xiàn)象。1999年,英國物理學家Pendry提出雙負媒質(zhì)能在微波波段產(chǎn)生負等效介電常數(shù)和磁導率,甚至能用于構(gòu)成完美透鏡[2]。近年來,隨著雙負媒質(zhì)的研究取得重大突破,激發(fā)了人們對雙負媒質(zhì)研究的積極性。
時域有限差分法(FDTD)是研究雙負媒質(zhì)的一種方便有效的數(shù)值計算方法。通過色散媒質(zhì)的FDTD方法可以仿真雙負媒質(zhì),現(xiàn)有的處理色散媒質(zhì)本構(gòu)關(guān)系的方法主要有:遞歸卷積法[3]、輔助差分方程法[4]、雙線性變換法[5]、Z變換法[6]。本文采用z變換理論建立雙負媒質(zhì)的FDTD迭代公式。
又由于FDTD方法具有天然的并行性,非常適合在計算機圖形處理器(GPU)上實現(xiàn)并行算法,可將大規(guī)模的計算分割成小塊來在GPU中分別進行處理,采用CUDA編程[7]方法,從而大大提高計算性能,也為進行電大尺寸的復雜電磁問題計算提供了一條非常有效的途徑。本文以有耗的Drade型[8]雙負媒質(zhì)為模型,將Z變換引入FDTD迭代公式中,通過統(tǒng)一計算架構(gòu)CUDA加速計算,實現(xiàn)了完美透鏡的仿真計算,并將加速結(jié)果與CPU上實現(xiàn)進行比較,證明了該方法的正確性和高效性。
2基本理論
2.1Z變換和雙負媒質(zhì)FDTD迭代公式
麥克斯韋旋度方程為:
(1)
(2)
其中:D=εE,B=μH,J=σE,Jm=σmH。為了簡化計算,也為了更方便的討論雙負媒質(zhì)對FDTD方法的影響,設(shè)σ=σm=0,則J=Jm=0。
引入有耗的Drude模型,則雙負媒質(zhì)等效介電系數(shù)和磁導系數(shù)可以表示為:
(3)
(4)
式中Γe和Γm分別是電場和磁場的碰撞頻率,ωpeωpm分別是電場和磁場的等離子頻率。則D和B表示為:
(5)
(6)
由于(5)式和(6)式是頻域的函數(shù),需要引入Z變換,將其從頻域轉(zhuǎn)換成Z域、再轉(zhuǎn)換成時域,然后再離散。
把(4)式帶入(6)式,并化簡
(7)
其中(i=x、y、z)。
時域、頻域和Z域轉(zhuǎn)換關(guān)系[9]如下:
u(t)?1/jω?Δt/(1-z-1)
e-αtu(t)?1/(α+jω)?Δt/(1-z-1e-α·Δt)
根據(jù)頻域和Z域的轉(zhuǎn)換并化簡得
(8)
繼續(xù)化簡得H(z)
(9)
其中
(10)
再次利用Z變換將(9)、(10)式從Z域變換到時域,并離散得
(11)
(12)
同理,可推導出雙負媒質(zhì)中H和B的FDTD迭代公式為
(13)
(14)
2.2在GPU上實現(xiàn)并行FDTD方法
GPU是由多處理器構(gòu)成的,而每個處理器又由多個線程組成,所有的線程可以并行執(zhí)行相同的操作,而對于FDTD方法來說,要計算某一時刻某一網(wǎng)格的電場或磁場,只和相鄰網(wǎng)格和前一時刻的值相關(guān),因此非常適合在GPU中實現(xiàn)并行[10]。
NVIDIA公司的新一代Fermi架構(gòu)[11]是繼G80架構(gòu)后的又一重要GPU架構(gòu),幾乎是重新設(shè)計并且更注重通用計算的架構(gòu),這種Fermi CUDA計算架構(gòu)不僅僅增加了計算能力并且支持更好的可編程能力和計算效果[12]。在本文研究中,采用NVIDIA GeForce GTX 680來執(zhí)行并行計算部分,其流處理器數(shù)量高達1536個。在實際運行中,CUDA架構(gòu)會產(chǎn)生許多并發(fā)執(zhí)行的線程,多個線程組成一個塊,再由多個塊組成一個網(wǎng)格來做批處理,這是由于GPU的硬件結(jié)構(gòu)中由若干多處理器組成,每個多處理器又由若干個流處理器組成所決定的。
針對這一特點,可以將整個計算區(qū)域劃分為多個塊,再將每個塊劃分為多個線程,每個線程來計算一個Yee元胞。在每個塊中多個線程可以相互協(xié)作、共享其內(nèi)存空間和結(jié)果,因此在同周圍的兩個Yee元胞進行數(shù)據(jù)交換時大大節(jié)省設(shè)備內(nèi)存帶寬的消耗。本文中并行的FDTD算法在GPU中實現(xiàn)的流程圖如下圖1:
圖1中,kernel1和kernel2都是并行代碼,用來分別計算電場Ez和磁場Hx、Hy。下面的仿真結(jié)果將會顯示利用GPU加速后性能提升的效果。
3數(shù)值算例
本文以Pendry theoretically提出的完美透鏡作為計算實例,該實例是雙負媒質(zhì)典型性質(zhì)的應(yīng)用,圖2是其結(jié)構(gòu)示意圖:
在CUDA計算模型中,取block-size=16,即每個線程塊共256個Threads同時執(zhí)行內(nèi)核。圖3顯示的是利用Matlab引擎繪制的是在t=1961Δt的場值。
由圖3可以看出,利用GPU進行加速所得到的結(jié)果與在CPU中實現(xiàn)的結(jié)果是一致的,電磁波發(fā)生兩次聚焦,形成兩個像點。當網(wǎng)格數(shù)的取值變化時,可以得到不同的加速比,如表1所示??梢钥闯霎攧澐值木W(wǎng)格數(shù)越大,GPU加速的效果越明顯,加速比也越大。
4結(jié)論
本文基于GPU平臺,將經(jīng)過Z變換的FDTD方法用于求解雙負媒質(zhì)問題。引入Drude模型,從頻域到Z域,再到時域,并離散,推導出雙負媒質(zhì)的FDTD迭代關(guān)系。利用FDTD方法的并行性,在CUDA模型中模擬了完美透鏡實例,驗證了該方法的正確性,并討論了不同網(wǎng)格數(shù)取值時GPU和CPU的加速比,可以看出當網(wǎng)格數(shù)越多,計算越復雜時,其并行效果越好。在今后的工作中,可以將該方法作進一步優(yōu)化,用于求解更加復雜的雙負媒質(zhì)問題,具有重要的應(yīng)用前景。
參考文獻
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統(tǒng)一計算設(shè)備架構(gòu)編程指南[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].合肥工業(yè)大學學報(自然科學版),2012,35(5):644-647.
11候凱希.基于Fermi架構(gòu)GPU的FDTD算法及相關(guān)算法的研究[D].北京:北京化工大學,2012:29-33.
12馬巍巍,孫冬,吳先良,等.基于GPU的高階辛FDTD算法的并性仿真研究平臺的時域有限差分算法研究[J].合肥工業(yè)大學學報(自然科學版),2012,35(7): 926-929.