賈春剛 郭立新,2 劉偉
(1.西安電子科技大學(xué)物理與光電工程學(xué)院,西安 710071;2.西安電子科技大學(xué)綜 合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,西安 710071)
?
基于GPU的并行FDTD方法在二維粗糙面散射中的應(yīng)用
賈春剛1郭立新1,2劉偉1
(1.西安電子科技大學(xué)物理與光電工程學(xué)院,西安 710071;2.西安電子科技大學(xué)綜 合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,西安 710071)
利用顯卡(Graphics Processing Unit, GPU)加速時(shí)域有限差分(Finite-Difference Time Domain,FDTD)法計(jì)算二維粗糙面的雙站散射系數(shù),介紹了FDTD的理論公式以及計(jì)算模型.采用各向異性完全匹配層(Uniaxial Perfectly Matched Layer,UPML)截?cái)郌DTD計(jì)算區(qū)域.重點(diǎn)討論了基于GPU的并行FDTD計(jì)算粗糙面雙站散射系數(shù)的并行設(shè)計(jì)方案計(jì)算流程.在NVIDIA GeForce GTX 570 顯卡上獲得了50.7×的加速比.結(jié)果表明:通過(guò)對(duì)FDTD計(jì)算粗糙面散射問(wèn)題的加速,極大地提高了計(jì)算效率.
時(shí)域有限差分法;GPU;并行;粗糙面散射
DOI 10.13443/j.cjors.2015111801
引 言
由于在遙感、目標(biāo)識(shí)別與雷達(dá)探測(cè)等領(lǐng)域的重要應(yīng)用,隨機(jī)粗糙面統(tǒng)計(jì)特性的研究具有重要的意義[1-2].FDTD在解決粗糙面散射問(wèn)題中具有其自身的優(yōu)勢(shì):粗糙面不論是介質(zhì)還是導(dǎo)體,只需設(shè)置好粗糙面的介電參數(shù)即可;對(duì)于單層或是多層粗糙面散射問(wèn)題,統(tǒng)一對(duì)粗糙面建模進(jìn)行處理而不需類似矩量法更改積分方程[3].然而FDTD計(jì)算粗糙面散射問(wèn)題尤為耗時(shí),特別是計(jì)算二維粗糙面散射,并且在計(jì)算隨機(jī)粗糙面散射時(shí),至少要取20個(gè)粗糙面樣本,因此限制了FDTD大部分都應(yīng)用在一維粗糙面散射中.因此,對(duì)FDTD計(jì)算粗糙面散射問(wèn)題進(jìn)行加速很有必要.李娟等利用基于消息傳遞接口(Message Passing Interface,MPI)計(jì)算機(jī)集群對(duì)其進(jìn)行加速,得到了較高的加速比[4].這種方法的缺點(diǎn)是硬件消耗很大.
近些年來(lái),自從英偉達(dá)推出CUDA(Compute Unified Device Architecture)構(gòu)架以來(lái),可編程GPU在計(jì)算電磁學(xué)領(lǐng)域得到了廣泛的應(yīng)用.馬韜等利用GPU加速高階矩量法計(jì)算電大尺寸目標(biāo)的散射問(wèn)題[5].文獻(xiàn)[6]中,GPU被用來(lái)加速計(jì)算二維時(shí)域有限元的輻射問(wèn)題,并取得了4倍多的加速比.張波等利用 NVIDIA GT130M GPU加速計(jì)算FDTD方法[7].文獻(xiàn)[8]中,并行FDTD程序相對(duì)CPU串行程序和8個(gè)CPU核的MPI并行程序,分別獲得了超過(guò)8倍和1.5倍的加速.近期,GPU在加速計(jì)算隨機(jī)問(wèn)題中也有應(yīng)用:在文獻(xiàn)[9]中,GPU用來(lái)加速四路徑結(jié)合互易性定理計(jì)算由地面、樹(shù)干和樹(shù)葉組成的三層模型,并取得了294倍的加速比;文獻(xiàn)[10]利用GPU加速FDTD計(jì)算一維粗糙面與目標(biāo)復(fù)合散射問(wèn)題,并進(jìn)行了一系列的優(yōu)化.因此,本文利用GPU強(qiáng)大的并行計(jì)算能力進(jìn)一步地對(duì)二維隨機(jī)粗糙面散射問(wèn)題進(jìn)行加速.本文中GPU和CPU平臺(tái)的計(jì)算精度均為單精度.
exp[j(Kmkxm+Knkyn)].
(1)
式中:
F(Kmk,Knk)= 2π[LxLyW(Kmk,Knk)]1/2·
(2)
M和N分別為 x和 y方向離散的點(diǎn)的個(gè)數(shù); N(0,1)為一組服從正態(tài)分布的隨機(jī)數(shù); W(Kmk,Knk)為功率譜密度函數(shù),本文研究的是高斯分布的隨機(jī)粗糙面,功率譜密度函數(shù)為
(3)
式中: lx和ly分別為沿x和y方向的相關(guān)長(zhǎng)度; δ為均方根高度,它們決定了高斯粗糙面的輪廓起伏.
圖1中,FDTD的計(jì)算區(qū)域被劃分成多個(gè)子區(qū)域.為了在有限計(jì)算區(qū)域模擬開(kāi)域情況,在FDTD計(jì)算網(wǎng)格最外面加入虛擬吸收邊界,本文使用UPML來(lái)截?cái)郌DTD計(jì)算網(wǎng)格[11].圖1中,ABCD為總場(chǎng)/散射場(chǎng)邊界,它將散射場(chǎng)從總場(chǎng)中分離出來(lái),并且在此引入入射波[11].近場(chǎng)迭代完成之后,再外推邊界A′B′C′D′做近遠(yuǎn)場(chǎng)變換,以獲得遠(yuǎn)場(chǎng)的雙站散射系數(shù)(Bistatic Scattering Coefficient,BSC),
圖1 二維粗糙面幾何模型
(4)
式中: Es為遠(yuǎn)區(qū)散射場(chǎng); Ei為入射場(chǎng); S為粗糙面面積.
2.1 計(jì)算平臺(tái)
本節(jié)將重點(diǎn)闡述FDTD計(jì)算二維粗糙面散射的CUDA并行實(shí)現(xiàn)方式.并進(jìn)一步對(duì)并行程序進(jìn)行優(yōu)化以提高計(jì)算效率.C程序在Intel Core Quad Q8200 CPU上運(yùn)行,核函數(shù)在NVIDIA GeForce GTX 570 顯卡上執(zhí)行,具體的參數(shù)如表1所示.
表1 計(jì)算平臺(tái)具體參數(shù)
2.2 并行計(jì)算流程
圖2給出了基于GPU的并行FDTD計(jì)算二維粗糙面散射的計(jì)算流程圖.首先根據(jù)粗糙面的尺寸分配內(nèi)存、顯存,并對(duì)其初始化FDTD迭代參數(shù)并設(shè)置UPML.然后進(jìn)入時(shí)間步的循環(huán),入射電場(chǎng)、入射磁場(chǎng)的迭代.由于近場(chǎng)迭代部分非常耗時(shí),因此并行化設(shè)計(jì)在近場(chǎng)迭代部分進(jìn)行.當(dāng)磁場(chǎng)分量迭代時(shí),其所需要的電場(chǎng)分量要保證已經(jīng)全部迭代完成,同樣,當(dāng)電場(chǎng)分量更新時(shí),其所需要的磁場(chǎng)分量也要保證迭代完成.這需要在整個(gè)網(wǎng)格內(nèi)對(duì)電場(chǎng)、磁場(chǎng)分量進(jìn)行同步,重新調(diào)用核函數(shù)強(qiáng)制同步.本文使用兩個(gè)核函數(shù)來(lái)實(shí)現(xiàn)近場(chǎng)迭代功能:eupdatekernel()和hupdatekernel(),分別負(fù)責(zé)電場(chǎng)的迭代和磁場(chǎng)的迭代.當(dāng)近場(chǎng)迭代完成之后,將近遠(yuǎn)場(chǎng)外推時(shí)所需要的近場(chǎng)分量Ex,Ey,Hx,Hy從GPU端傳回到CPU端以計(jì)算遠(yuǎn)場(chǎng)雙站散射系數(shù).
圖2 計(jì)算流程圖
為了確保FDTD方法的準(zhǔn)確性和穩(wěn)定性,空間和時(shí)間步長(zhǎng)分別取Δx=Δy=Δ=λ/10和Δt=0.5×Δ/c.其中,λ為入射波波長(zhǎng),c為自由空間中的光速.為了很好地吸收外行波,UPML吸收邊界層厚度取10Δ,本文將分別從計(jì)算準(zhǔn)確性和計(jì)算效率兩個(gè)方面對(duì)并行算法加以討論.
圖3比較了并行FDTD與串行FDTD計(jì)算二維粗糙面的雙站散射系數(shù).其中高斯粗糙面的尺寸為S=Lx×Ly=3.84 m×3.84 m,相關(guān)長(zhǎng)度lx=ly=0.1 m,均方根高度為δ=0.01 m.入射頻率f=1.0 GHz,入射角為θi=45°,入射方位角為φi=0°.如圖3中所示,對(duì)于四種極化的結(jié)果來(lái)說(shuō),兩者方法吻合得很好,這證明了并行FDTD計(jì)算二維粗糙面雙站散射系數(shù)的準(zhǔn)確性.
表2給出了并行FDTD和串行FDTD分別計(jì)算不同F(xiàn)DTD網(wǎng)格的加速比.保持粗糙面尺寸S=Lx×Ly=3.84 m×3.84 m不變,網(wǎng)格數(shù)分別為128Δ×128Δ,256Δ×256Δ,512Δ×512Δ,其他參數(shù)與上例相同.從表中可以看出,加速比隨未知量增加而增大,增大到一定程度減小.最大加速比為50.7×.
表2 CPU與GPU計(jì)算時(shí)間比較
(a) VV極化 (b) HV極化
(c) VH極化 (d) HH極化圖3 CPU FDTD和GPU FDTD結(jié)果對(duì)比
基于GPU的并行FDTD算法用來(lái)研究二維粗糙面散射問(wèn)題.在前面工作的基礎(chǔ)上[4,9],進(jìn)一步利用GPU進(jìn)行加速,并將研究的問(wèn)題從一維粗糙面散射擴(kuò)展到了更具有實(shí)際應(yīng)用價(jià)值的二維粗糙面情況.2個(gè)核函數(shù)用來(lái)實(shí)現(xiàn)算法的并行化,同時(shí)給出了并行程序的計(jì)算流程.通過(guò)與傳統(tǒng)的串行FDTD算法結(jié)果相對(duì)比,驗(yàn)證了本文算法的正確性.通過(guò)與串行FDTD在計(jì)算不同網(wǎng)格數(shù)時(shí)的計(jì)算時(shí)間的比較,驗(yàn)證了本文算法的計(jì)算效率.最終,得到了最大為50.7×的加速比.但由于計(jì)算機(jī)內(nèi)存以及顯卡顯存的限制,二維粗糙面的計(jì)算尺寸還不夠大,因此,今后的工作重點(diǎn)將利用硬盤(pán)緩存技術(shù),提高算法計(jì)算二維粗糙面的電尺寸.
[1] 姬偉杰, 童創(chuàng)明. 二維海面上艦船目標(biāo)電磁散射及合成孔徑雷達(dá)成像技術(shù)研究[J]. 物理學(xué)報(bào), 2012, 61(16): 1603011-1603018.
JI W J, TONG C M. Research on electromagnetic scattering computation and synthetic aperture radar imaging of ship located on two-dimensional ocean surface[J]. Acta physica sinica, 2012, 61(16): 1603011-1603018. (in Chinese)
[2] 王蕊,柴水榮,郭立新,等.介質(zhì)涂覆機(jī)翼與下墊粗糙面后向復(fù)合散射研究[J].電波科學(xué)學(xué)報(bào),2014,29(6):1051-1056.
WANG R, CHAI S R, GUO L X, et al. The study of the scattering from a dielectric coated airfoil above a rough surface[J]. Chinese journal of radio science, 2014,29(6):1051-1056. (in Chinese)
[3] KUANG L, JIN Y Q. Bistatic scattering from a three-dimensional object over a randomly rough surface using the FDTD algorithm[J]. IEEE transactions on antennas and propagation, 2007, 55(8): 2302-2312.
[4] LI J, GUO L X, ZENG H. FDTD method investigation on the polarimetric scattering from 2-D rough surface[J]. Progress in electromagnetics research, 2010, 101: 173-188.
[5] 馬韜, 陳明生, 吳先良, 等. 基于GPU加速的高階矩量法研究與應(yīng)用[J]. 微波學(xué)報(bào), 2013, 29(4): 34-37.
MA T, CHEN M S, WU X L, et al. Research and application of the high-order method of moments based on GPU acceleration[J]. Journal of microwaves, 2013, 29(4): 34-37. (in Chinese)
[6] 劉昆, 王曉斌, 廖成,等. 圖形處理器(GPU)加速時(shí)域有限元的二維輻射計(jì)算[J]. 電波科學(xué)學(xué)報(bào), 2008, 32(1): 111-114.
LIU K, WANG X B, LIAO C, et al. Acceleration of time-domain finite element 2-D radiation using graphics processor units(GPU)[J]. Chinese journal of radio science, 2008, 32(1): 111-114.(in Chinese)
[7] 張波, 薛正輝, 任武, 等. 基于圖形處理器的時(shí)域有限差分算法研究[J]. 電波科學(xué)學(xué)報(bào), 2011, 26(1): 108-112.
ZHANG B, XUE Z H, REN W, et al. Acceleration of FDTD algorithm based on GPU computing[J]. Chinese journal radio science, 2011, 26(1): 108-112. (in Chinese)
[8] 邵宗有, 王昭順, 劉新春,等.基于CPU-GPU異構(gòu)機(jī)群的FDTD并行算法加速研究[J].系統(tǒng)仿真學(xué)報(bào),2013,25(2):235-240.
SHAO Z Y, WANG Z S, LIU X C, et al. Accelerating parallel FDTD on CPU-GPU heterogeneous cluster system[J]. Journal of system simulation, 2013,25(2):235-240. (in Chinese)
[9] JIANG W Q, ZHANG M, CHEN H, et al. CUDA implementation in the EM scattering of a three-layer canopy[J]. Progress in electromagnetics research, 2011, 116: 457-473.
[10] JIA C G, GUO L X, YANG P J. EM scattering from a target above a 1-D randomly rough sea surface using GPU-based parallel FDTD[J]. IEEE antennas and wireless propagation letters, 2014, 14: 217-220.
[11]葛德彪, 魏兵. 電磁波時(shí)域計(jì)算方法——時(shí)域積分方程法和時(shí)域有限差分法[M]. 西安: 西安電子科技大學(xué)出版社, 2014: 126-205.
GPU-based FDTD method for analysis of electromagnetic scattering from a 2D rough surface
JIA Chungang1GUO Lixin1,2LIU Wei1
(1.SchoolofPhysicsandOptoelectronicEngineering,XidianUniversity,Xi’an710071,China; 2.StateKeyLaboratoryofIntegratedServicesNetworks,XidianUniversity,Xi’an710071,China)
In this paper, graphics processing unit (GPU)-accelerated finite-difference time domain (FDTD) is developed to expedite the calculation of bistatic scattering coefficient of a two dimensional (2D) rough surface. The formulae and computation model are introduced, respectively. The FDTD lattices are truncated by a uniaxial perfectly matched layer (UPML). The implement of GPU-based FDTD for calculation of electromagnetic scattering from a 2D rough surface is discussed in detail, and the calculation process is also given. Finally, speedup of 50.7×is obtained on NVIDIA GeForce GTX 570 GPU after optimization. The proposed parallel FDTD algorithm improves the computational efficiency greatly.
FDTD; GPU; parallel; rough surface scattering
10.13443/j.cjors.2015111801
2015-11-18
國(guó)家杰出青年科學(xué)基金(61225002); 航空科學(xué)基金與航空電子系統(tǒng)射頻綜合仿真航空科技重點(diǎn)實(shí)驗(yàn)室聯(lián)合資助(20132081015) 聯(lián)系人: 賈春剛 E-mail: cgjia@stu.xidian.edu.cn
TN011
A
1005-0388(2016)04-0683-05
賈春剛 (1986-),男,吉林人,博士研究生,研究方向?yàn)榇植诿婕捌渑c目標(biāo)的并行加速計(jì)算.
郭立新 (1968-),男,陜西人,西安電子科技大學(xué)物理與光電工程學(xué)院教授,研究方向?yàn)殡姶?光波在復(fù)雜介質(zhì)中的傳播和散射.
劉偉 (1979-),男,陜西人,西安電子科技大學(xué)副教授,主要研究方向?yàn)殡姶派⑸?、微波遙感與參數(shù)反演.
易建新 (1989-),男,湖南人,碩博生連讀,研究方向?yàn)槔走_(dá)系統(tǒng)建模與信號(hào)處理.
賈春剛, 郭立新, 劉偉. 基于GPU的并行FDTD方法在二維粗糙面散射中的應(yīng)用[J]. 電波科學(xué)學(xué)報(bào),2016,31(4):683-687.
JIA C G,GUO L X,LIU W. GPU-based FDTD method for analysis of electromagnetic scattering from a 2D rough surface [J]. Chinese journal of radio science,2016,31(4):683-687. (in Chinese). DOI: 10.13443/j.cjors.2015111801