基于光波导器件并行算法研究_第1页
基于光波导器件并行算法研究_第2页
基于光波导器件并行算法研究_第3页
基于光波导器件并行算法研究_第4页
基于光波导器件并行算法研究_第5页
已阅读5页,还剩62页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序包,包括数值程序包,包括数值算法程序和方便的人机界面程序。并针对一些光波导器件性进行了仿真和分析。对二阶FDTD算法进行了并行计算测试和优化,优化到了很高的并行加速比。仿真结果同样显示基于GPU的并行FDTD系统具好的并行特性,可在光波导器件时域分析方面替代昂贵的大型并行计算机系统关键词:时域有限差分法;并行计算;光波导器件2TheFinite-isaTime-numericalmethodforthedevices.ItWasbyYeeininincreasecomputer’scomputationalpowercomputer'shasusedinalmosteverycomputationallargerandmorecomplexsolvedbyusingtheFDTDhaveThemethodwasoriginallyproposedforelectromagneticwaveswithsuchasRFbeusedTheFinite-isaTime-numericalmethodforthedevices.ItWasbyYeeininincreasecomputer’scomputationalpowercomputer'shasusedinalmosteverycomputationallargerandmorecomplexsolvedbyusingtheFDTDhaveThemethodwasoriginallyproposedforelectromagneticwaveswithsuchasRFbeusedcandevices.Duetothe theFDTDisspatialdiscretizationresultsalargeelectricallylargesimulation.Thespatialdiscretizationwidthshortofmicrometerlarge-scalesinmlations.such船simulationsofthreeorlarge-opticalwaveguideproblems,extremelylargecomputermemoryandalongcomputationaltimeisTheparallelcomputingcanbeusedthesignificantlyhaveinwidelycurrentlargeparallelcomputersystem longersatisfiesthedemandsofindustrybecausethepriceoftheistOOhidevicessimulationinAresearchonalow·costparallelFDTDcomputationsystemisneededforthecomputersystemdoesn’thaveenoughpowerButCPUbasedlarge-scaleproblems.GraphicProcessorUnits(GPU)Callbeusedacceleratesimulati∞.Ittwo-comsumerGPUusedtoafactorcompiler-optimizedcoderunningonanCPUofsimilarl[echnologyordertodemonstrateGPUhastoelectromagneticonGPUandthelow-costAimplemented.ThePCcluster3andareincomputing bo咖daryareoptimizetheparallelalgorithmofthemethodonLinuxoperationclustersystem.Themethodsaoptimizingandareincomputing bo咖daryareoptimizetheparallelalgorithmofthemethodonLinuxoperationclustersystem.ThemethodsaoptimizingfitthecharacteristicCPUcacheandpipelines,andmakingnetworkdevicedriverandsocketparameters.AsofhvarepackageisdevelopedforalgorithmfriendlygraphicalUSeris2-opticalparallelsimulationresultsshowoptimizedalgorithmgetsaveryhighrate.TheresultsalsoshowandCanbecomputationsystemhasgoodparallelfortime-analysisofopticaldevicesinsteadofexpensiveparallelcomputerKey4阵列波导光Waveguide光束传输中央处理EffectiveIndex有效折射率Finite—Time-时域有限差Finite—。频域有限差Frequency—。FD-Finite—有限差分光束法FiniteElement有限元FE-FiniteElement有限元光束传阵列波导光Waveguide光束传输中央处理EffectiveIndex有效折射率Finite—Time-时域有限差Finite—。频域有限差Frequency—。FD-Finite—有限差分光束法FiniteElement有限元FE-FiniteElement有限元光束传FFT—FastFourierTransform播现场可编程门图形处理多指令多数多程序多数Proof直线消息处理接Parallel并行虚拟理想匹单指令单数单指令多数单程序多数5第一章1.1光波导的计算机辅助设计平面无源光波导器件是光通信系统中第一章1.1光波导的计算机辅助设计平面无源光波导器件是光通信系统中的基本器件之一,随着光通信技术泛应用和光集成技术水平的提高而得到了研究者的广泛重视。平面无源光波件和许多微波器件一样,在其制造过程中都需要一个建模、分析然后实验验仿真来减少此循环过程中的次数。随着光电子器件设计的复杂化以及非均匀线性、各向异性等材料的应用,人们已经无法应用解析法对Maxwell方程组析及设计不可缺少的环节平面无源光波导器件的数值分析方法很多。在过去的几十年里,研究出用。这些方法包括直线法(MahodofLine,MoL)【1】、模式匹配法(Mode-Method)【2】、耦合模式理论(Couple-ModeTheory)[3】、PropagationMethod,BPM)[4-6]、时域有限差分法(Finite-Time-Method,FEM)[9]、频域有限差分法(Finite-DifferenceFrequency-法。这两种方法是目前平面无源光波导器件研究与设计领域最常用的方法已有若干通用的光波导器件计算机辅助设计软件在工业界得到了广泛的BPM法最初是用来模拟激光在大气中的传播,人们后来进一步将此方法6到光器件的研究中,并逐渐发展出很多计算方法。最初的BPM法是基于快速叶变换到光器件的研究中,并逐渐发展出很多计算方法。最初的BPM法是基于快速叶变换,称为快速傅立叶变换光束传播法(Fvr.BPM)【3】。由于该方法源于标亥姆霍兹方程,因此只能处理一个场分量。随后提出的有限元光束传播法Method,FE)[17],其原理是则的节点单元,这样在处理复杂几何曲面(如弯曲波导、劈形波导)时FE-BPM的矢量公式,很少使用矢量ICE.BPM来计算三维波导。另外FE-BPM在两种介质界面处两个不同单元间的介电常数也存在着困难。有限差光束传播法(FD—BPM)最早是flqChung和Da鲥于1990年提出的[161,它将隐式差分格式应用于基于慢包近似的亥姆霍兹方程,得到的方程是无条件稳定的。由需的计算机存储量和计算时间,而且由于该算法是在Crank-Nicholson条件下化的,因此该算法无条件稳定,从而可以选用较大的纵向步长。由于之前的[18,19】,使得FD.BPM逐渐摆脱了傍轴的束缚。半矢量光束传播法(FD.BPM)、全矢量光束传播FD.BPM)的提出[20.231,使FD-可以分析各种耦合问题。FD.BPM已经成为光波导分析中一种重要的仿真方BPM法数值计算简单、运算速度快,但它采用了菲涅耳近似,在给定场的前提下,一步一步地计算出各个传播截面上的场,在计算中忽略了由于导轴向的不均匀性而引起的反射波,而这些反射波在很多存在强反射的器件不能被忽略的。例如在圆环谐振器、平面光栅、AWG器件、光子晶体器件设计中,目前BPM法还不能有效地应用。近年来研究者针对光束传播法进一些改进,如双向光束传播法等[24,25],但这些方法目前还难以在实际器1.1.2(FDTD)[7]。该方法对电磁场E、H分量在空间和时间上采取交替抽样的离散方式,7每一个E(或H)分量周围都有四个H(或E)分量环绕,应用这种离散方式从而求出整个每一个E(或H)分量周围都有四个H(或E)分量环绕,应用这种离散方式从而求出整个空间的电磁场。FDTD方法是求解Maxwell方程的直接时域方在计算中将空间某一采样点的电场(或磁场)与周围的网格点的磁场(或电直接联系起来,且介质参数已经赋予空间中的某一个元胞,因此这一种方法理复杂形状目标和非均匀介质物体的电磁散射、辐射等问题[26-28]。同时方式显示,这种电磁场可视化的结果清楚地显示了物理过程,便于分析和设计FDTD法经过了三十多年的发展已经成为一种非常成熟的数值方法,应用也越广泛。由于FDTD法具有直接时域计算、适用性广泛、结果准确、适合于很多方面[29.32],很多其他算法的研究也常采用FDTD计算方法作为其结果FDTD计算方法在电磁兼容问题中有着广泛的应用。由于FDTD法的直域计算的特点,因而对电磁脉冲的仿真特别适用,并在这方面已经取得了很但可以计算天线辐射的方向性,还可以计算天线中各种重要的辐射参量。法也已经在微波电路和光路时域分析中大量应用[37-40],不仅可以分析均匀的输结构,而且可以分析各种非均匀、非线性结构。近年来FDTD方法在光子分析与设计[41-46]、负折射率材料[47,48]等新的研究领域中发挥着重要的作用FDTD计算方法几十年至今,一直是研究领域的热点,每年都有大量的研究发表。在http://www.fdtd.org网站上给出了很多和FDTD计算方法相关的其中列举的FDTD方法的研究论文达5000多篇题的,它也可以用于同样基于Maxwell方程组的光器件的分析[38,40]。然尺寸器件FDTD计算仿真时所需的计算网格数目相当庞大。对于平面光波导来说,尽管其物理尺寸较小,但对于三维光器件的仿真或者大型二维光器件真,需要非常巨大的存储空间和计算时间。使用并行计算技术可以有效地减少FDTD方法的计算时间,近年来在复杂FDTD使用并行计算技术可以有效地减少FDTD方法的计算时间,近年来在复杂FDTD计算中得到了广泛的应用。这些应用涵盖了很多领域,除了传统目前的大型并行计算系统的价格太高,无法满足工业界对于大型光器件仿真的需求。因此为FDTD的应用而研究一种低成本的并行计算系统确有必1.2论文的研究内容及法在光波导器件,电磁场辐射和散射、微波和毫米波电路以及电磁兼容和电能基本满足人们需要的有效的数值方法。然而,对于目前普及使用的PC机来它在计算效率方面有所欠缺,较长的计算时间和较大的存储空间是FDTD种系统上解决实际电大尺寸物体电磁场问题的瓶颈。为了在PC机上解决比较大的存储空间的需求问题,人们尝试了各种计巧。比如利用结构的对称性,可以成倍的减少存储空间,但是要分析的结构不是都具备对称条件的。又如采用虚拟存储技术(用一部分硬盘空间虚拟内间问题,人们也尝试了各种计算技巧。但到目前为止,还没有一种方法能够算速度是FDTD计算技术的两个研究重点,目前仍然有许多问题需要解决领域的研究热点,也是本论文研究的主要内容。该方向的研究进展在学术研大量应用于实际的系统,因此这两方面的研究进展将会提高FDTD的计算能从而满足更多的实际问题对FDTD计算的需求91.3本论文的主要工作及贡本文研究了FDTD算法及其1.3本论文的主要工作及贡本文研究了FDTD算法及其在并行环境中的实和优化,并用于电大尺寸件的计算和分析。具体来说,有以下几个方面:(1)论文在第三章里,利用CPU缓存(Cache)和流水线(Pipelines)技术优化并行FDTD算法进行了优化,使优化后的代码有效的利用CPU缓存和超线水线,成倍提高了运算加速比。论文在第三章里,还通过修改网卡驱动,调整络参数,减少网络延时,提高网络速(2)论文第四章里,研究了利用GPU图形加速卡实现并行FDTD算法的势和可行性。使用GPU实现了并行FDTD算法加速,大大提高了非大规模场计算问题FDTD计算速(3)论文在第三,四章关于并行FDTD算法优化和GPU加速并行FDTD算方法讨论的基础上,在论文在第五章中,提出并实现了一种以GPU图形卡为核心,并由PC机群通过以太网络连接组成的FDTD的并行计算系统大提高了并行FDTD的计算速度。同时,研究了在此系统环境下相关算法的特性边界处理及其应用。并针对一些光波导器件的特性进行了仿真和分析。对FDTD算法进行了并行计算测试和优化,优化后得到了很高的并行加速比。结果同样显示基于GPU的并行FDTD系统具有良好的并行特性,可在光波件时域分析方面替代昂贵的大型并行计算机系统。第二章时域FDTD基本目1966年K.S.Yee提出时域有限差分j去(Finite-Time-FDTD)以来,经过40年的发展,FDTD法已经形成第二章时域FDTD基本目1966年K.S.Yee提出时域有限差分j去(Finite-Time-FDTD)以来,经过40年的发展,FDTD法已经形成一套完整的计算方法成为计算电磁学领域的的一个重要的分支。FDTD算法是对与时间相关的Maxwell旋度方程的直接求解,它采用中分法取代电磁场分量的空间和时间上的微分形式Maxwell方程组反映了电磁场的基本规律。为突出关键的问题,在研究中我们把问题尽量简化。根据实际情况,我们假定所要分析的问题为各向同非磁性的线性介质,且介质的性质与时间无关,在这种介质空间中所发生的过程满足以下形式的Maxwell旋度方程v×雪;一弘v旃:f警+歹(2-根据欧姆定律的微分形式:7=谴,在直角坐标系中,展开公式(2.1.1a(2-1.1b)。我们得到与之等效的六个电磁场分量满足的标量Maxwell方程如下“ 冬一譬⋯ £‘ 譬要J(2-a却a:三(勿7-i-一争(2-1_2ei-)(2-1-一其中E为电场强度,日为磁场强度,F为介电常数,F为磁导其中E为电场强度,日为磁场强度,F为介电常数,F为磁导率,a为率在我们分析光波导器件时,通常光波导对应的磁导率/a为/aD,电导率为相对于微波器件要简单一些。另外,在分析的光波导器件中我们通常使用的射率1"1而不是介电常数£,但为了分析的方便和通用,我们这里仍然使用以本研究的内容同样可以应用于微波与射频系统的FDTD计算问图 计算电场和磁场的六个分量。在四维空间中合理地离散六个未知场量成为建立有高精度差分格式的关键问在FDTD法中,电场和磁场各节点的空间排布如图2.1所示,这就是著Yee氏元胞。由图2.1可见,每一个磁场分量由四个电场分量环绕;同样个电场分量由四个磁场分量环绕。电场和磁场在时间顺序上交替抽样,抽样时以在时间上进行迭代求解。给定相应电磁问题的初始值和边界条件以后设,为任一场分量,利用具有二阶精度的中心差分法,可以近似地将F空间和时间的一阶微分表示空间:_aFn(i,j,k)=!生生三竺』生眦(2—时间:掣=£!兰塾笪塑三芝监约定Y∞元胞中电场、磁场各分量空间与时间步取值的整数和半数约定表2-空间分量取样y时间:掣=£!兰塾笪塑三芝监约定Y∞元胞中电场、磁场各分量空间与时间步取值的整数和半数约定表2-空间分量取样y坐时间轴t电磁场zzf+2臣j七E1节点乓lj+--七+2E1l七+2HI-Hl22七+2节点H)f+,+2H七利用中心差分法,可以将Maxwell标量方程组写成下面的显式递推方程形式∥(f均1工D=套卷层(f+(2-1—群H班芸篙跏+l’咖玄鼍(坐堕型半塑一里:望:』±±:墨塑二垡竺垡!』±±!苎二(2-1-J啡咖护妻卷踯鹏1)+羔f盟堕掣一型盟世学塑丝剀(2-I-彰+;(“+{,七+{)=彰{(“+{,七+{)一鲁(望亟生坐鼍}堡垒生,1一壁生塑幽“』彰+;(fj{。七+圭)=彰一;(f+{以七+{)一詈产丝生丛生1(2-1—一兰n∑,兰,1一壁生塑幽“』彰+;(fj{。七+圭)=彰一;(f+{以七+{)一詈产丝生丛生1(2-1—一兰n∑,兰。型号l_=坐n‘竺‘生彰+;(“{,_,+{∽=彰{(r+圭√+{一一鲁[里坐旦生喾图根据上述FDTD差分方程组可得出计算电磁场的时域递推计算方法,其2.2吸收边界条件的在FDTD法所研究的实际问题中,无论实际器件的物理尺寸如何,边界开放的,电磁场将占据无限大的空间。但由于计算机的存储空间和是有限的,算机只能模拟有限的空间。另外计算机的计算能力也是有限的,不可能计算无的区域。因此,在计算空间的适当地方必须被截断。一个良好的边界条件,需满足在网格的截断处不会引起电磁波的明显反射,对向外传播的电磁波而言的边界处理方法,限制了该方法的发展。直到1981年Mur提出了Mur吸收边界[56】,FDTD的边界处理方法,限制了该方法的发展。直到1981年Mur提出了Mur吸收边界[56】,FDTD方法才真正用于解决实际应用问题。在此之后,kMciJ.Y.Fang在Mur吸收边界基础上提出了超吸收边界条件【57】,Z.Liao等人提出廖氏吸收边界条件[58】。这些边界条件的主要问题在于高阶吸收边界条件定。1994年J.Berenger首先提出二维理想匹配层吸收边界条件的概念【59】,这种边界条件在理论上可以吸收来自不同方向、不同频率的电磁波,并由D.Karl60]和J.Berenger[61]分别推广到三维情况。1996S.Gendey提出了各向异性介质PML理论并用于FDTD区域的吸收边界【62】传统的Mur二阶近似吸收边界条件相比,PML吸收边界条件可提高精度Berenger提出的PML是一种假想的能产生电损耗和磁损耗的各向异性【59,611,当电磁波从空气入射到PML时,在分界面上将不产生任何反射和折射,且电磁波在PML中传播时幅度按指数规律衰减,因此当幅度衰减到一定程度可用电壁或磁壁来截断PML,这样无限大的自由空间就可用封闭模型来模Berenger将电磁场分量在吸收边界区分裂,并能分别对各个分裂的场分量赋同的损耗。这样就能在FDTD网格外边界得到一种非物理的吸收媒质,它具依赖于外行波入射角以及频率的波阻抗。PML的反射系数是普通二阶和三收边界条件的18000,可以使FDTD模拟的最大动态范围达到80dB出于简单考虑,只对理想媒质中的二维TE波进行了分析和研究。对于波,只有H,、H,和E分量,在PML介质中E分解为也和%两个这样Maxwell方程组可写成如下形式占等怛瓦=ially(2-2-(2-岛警+‰以=一掣(2-2-风警+‰以=等≯(2-2-式中,吒、吒、‰、O's。y为介质中的电导率和导磁率,描述了介质由于风警+‰以=等≯(2-2-式中,吒、吒、‰、O's。y为介质中的电导率和导磁率,描述了介质由于在PML介质中,电磁波的衰减很快,Bcrcngcr建议在一般在时间上采用指数差分法【63】对上式进行离散。但实际上,无论指数差分法还是中心差分法,二者的计算复杂性相当,精度也差不多。这里采用中心差分法对上式离散化,可以得到以下差分Ⅳ‰与2。g恤-Att7帅棚一盎堕竖%垡堑塑渊b)月I”+;(t_,+争2互2风//o十-△A;t盯Cr。yHs”(t.,+争一互互_2画墨!!:』±!!±丝!!:』±!!二丝!!:生二堡!!:(2.2.8∥(崎1加而2/。o-瓦Atom,哪+秒1+而2A瓦—嘭O+l,,)+—曙(f+1,_,)一—E:O,力一露O,如果PML中的电导率盯和导磁率or.满足阻抗匹配条件:卅占=吒/∥。,满足o。|£=o。oy|s=owlll则计算空间中激励源产生的电磁波将没有反射地由介质层传输到PML中,并在PML中衰减。在二维计算空间中,PML设计的基本结构如图2.4所FDTD的仿真区域假设为理想介质,它被PML媒质包围,在不同的(1)在仿真区域的左、右边界,吸收材料是匹配的PML(吒,oo,o’O它能让外行波无反射地通过理想介质和PML媒质的分界面AD和BC(2)在仿真区域的上、下边界,吸收材料是匹配的PML(0,0,or,%,)媒它能让外行波无反射的通过理想介质和PML媒质的分界它能让外行波无反射的通过理想介质和PML媒质的分界面AB和CD(3)四个角的区域采用PML(crx,Do,仃,,D0)(q,d0,o’O)和(0,0,q,%,,)媒质的参数相同,可以吸收来自各个方向的电磁波。当PML媒质采用以上参数时,通过PML层的平面波穿过PML在实际计算时,PML媒质层为有限的厚度,其电导率仃的分布可采用以式盯(p)=cr。。(p/艿)。(2-2-式(2—2—10)中,%。为最大电导率,户为相对分界面的PML分布厚度,为PML媒质的厚度,n为整眦I%‰,%·‰)PlvL(O,O,o',,,‰)P叫图2.4PML边界参数设PML层的四周可以利用理想电壁或理想磁壁来截断,当电磁波穿过PML质后,又被理想电壁(或磁壁)反射,然后再次穿过媒质分界面进入理想媒质。则PML媒质的表面的反射系删=exp卜警f咖l坳}(2-钟2-)J其中0为外行波与分界面的入射角;c为真空中的光将式(2-2·10)代入式(2—2-11)可得PML媒质表面的胛,=唧{-%警}(2-2-当0=O(垂直入射)时,PML媒质表面的反射系数州o)=cxp{-i2鬲0"m“面8}(2-2-因此,d赢的值可根据下面公式‰=一警lIl(即))(2-2—根据州o)=cxp{-i2鬲0"m“面8}(2-2-因此,d赢的值可根据下面公式‰=一警lIl(即))(2-2—根据我们的经验,一般取疗=3~4,d=万=8~10血,胄(o)=104~10-5.【64在使用PML时应注意一点,由于磁场与电场的距离相差半格,所以电导与磁阻率%的计算也差半格距离。用理想电壁或理想磁壁来截断理想匹配层时,将产生一定的反射。理论上反射系数随电导率和PML层厚度的增大呈指数衰减,因此只要选择足够大的导率和PML层厚度,就可以实现任意小的反射。但实际应用FDTD法时导率及磁阻率的突变将会产生数值反射,因此必须适当选择厚度并且采用适当电导率及磁阻率分布以尽量减小数值反射。Berenger提出的PML的理论体系是非Maxwell方程的,场分量的分裂增加了数值实现的难度,同时增大了计算机内存的占用。2.3稳定性分对于以时间步为基础的数值方法来说,解的稳定性是衡量时域方法的主费据之一。在FDTD算法中,时间步长和空间步长不是相互独立的,二者的取须满足一定的关系,以免出现数值结果的不稳定,这种不稳定性表现为在解显差分方程时,随着时间步的持续增加,计算结果将无限制地增加。为避免每一间步计算所产生的误差积累,必须考虑FDTD算法的数值稳定性问题【32】下面以二维TE模为例,在无耗媒质空间的情况下研究FDTD方法的稳条件。此时FDTD法的方程式可写为日∥(f,_,+1/2)=/C邮(f,-,+1/2)一心Aty(E(f,.,+1)一E(f,_,))(2-3一彬伸(f+1/2,小彬一啦(f+1/2,_,)+面At(E(Ⅲ,沪E(f,川(2-—Hxn+1]2(i,j+I/2)-—Hxn-I/2(1,j+I/2):Aq。3。将上式表示为时间上的本征值问题,可以重新写为:—HT'/2(i+I/2,j)-—H;-v2(i+1/2,j):A.H:O+l/2,_,)(2-3-At型盟A二t趔=舻(f'力(2-3-用矿代表各—Hxn+1]2(i,j+I/2)-—Hxn-I/2(1,j+I/2):Aq。3。将上式表示为时间上的本征值问题,可以重新写为:—HT'/2(i+I/2,j)-—H;-v2(i+1/2,j):A.H:O+l/2,_,)(2-3-At型盟A二t趔=舻(f'力(2-3-用矿代表各个场分量,上式可以统一表iV—n-I/2;五矿—V—l+—l/—定义增长因子g=V.+V2。/r4,将之代入式(2.3—3),两边同时除以矿-V2q2一船叼一g=竽(2-为了满足场不发散的稳定性条件,要求M≤l。为了满足该条件,只R。(兄为了保证算法的稳定性,时间本征值必须落在这个虚轴的稳定区间对于均匀介质中的电磁波,可设方程解的平面波形霹G力=最≯‘似嘶陟枷群(f,力=心砂‘忡+‘脚一郦(f,力=如≯‘忡屿(2.3—其中,屯和.j},分别为数值波矢量在x和】,方向上的分量;国=2厅c//l波矢量的角频率;矗为虚数单位,五=√二1将(2—3-7)式代入(2-3一I)、(2.3-2)式,可以得到FDTD法中的特征值肛(缸(缈I式(2—A是纯虚数,显然对所有t、吒娜剐砌怎了磊sⅫA)<2v岳i磊渊式中,v=1/√石,为介质中的光式(2—A是纯虚数,显然对所有t、吒娜剐砌怎了磊sⅫA)<2v岳i磊渊式中,v=1/√石,为介质中的光(2—3—上式即为二维情况下FDTD算法的Courant稳定条件对于三维情况,可以类似地(2—3—若采用均匀立方体网格(Ax=缈=Az=As),妥(2-2.4激励用FDTD要的问题就是要模拟激励源。对于光波导系统来说,激励源就是光波信号常常在光波导的一侧加入。为了分析光波导的频域等特性,常采用时变形式和际不同的激励源来2.4.1激励源的类方式上来看,有面源、线源、点源等。从场分布上可以分为高斯分布、模式分等。从源的时变特点看主要有二大类,一类是随时间周期变化的时谐源,另一是对时间呈冲击函数形式的波源,包括矩形脉冲、高斯脉冲、上升余弦脉冲等式。下面给出FDTD中常用的时谐源和几种脉冲源的时域和频域特1.时谐为了利用FDTD方法来计算时谐情况下的电磁问题,假定入射场蜀o’2tEosin(o甜实际上,这是一个自f=0开始的半无限正弦波2.蜀o’2tEosin(o甜实际上,这是一个自f=0开始的半无限正弦波2.高斯脉冲删=唧(_掣⋯其eef0是出现最大值的时间,f为常数,决定了高斯脉冲的宽度。应恰M=主唧(√z嗍一竿高斯脉冲是随时间变化的平滑波形,其傅立叶变换形式是以零频率导由于它包含整个频率范围内系统所需信息,该特性使得它非常适合率依赖特性的研究。3互。,=一cosc耐,exp(一一4,-r(t-层咖三expf_华h啦彤一yo)fo]辨+三4Ip卜巫丛4层咖三expf_华h啦彤一yo)fo]辨+三4Ip卜巫丛4]由上式可见,调制高斯脉冲的频谱与高斯脉冲的频谱相比,零频率点向右动了五,如图2.9所川6k{导FDTD法中一般采用下列两种方法之一在仿真空间引入激励(1)激励源替代法例如,对于TE波,电场只有分量易分量,若在(fl,^)点用频率为五续正弦波源,可以在源处令历按以下形式变化霹(‘,工)=目激励源替代法形式简单,使用方便,但容易产生激励源叠加法是在每时间步将源处的场分量叠加到Yee网格所计算的例如,对于TE波,若在(is,^)点用频率为五的连续正弦波源,则在的E的FDTDE:。∥(jI’咖跳脚+等f竖业一型塾韭堕等兰∥(jI’咖跳脚+等f竖业一型塾韭堕等兰(24-)激励源叠加法可以消除替代法中出现的虚假反射。2.5本章小本章介绍了传统F【'’rD计算的基本原理、算法和相关问题。所介绍这些内容是并行FDl∞计算的基础算法与关键问题。这些算法包括吸收边界的处理、F【'TD计算的稳定性、数值色散误的概念和计算以及激励源的形式和山东大学硕卜学位论3.1对并行FDTD计算的需如前面所山东大学硕卜学位论3.1对并行FDTD计算的需如前面所述,在应用FDTD方法进行计算的过程中,由于要满足数值色稳定性条件,所以计算网格必须要取得足够的小。自从1966年FDTD计算提出以来,随着计算机计算能力的提高,越来越多的电磁问题通过FDTD到了解决,同时,尝试使用并行计算的方法解决更大问题的努力一直在进行。是,对于很多电大尺寸的计算问题来说,特别是近年来光电器件的计算机辅助并行计算技术来提高FDTD算法的计算能力仍然是解决问题的一个很重要段[27,65.70】在光电子与光通信计算领域,FDTD计算方法得到了广泛的应用。在光领域中,我们应用的光的波长通常在lpm左右。由于光的波长非常短,所以于大多数光器件来说,虽然其物理尺寸相对较小,但对于应用FDTD计算方行分析的问题仍属于电大尺寸问题。特别是三维的计算问题,对于内存和运算速度的需求都是极大的和很多其他运算方法不同,FDTD的整个计算过程很容易地分解成多个算过程,而子计算过程之间同时进行相似的运算,在运算中仅有边界数据交换因此,FDTD计算方法是一种天然的并行计算方法。利用并行FDTD计算可大加快运算速度,即在更短的时间内完成相同的计算量,因而解决了很多在单机条件下根本不能计算的非常复杂的光电器件的计算机辅助设计问题。3.2并行计算技术简3.2.1并行计算的概在过去的几十年以来,计算机科学和技术的得到了迅速的发展。处理器算速度,对存贮器访问速度有了极大的提高。存储器的容量也得到了极大的提高。同时,各种系统应用对计算机的运算能力也远没有满足,在并行计算方面也同时,各种系统应用对计算机的运算能力也远没有满足,在并行计算方面也所谓并行计算是相对于串行计算而言的,它是提高计算机系统计算速度理能力的一种有效手段。它的基本思想是用多个并行计算单元来协同求解同题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来水线(pipelining)计算,另一种则既是时间,也是空间上并行的并行计算。在并行处理中,流水线技术是一项重要的并行技术,目前己经在向量处理的超级计系统中得到了广泛的应用。但对于并行计算机上的算法来说,其具体的实现复杂得多,要高效使用它就更不容易。对于FDTD来说,下一步的计算过程其上一步的计算结果,研究适应流水线操作的算法相当困难。因此,并行式3.2.2我们目前使用的计算机基本属于冯·诺伊曼结构的计算机。通常的冯·计算机是属于单指令单数据流计算机Datacomputers)类型计算机,它的结构只有一个处理器,同时可以处理一个单数据流算机来说,其系统的处理器和内存有各种各样的可能排列[72】。根据一个算机能够同时执行的指令与处理数据的多少,其结构可以分成以下MultipleData)和MultipleData)两种进行相同的操作。MIMD为多指令多数据流计算机,它可以同时独立运行多运算,它的结构可以以很高的处理速度直接支持这种运算。在非常大的科学山东大学硕十学位论程序中,大部分的工作常常是反复地重复同样的操作,例山东大学硕十学位论程序中,大部分的工作常常是反复地重复同样的操作,例如并行的FDTD的灵活性,并可以用作多用户计算机,但如果实现同样的计算速度,MIMD结的计算机要比SIMD结构的计算机更加昂并行计算机还可以按照同时执行程序的不同而划分为DataComputers)和MPMD(MultipleProgramComputers)并行计算机,这种划分依据的执行单位不是指令而是程序【73】。计算机中,并行计算单元的地位是不一样的,根据其分工的不同,它们完成作也不同,因此可以根据需要将不同的程序放到MPMD并行计算机上执行得这些程序协调一致地完成给并行计算机还可以按照内存的结构来划分成分布式内存和共享式内存通信接口来相互交换数据。在共享式内存结构中,所有并行计算单元都能够共享的内存。在低成本的并行计算领域,如目前常用的基于PC的并行计算系统,基本上采用的是分布式内存结构的模3.3并行FDTD计算机系于分布式PC的FDTD并行计3.3.1基于大型并行计算机的FDTD并行算方法主要是在大型并行计算机上实现的【68,74]。近年来仍有很多并行的计算工作在大型或巨型计算机上进行,如在Supercomputer进山东犬学硕f‘学位的FDTD计算工作等【75】。这些计算机系统价格昂贵,主要山东犬学硕f‘学位的FDTD计算工作等【75】。这些计算机系统价格昂贵,主要集中在研究机构学等。也有采用工作站来构成并行计算系统【67】,但随着Pc性能的提高和的降低,从性能价格比上看远不如采用PC来构成并行计算系统更为适3.3.2基于专用硬件的FDTD并行计算机由于FDTD算法的天然并行特性,使得设计专用硬件来实现并行FDTD算相对比较容易。例如采用高性能的CPU或DSP,设计专用的电路来实现于ASIC电路设计和生产费用都非常大,目前还没有看到有专为FDTD运算高,出现了基于FPGA来实现FDTD的方案[76—78]。根据文献[771的报道FPGA的FDTD算法要比通用CPU来处理快一个数量级以上,也实现了三算法的区域分配处理、数据压缩、边界数据交换、通信等一系列操作的处理基于专用硬件的并行FDTD系统其优点就是通过专门设计的电路使得交流和共享内存变得非常容易,并且每个并行计算单元的体积和耗电都可以比较小。其缺点是系统开发费用昂贵,并且目前计算机硬件升级换代迅速,高能的CPU和大容量的存储器不断出现并且很快更新,价格也不断降低,使用硬件很容易陈旧过时。因此,采用专用硬件电路的并行FDTD系统并未得现代图形处理器Units)将数据流并行处理的硬件结构中,具有高性能的数据并行处理能力。由于图形图像处理相关产业GPU做通用科学计算成为近年来研究的热点。在加速FDTD运算速度方面同样有着低成本高性能的优势,其缺点是内存容量受到技术发展的限制。目山东大学硕I:学位新的Nvm认Geforce8800的最大显存容量为768Mbits,虽然可以使用内存作山东大学硕I:学位新的Nvm认Geforce8800的最大显存容量为768Mbits,虽然可以使用内存作为数据缓冲,但是仍然受到单台计算机最大内存容量的限制并且计算上将会受到影响。虽然如此,GPU在经常用到的非大型电磁场计算问题中速度优势非常明显,本文将在第四章详细介绍并行FDTD在GPU上的实现自从桌面微型计算机系统问世以来,在近几十年的发展中,其性能不断提高,面都有了极大的发展和改进。另外由于半导体生产工艺的革新,线宽不断降低计算机配置的存储器的容量也迅速增加,目前1GByte的内存已经成了常规置。以上的发展,使得原来只能在大型计算机系统上才能进行的FDTD计算得以在微型计算机系统上运行,并解决了大量的实际应用问题。目前商FDTD计算软件大多在PC上运而微型计算机网络技术的发展使得并行FDTD计算可以以低成本的方行。PC系统最初的网络结构呈现多样化,在市场和技术竞争中,基于以太百兆和千兆。在科学计算领域,PC机群已经成为一种提高计算能力的重要目前此方式多在科研机构和大学中应用。本章无特别说明,讲的“并行都是指基于PC机群和以太网技术的并行FDTD3.4并行FDTD实现问题。其中一个是将整个的FDTD计算分解为多个子计算过程,另一个是子过程之问的数据交流。另外还有计算初始化、计算过程中的数据控制、计算后的结果收集与处理等问题[80后的结果收集与处理等问题[80】。每个子计算过程除了要和邻近的单元进行数据FDTD计算来说,区域分解可以分为均匀分解和非均匀分解。区域分解和负衡是相互关联的。在一个并行FDTD计算系统中,系统总是要等到所有的并算单元都计算完成后才转向下一步的计算,因此如果区域分解的不合理,无论系统中其他并行计算单元处理器的功能如何强大,所有其余的并行计算单元都机型混合的并行计算环境中,区域分解和负载平衡是一个复杂的问题。可变山东大学硕l:学位论网格尺寸的并行FDTD计算系统中将更加山东大学硕l:学位论网格尺寸的并行FDTD计算系统中将更加进一步增加此问题的复杂在本文所设计的系统中,所有并行计算单元都具有相同的性能。即都有相的CPU、相同的主频设置和相同大小的内存配置。并且Yee网格的大小是的,所以采用的是均匀分配的区域分解,也就是等分的方式。迭代计算。为了简单起见。假设子区域是沿着一个方向设置,余文华等人给出了第一种方法,子区域交界面上的切向电场和磁场的交换在两个相邻子区域之间进行。因为电场和磁场的迭代计算是交替进行的,因此每次电场递推完成后,程序需要停下来交换电场数据,同样磁场递推完成后,程序也需要停下交换磁场数据。这样,FDTD的递推过程被中断两次。如图3.2所示。另一种方法是在相邻子区域问交换切向磁场信息,子区域交界面上的电场切向分量并不交换,而是在两个子区域中分别计算。这样FDTD的计算量多了一些,但是递推过被中断一次。第二种方法中,虽然计算量有所增加,但边界上场量的计算量并大,对目前高性能的处理器来说,可以很快完成。而减少一次网络传输却可以少一半网络传输占用时间。如图3-3所示。由于网络传输时间在并行计算中不可忽略的比例,因此采用第二种方法划分网格可以有效地提高的计算效率。.,卢蚴蝼●唰侧山东夫学硕{一学位3.5并行FDTD运算中并行计算单元之间的通目前基于PC或山东夫学硕{一学位3.5并行FDTD运算中并行计算单元之间的通目前基于PC或其他类型主机的并行计算系统均采用通过网络接1:3的方行通信,以太网为最常用的接1:3。目前已经有的并行系统[27,65—70],其系统并行计算系统中的并行计算单元之间的通信可以分为两个问题,一个是计算单元的物理通信接口,另一个是各单元之间的数据通信传输。并行FDTD计算系统对并行计算单元之间通信速度的要求根据实际情很大的不同。和并行计算单元的数量、网格粒度、并行区域划分有着密切的关系。当系统中并行计算单元数目较少时,一个并行计算单元的一次区域计算时长,边界的数据交换时间较小,网络通信的速率对系统的并行计算性能影响较小,亚州立大学上进行的并行FDTD计算【80】有160节点,320个处理器,所以P43.2G。对于FDTD到每个区域并不大,并且因为每个CPU都为统的性能的影响就非常大并行计算单元之间的通信在并行计算的领域里属于消息传递的内容。从数并行编程模型的编程级别较高,编程相对简单,但只适用于解决数据并行问题围间通过传递消息来交换信息、协调步伐、控制执行。消息传递一般是基于分内存的,但同样也适应于共享内存的并行计算机。消息传递模型为程序员提供山东丈学硕f一学位论用消息传递模型则可以很容易地实现。机动灵活和山东丈学硕f一学位论用消息传递模型则可以很容易地实现。机动灵活和控制手段的多样化,是消递模型能提供很高执行效率的重要原消息传递模型为程序员提供了尽可能大的灵活性,但同时也将各个并行之间复杂的信息交换及协调控制交给了程序员,从而在一定程度上加重了程行FDTD程序大都采用消息传递并行编程模型目前的并行计算系统使用的并行编程模型,既可以采用支持软件支持包来支Machine)[81Interface)【73]是两个主要的工具,在并行FDTD方主要使用MPl支持环境。本文设计的系统因为使用了三个高速网络接口于并行FDTD方法的数据通信简洁的特点,从提高网络通信效率的角度考虑有使用MPI集成环境,而是直接使用了TCP/IP软件网络协议进行通信。使种方法提高了效率,但同时加大了编程的工作量。下面详细介绍基于TCP/IP3⋯511基于TCPflP协议上以Socket规范编程的在以太网MAC层之上可增加网络协议有很多种,但考虑到TCP,m协议广泛应用,目前的网络之间的通信基本上是基于TCP/IP协议的。TCPflP协议族,包含很多的通信协议。在以太网数据帧之上,m数据包要再增加果采用UDP协议,则因为同样属于无连接的协议而在千兆位的通信中会出包的现象。因此本文设计的系统采用面向连接、具有流量控制功能的TCPTCP协议还要在增加至少20个字节的数据开销。从数据的角度考虑,增加开销并不多,由TCP协议的相对复杂性引起的系统处理的开销也不算在Linux中,TCPfIP的网络编程多基于Socket(套接字)编程规范。目前使用两种套接字,即流式套接字和数据报套接字。流式套接字提供了双向、有序、无重复并且无记录边界的数据流服务。流式套接字定义了一种可靠的无重复并且无记录边界的数据流服务。流式套接字定义了一种可靠的面向连接服务,实现了无差错、无重复的顺序数据传输。采用流式套接字模式,在套接字对应于TCP协议。TCP建立一个连接后,TCP协议确保数据报按序而无重复。本文的并行FDTD计算采用TCP协议,确保数据传输的效率和可靠3.6并行FDTD优3.6.1利用OPU缓存技术优化FDTD是一种叠代算法,如果可以使叠代代码很好的利用CPU缓存和线,那么将会大大提高算法CPU缓存(Cache),即高速缓冲存储器,是位于CPU与主内存问的一种较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存取数据要等待一定时间周期,缓存中保存着CPU刚用过或循环使用的一数据,当CPU再次使用该部分数据时可从缓存中直接调用,这样就减少了的等待时间。提高了系统的效率有利于CPU将尽量多的对当前计算有效的数据放入缓存,提高CPU计算时文FDTD算法的实现时,将保存电磁场场分量的存放在连续内存区域的数据了CPU缓存。如图3.4所对于并行FDTD算法,我们将各个连续的内存区域的场值划分给各个计元做运算,每台计算单元都有自己的CPUcache,这样与单台计算机运算相从表3.1的试验数据可以看出,随着计算节点数的增多,即计算区域不计算问题,一台计算机参与计算时,计算总用时为6911.3秒。八台计算机计算时,计算量被分成8份,平均分配到每台计算机,如果不考虑CPU高山东犬学硕卜学位论而存的作用,8台计算机的总计算时间应该与一台计算机的总计算时间相山东犬学硕卜学位论而存的作用,8台计算机的总计算时间应该与一台计算机的总计算时间相实际上,充分利用CPU高速缓存后,每台计算机计算的平均用时为137.1秒台计算机的累记用时为仅为l台计算机总计算时间的1/6X这充分表明了有效利用CPU缓存可以大幅提高并行FDTD运算加速MainC.afhen0】l】≥盟!::!!±必垄2】3一一一一一一2}【v『4】为了充分了利用CPU高速缓存,在实际的并行FDTD计算程序设计中,们采取了两个措施。第一个措施是为参与计算的电场分量,磁场分量,介质参数,吸收边界参数等分配连续的内存空间,这有利于CPU速缓存,提高CPU高速缓存的使用率。第二个措施是在FDTD值时,优先计算内存区域连续的网格。例如,二维的FDTD程序中可以使用二维数组表示,二维数字的第二维中的数据在内存中是连续存的,所以在循环计算时,先做第二维数据的循环计算。对于三维FDTD计算同样的处理。这样做可以提高CPU计算时在高速缓存中查找数据的命中率低CPU高速缓存和内存中交换数据的次数,大大减少计算时表 在并行FDTD算法的循环迭代中,避免出现条件判断和分支语句,可以运算效率。CPU将一条计算机指令分成取指令,解码,运算,结果写回等多步骤执行,叫做一条流水线,如图3.5所目前的PCCPU都采用山东丈掌坝1。学位CPU有多大17—31条流水线。采用这种山东丈掌坝1。学位CPU有多大17—31条流水线。采用这种线技术(pipelines),比如目前的CPU可以将一条计算机指令的取指令,解码,运算,结果写回等多个步骤同的流水线上执行。这样CPU可以同时执行多条指令的不同步骤,以此来提图3.6多条CPIJ流水线并行执也就不能在流水线上执行取指令,取数据,数据解码等操作,CPU的流能空闲等待当前指令执行完毕。如图3.8所示,CPU流水线上并行处理多条指但在4ns的时候出现条件分支,由于无法预测后面的指令所以无法继续取指作。在等待期间流水线上的多个阶段处于空闲状态。因此在FDTD算法中避3.6.3对于二维并行FDTD算法,边界交换的场分量为一维数据,数据长度一几K字节到几百K字节。对于千兆的以太网卡来说,这是个很小的数据量因此必须对不同的百兆,对于网络传输来说也这又是一个很大的山东大学硕十学位论舢d●h胂图3.7NAPI数据流程目前,Linux下山东大学硕十学位论舢d●h胂图3.7NAPI数据流程目前,Linux下的网卡驱动主要采用中断和DMA方式,这种方式对于大数据量有较高的性能,但是高速率的短长度数据包的处理效率比较差。【82]是Linux上采用的一种提高网络处理效率的技术,它的核心概念就是不采中断的方式读取数据,而代之以首先采用中断唤醒数据接收的服务程序POLL的方法来轮询数据,如图3.7所示;从目前已有文献报道[82】在实验得到的数据来看,采用NAPI技术可以大大改善短长度数据包接收的效率另外,目前TCP协议中默认采用Nagle算法。Nagle算法是在网络数据时是把较小的数据包组装为更大的帧再发送,而不立即发送较小的数据包。这种算法有利于大数据量的传输效率,但会对小数据量的传输造成延时。本文针对二维FDTD算法,边界交换数据小,要求传输速度高的特点NODELAY选项NAPI方式的网络驱动程序,同时通过设置套接字的和DMA方式的网络驱动程序,同时通过设置套接字的TCPCORK选项来了Nagle算法。我们将不同的网络驱动程序分别编译进两套Linux内核二维FDTD并行算法和三维FDTD并行算法选用不同的Linux内核从我们的试验数据表3.2来看,有针对性地网络驱动和套接字配置,减少网络耗时,提高了网络传输速度,有效的提高了并行FDTD的运算效率网络耗时,提高了网络传输速度,有效的提高了并行FDTD的运算效率计算问(10002D2D88网络总用计算用他用时NAPl驱动/禁Nagle算法中断驱动/启用NagleNAPI驱动/禁Nagle算法中断驱动/启用Nagle算3D83D83.7本章小算环境中并行计算单元之间的数据技术,并行算法的优化和网络参数的优化论了并行计算系统中边界数据通信的方式和通信接口。本章内容主要讨论已并行FDTD计算系统的主要技术,主要是为第五章本文所设计的并行FDTD山东大学硕}学位论FDTD虽然被广泛的应用于电磁场和光器件仿真领域,但是山东大学硕}学位论FDTD虽然被广泛的应用于电磁场和光器件仿真领域,但是在实际应FDTD计算速度太慢仍然是一个非常突出的问题,即时在多主机并行FDTD领域也还是存在这现代图形处理器Units)将数据流并行处理的概念引件结构中,具有高性能的数据并行处理能力。使用GPU做通用科学计算验显示,与同时代CPU相比,GPU将加快FDTD计算约10-30倍的速度GPU2002年,NVIDIA在其NV30图形处理器中引入可编StrearaProcessor)的概念,使得图形处理器具有一般意义的流并行计算能力。流处理的概念由实时的多媒体应用发展而来。数据流从输进入处理器。在处理器内部,数据源分配给不同的处理器单元执行一段称为核或算法核(Kernel)的处理代码。处理完成后的输出数据,交给下一级处元执行另一段计算核直到输出。数据流处理的并行,主要表现在以下3个上1z,w)确定,对其位移操作标平移,点的位置由一个4元向量这4个元素同时加上位移2)数据级的并行。数据级的并行是SIMD的并行,数据流可同时分配个处理器执行相同的计算核。每个数据的计算不依赖其它数据的计果间上的并行,针对不同的数据流执行不同的任务即多指令多数据处理;也可以是时间上的并行,如图形处理器中的硬件图形自从数流并行处理的概念被现代图形处理器设计所采用,商用的图形处器就实现了从同定图形管线向可编程图形管线过渡,不仅为图形领域的应用山东大学硕f。学位论强大而灵活的处理能力,同时也使得在图形处理器上实现数据流并行山东大学硕f。学位论强大而灵活的处理能力,同时也使得在图形处理器上实现数据流并行计算成能。本章就是基于可编程图形处理器的数据流并行处理能力,研究OpenGL环下在图形处理器上实现FDTD计算的若干GPIJ中的可编程处理单图形处理器中主要的两种可编程部件是顶点处理Pl'oeessor和片元处理器(FragmentProcessorUnits)。顶点处理器又称为顶点渲染器Shader),它执行片元程序指令处理片元数据流。采用数据流处理概念,NVIDIA的G70[83]图形渲染管线如图4.1所示,有8个并行的处理器和24个并行的像素处理器,其内部结构如图4.2所示Geforce7800GTX浮点运算能力达到165GFlops(每秒的浮点运算次而而最新奔腾4PrescottCPU在3.8GHz下的浮点运算能力为GHopsUnified新的G80系列GPU采用了新的构架,所有操作都有片元处理器实现,不再有顶点处理器,比如GTX具有128个流数据处理器,768Mbytes,384.bit内部存储器[84点运算能力高达519GFlops顶点和片元处理器从的寄存器组中取用数据,没有大容量存储器的概念,而不可以直接操作显存,但是它们都包含一个纹理取用部件,因此可以使用缓存(TextureBuffer)作为大容量(swizzle)和输出掩模(mask)可实现从向量中操作每个标量元素。顶点处理器和片元处理器可同时取用并计算这种4分量向量数据,具有流处理中指令级并行点。所以4元向量加法乘法等算术运算和标量的加法乘法等运算同样高效。如此,两种处理器还针对密集的算术运算提供一些原生指令(Native如余弦、线性插值、向量点积等指令,可更快捷的执行复杂计算。然而,图理器目前对于分支循环语法支持还不够,如果程序中大量含有这两种语句在一遍绘制过程中,顶点和片元处理器都执行相同的顶点和片元程序拷贝并行计算多个顶点和片元数据,提供数据级的并行即SIMD。数据流不断的山东大学硕{‘学位论山东大学硕{‘学位论点和像素处理器流入流出,图形流水线提供任务级的并行即时间上并行。由上数据流并行处理的特点,图形处理器具有高性能并行计算的能力图4.1GT0图4.2GT0的顶点和片元处理4.2使用GPU做FDTD4.2.1GPU上的通用随着科学计算可视化、医疗图像、虚拟现实等学科的发展和娱乐产业的推动,需要高性能计算的一些领域和计算机图形需要高性能计算的一些领域和计算机图形领域应用越来越紧密的结合起来。4.3所示,目前图形处理器的浮点计算性能已超过同等级CPU的性能。一些究者把自己非图形领域的计算从CPU转移到GPU上称为图形处理器的算【85】,即GPGPU(GeneralPurposeComputationOilGPUs图4.3GPU和CPU浮点运算性能此较[86现象,Purcell加速光线跟踪算法【90】。2003年是GPGPU领域具有里程碑意实现了使用GPU加速FDTD运算。商业领域,2005年10月ATi商Havok宣布合作开发基于GPGPU的物理计算API当前的GPU中,片元处理器比顶点处理器的数目更多、支持的原生算令更强、对纹理操作更方便,GPU通用计算因此使用片元处理器作为主要据处理器,把纹理作为输入数据,绑定的片元程序实现计算核,帧缓存或纹存保存输出数据。如图4.4所示GPU通用计算的操作过程:在屏幕上绘制带有多纹理绑定的矩形,把该矩形投影到全部视区上,每绘制一遍矩形相当动一次图形管线,光栅化后的矩形具有视区设定大小的片元数。GPU上的实现FDTD元GPU上的实现FDTD元处理器上实现核心的FDTD场值更新程序,使用GPU的纹理缓冲区保存的场值和折射率等电磁场参数数据,使用纹理缓冲区保存输出场值,使用帧缓由于GPU的纹理缓冲区只能处理二维数据,所以FDTD计算中用到的和三维数组必须转换为二维数组。一维数组可以方便的用下标为一的二维数示。二维FDTD计算中用到的场值和电磁场参数等数据都是二维的,所以可接保存到纹理缓冲区。在处理三维问题的时候,三维的数组可以通过一些办据保存格式的转换无疑将会增加FDTD核心计算程序的复杂度,这是GPU算三维FDTD问题中不可避免的麻黔一7 一3546i2黔一7 一3546i2l,GPU2,更新内部电场3,更新边界上的电场4,更新电场激励元5,更新内部磁场6,更新边界上的磁场7,输出场值数据到显示缓8,处理结果数到7的计算步骤会在计算工程中的每一个时间步上循环一次,如果不需要擦场值变化情况,第7步可以不放在每个时间步上图4.6基于GPU的FDTD算图4.6给出了在GPU上实现FDTD算法的实例。电场E,磁场H山东大学硕十学位论山东大学硕十学位论的折射率Index作为纹理数据输入到GPU内的纹理存储器,电场更新核心作为渲染算法邦定到GPU内的片元处理器,启动渲染过程电场数据将得到更输出到输出缓冲区等待下一4.3本章对在GPU上实现并行FDTD计算方法进行了阐述,介绍了GPU在FDTD计算方面的优势,详细讨论FDTD计算在GPU上的数据存储方法和步骤。第五章将给出一个利用GPU进行并行FDTD计算的具体实现和仿真实例为验证并行FDTD计算系统的特性,本文提出并实现为验证并行FDTD计算系统的特性,本文提出并实现了一种新的基于PC板和GPU图形加速卡的并行FDTD计算系统,系统框图如图5.1。对和非大规模电磁场问题可以分别采用以太网并行FDTD方案和GPU并行面向平面无源光电器件的工业界的应用。本论文的实现虽然只有8个并行计元和一块GPU图形加速卡,而在构建实际的系统时则可以根据本设计的原了FDTD算法中边界数据交换的速5.1硬件系统和目前已有并行FDTD计算系统不同,本文提出的FDTD计算系由于性山东大学硕十学位论能和并行计算单元的数目大致成线性关系。和大型计算机系统山东大学硕十学位论能和并行计算单元的数目大致成线性关系。和大型计算机系统与高性能工作比,虽然PC系统的计算性能有限,但目前PC系统是性能价格比最高的计统。由多台微机构成的同计算能力的并行计算系统其价格要远远低于同性能型计算系统,因此目前的并行FDTD计算系统大都由PC来构算机系统,具有本地的硬盘。这样的系统常常由大学或研究机构的实验室来信。如TheDallas的一个研究组在2001年建立的用于ofTexas行建立一个小型的并行FDTD计算系统。这样的系统占用的空间比较大,配比较复杂,当并行计算单元数目比较多的时候,系统维护就比近年来为适应科学计算的需求,fl前很多科研机构都建立了大型的网格系统。使用廉价的PC机、Linux操作系统来建设PC机群系统,已经是一种的做法。这样的系统在科学计算领域也常被称为Farm,在高理领域应用较多。如美国StanfordUniversity建设的具有512个并行计算单Linux.Kernel2.6.20。由于采用了专用的主要面向服务器的并行计算单元,使的科学计算问题,由科研机构中的专门人员负责管理,并行FDTD计算可以目前商业的FDTD计算软件已经向并行计算领域推进。已有商业FDTD件包可以支持并行计算[12,15】。这些软件包需要在单个计算机上运行,而并行计算机则由普通的PC机通过以太网络互连而成。对于工业界来说,把很多计算机之间通信也成为了系统性能方面的瓶颈。本文所设计的系统是专为FDTD算法而设计的。每个并行计算单元仅采介质,从而大大提高了系统的可靠性和可用性,控制主机采用单独一台PC一块高性能GPU图形加速卡(NVIDIAGeforee7900GS),用于以太网并行控山东』=学硕1显示,以及GPU并行FDTD计算本系统使用的主板为台湾华硕公司生产的P5PS00-VM主板,前端总800MI-Iz,支山东』=学硕1显示,以及GPU并行FDTD计算本系统使用的主板为台湾华硕公司生产的P5PS00-VM主板,前端总800MI-Iz,支持双通道DDR存储器,此主板为标准的小型化、高性能主板。板8139的100兆位的以太网络接口。本系统中使用的白带一个规格为为Intel公司生产的Pentium42.66GHz的处理器,存储器为1GBytes容量、频率为333MHz的DDR存储器。板上具有64位的PCI扩展槽,插入两个为RealTek8169的千兆位的以太网卡。本系统控制主机的GPU图形加速卡NVIDIAGeforee7900GS,具有512兆字节256比特位宽内部存储器和启动和电源监控电路。插件板和机箱背板通过接插件连接器连接,该连接器给各计算单元提供电源之外,还将提供100M网络接口的通路。千兆位的以络接口则在前面板通过短连接线直接互连。每个机箱为标准的6U机箱,背部风扇散热系统。根据主板的产生的热量的不同,每个机箱可以插入六个或四算单元。本文设计的系统其机箱可以方便的加由于计算机系统技术已经高度的标准化,其中PC主机板的规格、CPU存储器的物理与电气接口都具有相应的工业标准或事实的标准,因此本系统很容易的进行升级和改造。上述三个部件都可以独立更换,插拔式的单元结得其更换工作非常容易5.1.2在并行FDTD计算中,各并行计算单元基本是同步进行计算处理,即当时,各个并行计算单元同时进行各自区域的计算,然后几乎同时进行相互之数据交换。当进行二维的计算时,边界的数据量比较小。然而当进行三维计算时,交换的数据量和并行计算单元的数目没有直接的关系,即无法通过增加并行单元数目的方法来减少边界交换数据。几乎同时发生的数据交换给网络传输了很高的要求。对于单接口的并行FDTD计算系统,这会造成系统性能的严降目前的并行计算系统都是基于单一网络接口的。如果采用多个以太网接口,通过以太网交换机互连,则可以提高系统的性能。该性能的提高随着接通过以太网交换机互连,则可以提高系统的性能。该性能的提高随着接口数增加原则上应该是线性的。但通过增加通信接口的数日来提高性能有两个困处,其中一个是由于并行FDTD数据交换的同时性,性能的提高很大程度上于以太网交换机的性能。另一个是多个网络接口需要相应软件的支持,这也采用千兆位的以太网技术可以大大提高系统的数据传输性能。目前高性都为主频为3.2G的双IntelP4XeonCPU,有1M的超级缓存,4G存储器为千兆位以太网,使用超高速MyricDm交换系统互连。这样的配置其平均节点的价格非常昂贵文献[80】指出,在此系统中,对于同一个问题和同一个并行系统,因为受其他任务或网络设备状态的影响,并行程序的效率是不稳定的。该仿真只使300x300x300个网格,对于更大规模的仿真,网络通信便成为整个系统性络接口的并行FDTD计算系统。在所设计的并行FDTD计算系统中其每计算单元都配了三个网络接口卡。本论文中采用的主板在板上自带一个百兆以太网接口,通过一个百兆位的以太网交换机和担任服务器角色的主微机进据交流,主要用于初始数据的获得和最终计算结果的传输。虽然数据量非常大但是由于是一次性进行并且采用了数据压缩的技术,所以使用百兆位的网络满足要求。在整个并行FDTD计算过程中间该接口用于计算过程的监测。每行计算单元为交换边界数据专门配备了两个千兆位的网卡,分别用于交换两边界数据。如图5.2所示。相邻的并行计算单元之间的连线非常短,采用低的RJ45铜线以太网络接口。每个以太网接口都是双工工作模式,因此在交界数据时向邻近并行计算单元发送数据和从邻近并行计算单元接收数据可时进行。在去掉了边界数据交换机以后,系统的数据交换性能主要由千兆位接口和主板处理能力来决山东大学硕1:学位论5.2软件系统设5.2.1操作系山东大学硕1:学位论5.2软件系统设5.2.1操作系统的选Windows的操作系统和Unix/Linux的操作系统。虽然目前在桌面系统上MicrosoftWindows占了绝优势,但在基于科学计算的PC并行计算系统中Linux是常用的操作系使用Linux来构建以太网并行计算平台具有许多优点,其中最突出的是Linux系统的开放的特性。这个特性同时也为提高并行系统的性能提供了更中去,从而使在操作系统一级提高性能成为可能。在本论文所设计的并行计算系统中,我们只取我们所需要的部分,不需要使用图形界面、多媒体处许多内容,只需要根据我们的需求来编译系统内核,从而大大降低了系统的开销。Linux的另一个突出的优势就是廉价。首先Linux论是科学计算领域还是商业领域,用户都可以免费使用。另外Linux于Linux常用在科学计算方面,在相同软硬件配置情况下,Linux与Windows作系统相比具有更高的运算效率和网络效率,也具有更好的系统与网络的优点正是并行FDTD所需要山东大学硕十学位论目前Linux最稳定的发行版之一。本论文所山东大学硕十学位论目前Linux最稳定的发行版之一。本论文所使用的Debian操作系统的版本为3.1Linux内核为目前发布的最新稳定版2.6.20[95],根据本计算系统的需要进裁和编译,使其占用更少的资源,具有更高的效率。5.2.2由于每个并行计算单元中都没有安装硬盘及其他形式的存储介质,所以并行计算单元都设定为远程启动。目前远程启动的方式主要有两种,RPLPXE[96]。RPL为RemoteInitialProgramLoad的缩写,客户机开机后对机上的为RPL远程启动的网卡进行初始化,网卡BootROM上固化的软件向以太广播一个数据包,称之为引导请求帧,该帧中包含有客户机的相应网卡识别号服务器端的远程启动服务接收到客户机广播的引导请求帧后,根据引导请求所带的网卡识别号在远程启动数据库中查找相应的工作站记录,然后远程启务发送一个确认帧给客户PXE为PrebootExecutionEnvironment的缩写,PXE则是根据服务器到的工作站MAC地址(就是网卡号),使用DHCP服务给这个MAC地址指一个口地址,并通过DHCP回应包的形式将相关信息传回,包括用户端的m址,预设通讯通道,及开机映像文件的信息。之后,将有更多的讯息在工作服务器之间作应答,用以决定启动参数。BootROM由TFFP通讯协议从动块,引导操作系统,完成远程启RPL和PXE之间的不同之处为,RPL是静态路由,PXE是动态路由。多,PXE由于采用了多点传输的通信协议,在数据传输过程中有任何的错它只是将出错线程的数据包重发,而不是像RPL采用NetBEUI协议会要求数据包重发,因而启动速度较快PXE远程启动。因此只有该网卡的口地址从服务器端分并行FDTD计算软件经GCC编译之后,存储在服务端的硬盘上,由山东大学硕十学位论5.2.3为了能灵活地配置计算资源以及监控整个计山东大学硕十学位论5.2.3为了能灵活地配置计算资源以及监控整个计算过程,应当在并行计算代码添加控制功能部分。虽然这部分属于辅助功能部分,但灵活而方便的控制部分与人机界面不仅可以改善计算效率,也使整个系统更趋于实用。本文核心算法采用C编写,用户界面部分采用Delphi开发环境,可以方便的编写各种配置及监元相邻关系,监控进程,启动或挂起进程等功能。同时还可以实现仿真数据、图像的存储、汇总,以及设同步点和断点处理等功能。这部分工作虽然在提高加比方面贡献不大,但对提高整个并行计算系统的实用性方面都是必不可少的。外还实现了GPU上面的二维FDTD并行计算程序,核心算法采用Cg编写,5.3并行FDTD的边界数据的传递、数据压5.3.1边界数据的传并行FDTD计算单元之间需要交换的边界数据数量取决于在在边界上的点数和FDTD算法的阶数。在我们先前的研究工作中,系统采用的是100M数据接口,采用以太网数据包/UDP数据包的形式进行数据传输。在将通信升级为千兆位以太网络以后,即使邻近两并行计算单元直接连接进行通信方式传输的丢包的现象也比较严重。表5.1列出了并行FDTD计算系统分100M和1000M情况下使用UDP进行数据传输的情况。测试环境为LinuxUDP传输时的数据包丢失主要是因为主板系统和操作系统软件系统的接收处数据传送,它消除了丢包现象但使网络传输速率下降很多在并行FDTD计算过程中,如果只出现偶尔的边界数据交换错误,FDTD算程序可以忽略此次数据传输而不中断迭代计算的进行。此时可以使用上次传山东丈学硕十学位论的数据来进行下一步的计算,这当然会对计算产生一些影响,但由于迭代的很多,少量的错误对计算影响不大。因此,并行FDTD计算对边界数据交换定的容山东丈学硕十学位论的数据来进行下一步的计算,这当然会对计算产生一些影响,但由于迭代的很多,少量的错误对计算影响不大。因此,并行FDTD计算对边界数据交换定的容错能力。在并行FDTD系统中数据包总是以尽可能大的封包形式发出会连续发送这样小的数据包,因此在表5.3中的小包发送的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论