999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

射線模型Bellhop的并行化處理

2019-04-02 08:47:50張朝金孫炳文1
應(yīng)用聲學(xué) 2019年1期
關(guān)鍵詞:效率模型

張朝金孫炳文1,2?

(1中國科學(xué)院水聲環(huán)境特性重點(diǎn)實(shí)驗(yàn)室 北京 100190)

(2中國科學(xué)院聲學(xué)研究所 北京 100190)

(3中國科學(xué)院大學(xué) 北京 100049)

0 引言

射線法具有成熟的理論基礎(chǔ),適用范圍廣且其物理圖像清晰,基于射線追蹤技術(shù)的射線模型被廣泛應(yīng)用于水下聲場快速預(yù)報(bào)[1]、海洋聲層析[2?3]、三維聲場計(jì)算[4?5]、匹配場定位[6]等水聲領(lǐng)域。同時,將射線理論與簡正波等模型相互結(jié)合,可以建立有效的適用于復(fù)雜環(huán)境中的低頻聲場計(jì)算模型[7],或可用于分析復(fù)雜環(huán)境下聲場特性的變化規(guī)律[8]。

由于傳統(tǒng)射線方法在方程建立與求解上的限制,無法有效計(jì)算聲影區(qū)和會聚區(qū)的聲場。幾何衍射理論可以處理聲影區(qū)的計(jì)算問題,但該理論中聲束寬度的微小設(shè)置誤差會導(dǎo)致很大的計(jì)算問題[1];W.K.B.近似方法可以有效計(jì)算會聚區(qū)聲場,但是該近似解難以推廣至二維和三維的水聲傳播情況[9]。20世紀(jì)80年代,Porter等[10]提出了高斯射線追蹤理論,通過更加寬容的高斯函數(shù)表征聲波強(qiáng)度在聲波束管中的分布,有效地解決了經(jīng)典射線方法中聲影區(qū)和會聚區(qū)聲場能量不準(zhǔn)確的問題和聲束寬度設(shè)定的限制。對于高頻、與距離有關(guān)(簡正波、快速場、拋物理論不適用)的海洋聲傳播問題,該模型計(jì)算更準(zhǔn)確,在計(jì)算精度和實(shí)時性上都有很大的提高。基于高斯聲線束理論的Bellhop聲場計(jì)算模型的出現(xiàn)也加快了高斯聲線束模型的廣泛應(yīng)用。

隨著我國對海洋的研究由淺海向深海、由近場向遠(yuǎn)程的探索,對實(shí)時且準(zhǔn)確預(yù)估聲場提出了越來越高的要求。隨著計(jì)算機(jī)計(jì)算能力的飛速提高和并行計(jì)算技術(shù)的快速發(fā)展[11],水下聲場并行計(jì)算成為聲場快速預(yù)估的有效途徑,充分利用計(jì)算機(jī)多核計(jì)算能力,將聲場計(jì)算并行化,是提高聲場計(jì)算效率最簡單、直接的方法,對于該問題的研究已經(jīng)成為水下聲傳播的熱點(diǎn)問題之一[12?13]。高斯射線束(Gaussian ray bundle,GRAB)理論具有計(jì)算速度快、物理意義清晰并且適合并行化處理等優(yōu)點(diǎn),許多學(xué)者就射線理論并行計(jì)算聲場展開了一系列的探究。其中較為簡單的就是應(yīng)用OpenMP在共享存儲的模式下進(jìn)行并行計(jì)算,但OpenMP不適用于集群。因此,陳連榮等[14]利用基于消息傳遞編程模型(Message passing interface,MPI)進(jìn)行了高斯射線聲場模型并行算法的設(shè)計(jì)和編程,該方法可以應(yīng)用于多處理器集群系統(tǒng)。MPI適合各種機(jī)器,但是其編程模型復(fù)雜,程序可靠性差。

綜上所述,本文基于高斯射線束理論探究Bellhop模型的數(shù)值計(jì)算原理與并行計(jì)算的可行性,考慮現(xiàn)有并行方法的優(yōu)缺點(diǎn),利用多線程技術(shù),開發(fā)出并行化射線模型BellhopMP(Bellhop multi process),并且對BellhopMP的并行效率進(jìn)行了測試與分析,從而快速、準(zhǔn)確地預(yù)報(bào)聲場。

1 并行化射線模型設(shè)計(jì)

1.1 高斯射線理論與Bellhop聲場計(jì)算模型

考慮二維柱坐標(biāo)系下聲場的Helmholtz方程:

式(1)中,c為聲速,ω為聲源處的角頻率。根據(jù)級數(shù)解形式p(r,z)=exp(iωτ)An/(iω)n,忽略高階項(xiàng),可得程函方程和強(qiáng)度方程:

引入射線坐標(biāo)和射線束概念,可分別獲得描述射線束中心聲線的控制方程和射線束強(qiáng)度的表達(dá)式:

其中,s為射線坐標(biāo)中的聲線弧長量,θ0為聲線的初射掠射角,[r(s),z(s)]描述聲線軌跡,|J(s)|為表征柱對稱情況下引入的幾何擴(kuò)展量和s處相鄰聲線間的弧長變化。

根據(jù)|J(s)|所表征的物理意義,并結(jié)合射線坐標(biāo),針對經(jīng)典的射線理論,可建立|J(s)|計(jì)算表達(dá)式和動力學(xué)射線方程,即

其中,p和q為射線坐標(biāo)s處相鄰射線之間的弧長及其相對變化。

高斯波束跟蹤方法,不僅保留了傳統(tǒng)射線的一些優(yōu)點(diǎn),還能夠避免傳統(tǒng)射線的實(shí)際應(yīng)用困難。在水聲學(xué)研究領(lǐng)域,目前存在幾種典型的高斯波束跟

蹤方法,理論基本相似,主要區(qū)別在于波束內(nèi)部聲場能量的分布形式、沿波束行進(jìn)過程中能量擴(kuò)展形式等方面。高斯射線束方法,通過引入較為簡單的波束寬度限制,可以較為準(zhǔn)確地處理簡單的聲影區(qū)和會聚區(qū)聲場問題。高斯射線理論的基本思路是將聲線看作截面能量按照高斯函數(shù)分布的聲束,該聲束的中心聲線滿足標(biāo)準(zhǔn)的控制方程,如式(3a)所示,在中心聲線鄰域可以構(gòu)造出

其中,η是距離中心聲線的垂直距離;A是一個任意的常數(shù),通過與均勻介質(zhì)聲場參考值比較,由聲源性質(zhì)確定;τ(s)為沿聲線的相位延遲;p和q為在上文基礎(chǔ)上由高斯波束束寬和曲率定義的復(fù)弧長及相對變化。考慮點(diǎn)源問題,聲場的射線理論表達(dá)式為

式(6)中,?θ為聲束的夾角,θm為相應(yīng)聲線的掠射角,τ(s)在控制方程計(jì)算的基礎(chǔ)上進(jìn)行求解,p和q則在高斯波束束寬和曲率給定的初始值下根據(jù)動力學(xué)射線方程(4b)計(jì)算。

Bellhop就是基于高斯聲線束理論開發(fā)的聲場計(jì)算模型,其計(jì)算準(zhǔn)確性和可靠性已經(jīng)得到重復(fù)檢驗(yàn)。該模型寬容性較好,可以應(yīng)用高斯、帽型等波束進(jìn)行聲場修正,且可以獲得傳播損失、本征聲線以及聲線到達(dá)時間序列等多種實(shí)用數(shù)據(jù),同時可以處理海面、海底和聲速剖面隨距離變化的情況。Bellhop允許輸入設(shè)計(jì)好的具有指向性的聲源,可以通過輸入具體的地聲參數(shù)或者通過海底反射系數(shù)表征海底邊界進(jìn)行聲場計(jì)算。模型從提出至今已發(fā)展出多個不同的版本,利用不同的編程語言發(fā)展出Fortran版、Matlab版、Python版。本文為了方便進(jìn)行并行化模型的設(shè)計(jì),把Fortran語言版本的源程序移植為C++語言版本:BellhopC,C++版本的Bellhop可以在不支持Fortran語言的平臺中使用。

1.2 BellhopMP并行化射線模型設(shè)計(jì)

高斯射線模型Bellhop的聲場計(jì)算中每條聲線對聲場的貢獻(xiàn)是獨(dú)立疊加的,即各條聲線計(jì)算之間沒有直接聯(lián)系,因而非常適宜按照不同的射線計(jì)算來分配任務(wù)。因此可以在聲線層面上進(jìn)行并行化處理,將聲線跟蹤及對聲場的貢獻(xiàn)分配到多個計(jì)算核心上進(jìn)行計(jì)算,然后合并聲場即可得到考慮所有聲線貢獻(xiàn)的聲場。

根據(jù)高斯射線模型的特點(diǎn),并行化模型BellhopMP對Bellhop的并行化體現(xiàn)在聲線分組和聲場合并,并行過程如圖1所示。BellhopMP讀取計(jì)算參數(shù)文件,根據(jù)用戶設(shè)定的線程數(shù)量進(jìn)行多核并行計(jì)算;如果用戶不指定線程數(shù)量,則使用硬件系統(tǒng)能提供的最大并行能力。在主線程中執(zhí)行Bellhop的所有計(jì)算流程,讀取聲線初射角度信息后,根據(jù)可以使用的并行能力,將聲線角度分為多個區(qū)間,主線程只計(jì)算第一個區(qū)間的聲線及其對聲場的貢獻(xiàn)。其他每個線程計(jì)算某一個聲線角度區(qū)間的聲場結(jié)果。最后在主線程中合并所有的聲場計(jì)算結(jié)果,輸出到結(jié)果文件中。

圖1 聲場計(jì)算模型BellhopMP并行處理流程Fig.1 Flow chart of BellhopMP

2 并行計(jì)算算例分析

圖2 Pekeris波導(dǎo)情況下Bellhop、BellhopC與BellhopMP的聲場計(jì)算結(jié)果Fig.2 The sound f i eld computed by Bellhop,BellhopC and BellhopMP in the Pekeris waveguide

為了檢驗(yàn)并行算法的準(zhǔn)確性,實(shí)驗(yàn)過程中對Acoustic Toolbox中多個算例使用Bellhop、BellhopC和BellhopMP進(jìn)行了計(jì)算分析,得到的結(jié)果基本一致,基本驗(yàn)證了并行射線程序BellhopMP的準(zhǔn)確性和可靠性,文章中只列出了經(jīng)典情況(calibB_gb和MunkB_Coh_gb)下的結(jié)果。淺海Pekeris波導(dǎo)情況下,環(huán)境參數(shù)和幾何參數(shù)為水中聲速1500 m/s,海底為聲速1590 m/s、密度1.2 g/cm3、衰減0.5 dB/λ的液態(tài)半無限空間;海深100 m,接收距離5 km,聲源深度50 m,頻率250 Hz。Bellhop、BellhopC和BellhopMP聲場計(jì)算的傳播損失結(jié)果如圖2所示,Bellhop和BellhopC相對于BellhopMP的計(jì)算結(jié)果誤差分布(x軸為兩者計(jì)算得到的傳播損失的差,y軸對應(yīng)該差值的個數(shù))如圖3所示。

圖3 Pekeris波導(dǎo)情況下不同版本Bellhop模型的聲場計(jì)算結(jié)果誤差分布Fig.3 The error distribution of dif f erent versions of Bellhop in the Pekeris waveguide

典型深海Munk剖面情況下,聲速剖面如圖4所示,其他環(huán)境參數(shù)和幾何參數(shù)為海底為聲速1600 m/s、密度1.8 g/cm3、衰減0.8 dB/λ的液態(tài)半無限空間;海深5000 m,接收距離100 km,聲源深度1000 m,頻率50 Hz。Bellhop、BellhopC和BellhopMP聲場計(jì)算的傳播損失結(jié)果如圖5所示,Bellhop和BellhopC相對于BellhopMP的計(jì)算結(jié)果誤差分布如圖6所示。

圖4 Munk聲速剖面Fig.4 Munk sound speed prof i le

圖5 深海情況下Bellhop、BellhopC與BellhopMP的聲場計(jì)算結(jié)果Fig.5 The sound f i eld computed by Bellhop,BellhopC and BellhopMP in deep water

圖6 深海情況下不同版本Bellhop模型的聲場計(jì)算結(jié)果誤差分布Fig.6 The error distribution of dif f erent versions of Bellhop in deep water

數(shù)值計(jì)算的結(jié)果顯示BellhopMP與Bellhop、BellhopC計(jì)算結(jié)果一致,誤差的產(chǎn)生是由于浮點(diǎn)數(shù)的表示及累積誤差,對聲場計(jì)算的精度沒有影響,這驗(yàn)證了BellhopMP計(jì)算的準(zhǔn)確性。同時,由淺海和深海環(huán)境下的聲場計(jì)算結(jié)果可以看出,基于高斯波束的射線模型可有效實(shí)現(xiàn)水下聲場的計(jì)算,在淺海中聲線相互干涉從而體現(xiàn)簡正波傳播特征,而在深海中可有效給出聲影區(qū)和會聚區(qū)的聲場值。

3 并行效率

本文使用Intel(R)Core(TM)i7-4770K CPU@3.50 GHz和Intel(R)Xeon(R)CPU E3-1505M v6@3.00 GHz兩種CPU進(jìn)行并行計(jì)算效能的測試,兩種CPU都是4個核心,在超線程技術(shù)的支持下,可以進(jìn)行8個線程的同時計(jì)算,以發(fā)揮CPU的最大計(jì)算能力。操作系統(tǒng)均為Windows 10。對于所有算例分別使用Bellhop、BellhopC、BellhopMP(依次設(shè)置線程數(shù)為1~8)、BellhopMP(默認(rèn)參數(shù),使用全部可用的線程數(shù))計(jì)算100次,統(tǒng)計(jì)每個算例計(jì)算耗時的均值和方差。以經(jīng)典深海情況(MunkB_Coh_gb)為例,其環(huán)境參數(shù)和幾何參數(shù)見圖5的計(jì)算說明,其均值與標(biāo)準(zhǔn)差結(jié)果如圖7所示。

以上兩種CPU下的計(jì)算結(jié)果趨勢一致,如圖7所示。但是在Xeon處理器上,耗時的方差較大,這應(yīng)該與CPU的架構(gòu)差別有關(guān)。BellhopC的耗時比Bellhop的多,這與Bellhop的C++語言實(shí)現(xiàn)的效率有關(guān),有進(jìn)一步優(yōu)化的可能。需要說明的是,對于計(jì)算一條聲線的聲場,BellhopMP并沒有使用多線程來計(jì)算,且當(dāng)算例的計(jì)算耗時很少時,由于BellhopMP需要額外的任務(wù)分配和結(jié)果合并操作,導(dǎo)致計(jì)算時間相對于BellhopC并沒有減少,有時計(jì)算時間反而會增加。

為了定量描述并行計(jì)算的能力,定義并行效率(P)為加速比與線程數(shù)目之比,反映執(zhí)行并行算法時,平均每個處理器的執(zhí)行效率。其中加速比為同一個任務(wù)在單處理器系統(tǒng)和并行處理器系統(tǒng)中運(yùn)行消耗的時間的比率:

T1是在單個處理器下的運(yùn)行時間,TN是在有N個處理器并行系統(tǒng)中的運(yùn)行時間。

根據(jù)圖7的計(jì)算結(jié)果,取T1為Bellhop的運(yùn)行時間,BellhopMP在不同線程下相對于Bellhop的并行化效率如圖8所示。BellhopMP采用大粒度的并行處理,在主線程中不僅計(jì)算聲場,還負(fù)責(zé)聲線區(qū)間的分割和聲場計(jì)算結(jié)果的合并。這導(dǎo)致了隨著線程數(shù)量的增加,時間減小得越來越不明顯,并行效率逐漸降低,如圖8中i7 CPU在使用4個線程時并行效率只有0.5,這是由于Fortran版本的Bellhop的計(jì)算時間只有12 s。

并行效率與串行的計(jì)算時間有關(guān),串行時間越長,并行效率越高。如圖9所示為使用Acousitc Toolbox中提供的測試算例(arcticB_cpp、DickinsCervenyB、MunkB_Coh_CervenyR、MunkB_Coh_gb、MunkB_Coh_SGB、MunkB_gbt),皆使用4個線程(與CPU的核心數(shù)相同)時的并行效率。由圖中結(jié)果可以看出,隨著串行計(jì)算時間的增加,并行效率逐漸增加。如圖9(a)中可以看出,當(dāng)Bellhop計(jì)算時間為105 s時,i7 CPU的并行效率可達(dá)0.9。因而,對于遠(yuǎn)距離深海環(huán)境下的長時間聲場計(jì)算問題,本文提出的并行模型可在保證計(jì)算準(zhǔn)確性的前提下,有效提高計(jì)算效率,減少計(jì)算時間。

圖7 各類計(jì)算方式耗時的均值和標(biāo)準(zhǔn)差。其中,F(xiàn)、C、1–8、A依次表示Bellhop、BellhopC、BellhopMP(線程數(shù)1~8)、BellhopMP(默認(rèn)參數(shù))Fig.7 The mean value and standard variance of computation time cost by dif f erent models on two platform.F,C,1–8,A represents dif f erent models:Bellhop,BellhopC,BellhopMP(thread count:1~8),BellhopMP(default)

圖8 不同線程數(shù)目時BellhopMP相對于Bellhop的并行計(jì)算效率Fig.8 The parallel efficiency of BellhopMP using dif f erent count of thread on two platforms

圖9 串行模型Bellhop的計(jì)算時間和使用4個線程的BellhopMP的并行效率之間的關(guān)系Fig.9 The relationship of serial computation time and parallel efficiency of BellhopMP using 4 threads

4 結(jié)論

本文在分析高斯射線束理論的基礎(chǔ)上,根據(jù)射線模型的特征,利用多線程技術(shù)對射線模型Bellhop進(jìn)行了并行化處理,開發(fā)了并行化射線模型BellhopMP,該模型在保證計(jì)算結(jié)果準(zhǔn)確性的同時,在多核計(jì)算機(jī)上能大幅度提高計(jì)算速度且有較好的并行效率,可以解決深海遠(yuǎn)程以及復(fù)雜情況下聲場計(jì)算時間過長的問題。同時該模型串行時間越長,并行效率越高,故對于深海超遠(yuǎn)程等長時間聲場計(jì)算問題,BellhopMP可有效降低計(jì)算時間,而對于耗時較短的聲場計(jì)算,并行效率提高的程度有限。相較于其他并行方法,BellhopMP并行化處理方式簡單易行,程序可靠性較高,這種并行化處理方式也適用于DSP(Digital signal processor)等多核心處理器計(jì)算平臺。

猜你喜歡
效率模型
一半模型
重要模型『一線三等角』
提升朗讀教學(xué)效率的幾點(diǎn)思考
甘肅教育(2020年14期)2020-09-11 07:57:42
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
注意實(shí)驗(yàn)拓展,提高復(fù)習(xí)效率
效率的價值
商周刊(2017年9期)2017-08-22 02:57:49
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
跟蹤導(dǎo)練(一)2
“錢”、“事”脫節(jié)效率低
主站蜘蛛池模板: AV网站中文| 亚洲视频无码| 色偷偷av男人的天堂不卡| 农村乱人伦一区二区| 亚洲精品国产首次亮相| 欧美一区日韩一区中文字幕页| 欧美成人看片一区二区三区 | 亚洲码在线中文在线观看| 久久99国产乱子伦精品免| 久久精品午夜视频| 青青网在线国产| 露脸真实国语乱在线观看| 日韩一二三区视频精品| 日韩美毛片| 波多野结衣久久精品| 久久黄色视频影| 亚洲第一页在线观看| 国产福利小视频在线播放观看| 免费午夜无码18禁无码影院| 人妻中文久热无码丝袜| 美女内射视频WWW网站午夜 | 国产乱人伦偷精品视频AAA| 91口爆吞精国产对白第三集| 日韩a在线观看免费观看| 精品久久综合1区2区3区激情| a毛片免费在线观看| 国产精品免费入口视频| 亚洲AV无码乱码在线观看裸奔| 久久久久亚洲Av片无码观看| 超薄丝袜足j国产在线视频| 日韩大片免费观看视频播放| 国产成人亚洲精品无码电影| 久久久久九九精品影院| 91成人免费观看| 美女被操91视频| 精品99在线观看| 91伊人国产| 亚洲av日韩av制服丝袜| 精品中文字幕一区在线| 欧美日韩激情在线| 久久精品嫩草研究院| 性欧美在线| 伊人91视频| 91丝袜在线观看| 日韩无码视频专区| 国产精品99在线观看| 精品国产香蕉伊思人在线| 国产美女91视频| 国产精品任我爽爆在线播放6080 | 国产精品v欧美| 国产综合亚洲欧洲区精品无码| 日本精品视频| 亚洲a级在线观看| 孕妇高潮太爽了在线观看免费| 国产精品部在线观看| aa级毛片毛片免费观看久| 中文字幕有乳无码| AV不卡在线永久免费观看| 亚洲有码在线播放| 国产XXXX做受性欧美88| 国产激情无码一区二区APP| 少妇精品网站| 国产精品免费露脸视频| 精品国产一区91在线| 亚洲婷婷在线视频| 尤物在线观看乱码| 日韩A∨精品日韩精品无码| 亚洲国产综合自在线另类| 538国产视频| 中文字幕在线免费看| 亚洲熟妇AV日韩熟妇在线| 99爱视频精品免视看| 五月婷婷导航| 成人在线天堂| 91九色国产在线| 国产精品亚洲欧美日韩久久| 五月婷婷丁香综合| 精品国产一区二区三区在线观看| 亚洲成人高清无码| 免费在线国产一区二区三区精品 | 精品一區二區久久久久久久網站| 国产无码网站在线观看|