胡 辰張 帆*李國(guó)君李 偉崔忠馬
①(北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院 北京 100029)②(北京遙感設(shè)備研究所 北京 100854)
基于冗余計(jì)算約簡(jiǎn)的環(huán)掃SAR回波多GPU快速模擬
胡 辰①?gòu)?帆*①李國(guó)君①李 偉①崔忠馬②
①(北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院 北京 100029)
②(北京遙感設(shè)備研究所 北京 100854)
環(huán)掃SAR作為一種特殊工作模式雷達(dá),在對(duì)地觀測(cè)方面有著廣泛應(yīng)用。隨著分辨率提高及測(cè)繪帶寬增大,對(duì)環(huán)掃SAR成像精度提出了更高的要求。而快速的海量回波模擬方法能夠?qū)Ω呔瘸上袼惴ㄔO(shè)計(jì)、研究提供有力的支撐。本文給出一種基于多GPU(Graphics Processing Unit,圖形處理器)的環(huán)掃SAR回波模擬方法,并在此基礎(chǔ)上進(jìn)行冗余計(jì)算優(yōu)化,通過(guò)MPI(Message Passing Interface,消息傳遞接口)在多GPU上進(jìn)行了實(shí)現(xiàn),實(shí)驗(yàn)結(jié)果表明在使用4塊GPU的條件下,經(jīng)過(guò)冗余計(jì)算約簡(jiǎn),并行效率提高2倍以上,硬件成本降低50%,相對(duì)傳統(tǒng)CPU串行仿真提高350倍左右。
環(huán)掃SAR;回波模擬;GPU并行;計(jì)算優(yōu)化
引用格式:胡辰, 張帆, 李國(guó)君, 等.基于冗余計(jì)算約簡(jiǎn)的環(huán)掃SAR回波多GPU快速模擬[J].雷達(dá)學(xué)報(bào), 2016, 5(4): 434-443.DOI: 10.12000/JR15078.
Reference format: Hu Chen, Zhang Fan, Li Guojun, et al..Computation reduction oriented circular scanning SAR raw data simulation on multi-GPUs[J].Journal of Radars,2016, 5(4): 434-443.DOI: 10.12000/JR15078.
合成孔徑雷達(dá)(Synthetic Aperture Radar,SAR)能夠在復(fù)雜的氣象條件下全天時(shí)工作,獲得高分辨率圖像。隨著SAR系統(tǒng)的發(fā)展,設(shè)計(jì)了多種新的工作模式以滿(mǎn)足不同觀測(cè)需求,如滑聚、圓跡、環(huán)掃等。環(huán)掃模式是指天線波束中心繞著一條軸進(jìn)行旋轉(zhuǎn)掃描,可以在短時(shí)間內(nèi)獲得環(huán)狀目標(biāo)區(qū)域的信息[1-6]。隨著環(huán)掃SAR分辨率的提高、測(cè)繪帶的增寬,對(duì)成像算法精度提出更高的要求。而高精度成像算法研究所需的模擬回波數(shù)據(jù)也海量增加,對(duì)計(jì)算效率提出了更高的要求。傳統(tǒng)的串行回波模擬方法效率低,因此有必要利用高性能計(jì)算技術(shù)加速回波模擬過(guò)程,為環(huán)掃SAR成像算法研究、系統(tǒng)設(shè)計(jì)提供有力支撐。
高性能計(jì)算在各種計(jì)算密集型科研問(wèn)題領(lǐng)域得到廣泛應(yīng)用,很多研究者也把SAR回波模擬和高性能計(jì)算進(jìn)行了結(jié)合,比如利用OpenMP(Open Multiprocessing)的多核并行方法實(shí)現(xiàn)機(jī)載SAR回波仿真[7], 基于MPI的多CPU并行方法實(shí)現(xiàn)星載SAR回波仿真[8],基于網(wǎng)格計(jì)算的多計(jì)算機(jī)并行方法實(shí)現(xiàn)SAR回波模擬[9],以及基于GPU(Graphics Processing Unit,圖形處理器)的眾核并行回波仿真[10-18]等。但是,以上文獻(xiàn)的并行加速均未針對(duì)環(huán)掃SAR回波模擬,此外,雖然速度相比于傳統(tǒng)的回波模擬串行方法有了很大的提升,但是與成像處理的時(shí)間差距依然很大。因此有必要在前期研究基礎(chǔ)上,結(jié)合環(huán)掃成像幾何、回波生成的特點(diǎn),進(jìn)行環(huán)掃SAR回波的多GPU快速模擬研究,為成像算法研究提供支持。
高分辨率、寬測(cè)繪帶條件下的回波數(shù)據(jù)海量增加,給環(huán)掃SAR多GPU回波仿真帶來(lái)兩方面的問(wèn)題。首先是冗余計(jì)算問(wèn)題,在判斷波束腳印內(nèi)的有效目標(biāo)回波時(shí),需要計(jì)算整個(gè)場(chǎng)景的目標(biāo)信息,但實(shí)際貢獻(xiàn)回波的目標(biāo)點(diǎn)只有很小一部分,從而產(chǎn)生大量的冗余計(jì)算。其次是由于冗余計(jì)算帶來(lái)的冗余存儲(chǔ)問(wèn)題,波束腳印計(jì)算中需要存儲(chǔ)整個(gè)場(chǎng)景的大小,雖然大顯存的GPU能夠解決這一問(wèn)題,但硬件成本也會(huì)增加。因此,有必要對(duì)冗余計(jì)算及其引發(fā)的冗余存儲(chǔ)問(wèn)題進(jìn)行深度優(yōu)化,加快多GPU的環(huán)掃回波仿真效率。
針對(duì)環(huán)掃SAR回波模擬有待解決的問(wèn)題,本文提出了一種基于冗余計(jì)算約簡(jiǎn)的環(huán)掃SAR回波多GPU快速模擬方法。采用MPI進(jìn)程控制不同的GPU卡,對(duì)原始數(shù)據(jù)進(jìn)行分塊,使得每個(gè)進(jìn)程在進(jìn)行回波仿真時(shí)只需要開(kāi)辟私有的存儲(chǔ)空間,對(duì)照射范圍外目標(biāo)斜距歷史的冗余計(jì)算進(jìn)行約簡(jiǎn),然后通過(guò)不同的GPU對(duì)相應(yīng)塊數(shù)據(jù)并行地進(jìn)行回波模擬計(jì)算,最后通過(guò)回波數(shù)據(jù)收集,得到最終的模擬回波數(shù)據(jù)。該方法能夠更好的應(yīng)用于大場(chǎng)景環(huán)掃SAR回波模擬,相對(duì)傳統(tǒng)串行方法可以達(dá)到2個(gè)數(shù)量級(jí)以上的加速并有效地降低硬件需求,為工程應(yīng)用提供了指導(dǎo)。
2.1 成像幾何模型
環(huán)掃SAR在運(yùn)動(dòng)過(guò)程中,天線在保持入射角不變的同時(shí),繞地面垂線做環(huán)形掃描,從而形成近似環(huán)狀的掃描區(qū)域,其成像幾何如圖1所示,其中SAR平臺(tái)沿X軸正方向做直線運(yùn)動(dòng),天線波束以固定的中心視角β0繞地面垂線做逆時(shí)針圓周掃描,B為波束中心點(diǎn),Q(x1, y1, z1)為SAR載荷位置,βmin為波束起始視角,βmax為波束終止視角,θmin和θmax分別表示波束腳印方位角的最小值和最大值。假定SAR天線從X正半軸開(kāi)始繞Z軸做圓周掃描,由于SAR平臺(tái)沿X軸正方向前進(jìn),經(jīng)過(guò)完整一周的掃描,在地面會(huì)產(chǎn)生一個(gè)不閉合的圓環(huán)掃描區(qū)域,如圖1所示。
圖1 環(huán)掃SAR成像幾何Fig.1 Circular scanning SAR imaging geometry
成像幾何主要用于計(jì)算目標(biāo)和SAR之間的斜距、角度等幾何信息。其中角度信息用來(lái)進(jìn)行波束腳印范圍判斷,斜距信息用來(lái)計(jì)算回波延遲、相位,下面以場(chǎng)景內(nèi)某點(diǎn)為例,介紹成像幾何的解算過(guò)程:
首先,點(diǎn)P的斜距Ri及水平投影的計(jì)算公式如下。
接著,點(diǎn)P的波束視角βi和方位向角θi求解如下。
然后,需要根據(jù)點(diǎn)P的角度信息進(jìn)行波束腳印范圍判斷。波束腳印范圍計(jì)算包括距離向、方位向兩個(gè)方面的角度約束。距離向角度約束是指根據(jù)βmin和βmax對(duì)所有點(diǎn)波束視角進(jìn)行判斷,可以在整個(gè)場(chǎng)景中篩選出一個(gè)環(huán)狀區(qū)域。在此基礎(chǔ)上,根據(jù)θmin和θmax進(jìn)行方位向角度約束得到最終的波束腳印范圍內(nèi)的目標(biāo)點(diǎn)。因此,如果點(diǎn)P在波束范圍內(nèi),則需滿(mǎn)足如下條件:
2.2 SAR回波模擬方法
回波模擬算法從處理域角度可以劃分為距離時(shí)域、距離頻域、2維頻域等3類(lèi),其中時(shí)域模擬算法由于能夠較好地考慮各種系統(tǒng)誤差和運(yùn)動(dòng)誤差,常應(yīng)用于算法研究、系統(tǒng)設(shè)計(jì)過(guò)程。本節(jié)主要針對(duì)所采用的距離時(shí)域快速模擬方法[19]進(jìn)行介紹。
SAR發(fā)射的chirp信號(hào)表達(dá)式如下:
式中Tp為脈沖寬度,fc為載波頻率,kr為線性調(diào)頻率,τ為距離向時(shí)間。
經(jīng)過(guò)相干接收,SAR回波信號(hào)表達(dá)式如下:
式中Ta是合成孔徑時(shí)間,t為方位向時(shí)間,λ是波長(zhǎng),r(t)是該點(diǎn)到相位中心的距離。
由式(8)可知,每個(gè)方位時(shí)刻的回波信號(hào)看作由一系列狄拉克函數(shù)和發(fā)射信號(hào)的卷積,并通過(guò)傅里葉變換的方法在頻域完成混疊的方位回波信號(hào)與距離向信號(hào)的卷積過(guò)程實(shí)現(xiàn)回波快速模擬,如式(9)所示。
式中tn表示方位向時(shí)間軸,S(ξ)為發(fā)射信號(hào)的頻譜,F(xiàn)表示傅里葉變換,F(xiàn)-1表示傅里葉逆變換,并有方位向積累信號(hào)sa(tn,τ)如下所示:
式中i表示目標(biāo)散射點(diǎn)序號(hào)。
根據(jù)式(9),式(10),可以得到回波模擬步驟如圖2所示。首先,根據(jù)環(huán)掃SAR成像幾何解算,得到某一個(gè)方位時(shí)刻場(chǎng)景中目標(biāo)點(diǎn)的斜距、視角、方位角信息;接著,進(jìn)行波束腳印判斷,對(duì)于范圍內(nèi)的目標(biāo)方位向回波進(jìn)行計(jì)算,并疊加到對(duì)應(yīng)的距離門(mén)中;然后,將疊加的方位向信號(hào)和距離向信號(hào)通過(guò)頻域乘法的方式完成卷積處理,得到一個(gè)方位時(shí)刻的回波數(shù)據(jù);最后,遍歷所有方位向時(shí)刻得到完整的回波數(shù)據(jù)。
圖2 SAR回波模擬仿真流程圖Fig.2 Flowchart of SAR raw data simulation
3.1 CUDA編程模型
CUDA (Compute Unified Device Architecture)是由顯卡廠商英偉達(dá)推出的一種通用的并行計(jì)算架構(gòu),能夠方便地將通用數(shù)值問(wèn)題映射到GPU并行解決,因此GPU和傳統(tǒng)算法的結(jié)合成為一個(gè)熱點(diǎn)問(wèn)題。
GPU與CPU在硬件架構(gòu)上有著很大的不同,主要體現(xiàn)在邏輯控制、數(shù)據(jù)計(jì)算和存儲(chǔ)體系方面。首先,由于芯片表面放置較少的邏輯控制單元,GPU的邏輯處理能力較差,因此在CPU+GPU異構(gòu)系統(tǒng)中的邏輯控制部分通常由CPU完成。其次,GPU芯片表面比CPU芯片表面放置了更多的計(jì)算單元,因此GPU的計(jì)算能力優(yōu)于后者。然后,GPU具有更加豐富的存儲(chǔ)體系,每個(gè)線程都有自己的寄存器和本地存儲(chǔ)器,多個(gè)線程構(gòu)成一個(gè)線程塊,每個(gè)線程塊中的線程有共享的存儲(chǔ)空間,多個(gè)線程塊構(gòu)成一個(gè)網(wǎng)格,網(wǎng)格中線程可以共享全局存儲(chǔ)器、常量存儲(chǔ)器和紋理存儲(chǔ)器中的數(shù)據(jù),GPU的存儲(chǔ)模型如圖3所示。
根據(jù)以上分析介紹,在環(huán)掃SAR多GPU回波仿真中,CPU主要用來(lái)完成輸入輸出、數(shù)據(jù)和參數(shù)分配、數(shù)據(jù)收集等任務(wù),GPU主要用來(lái)完成計(jì)算密集度大的回波計(jì)算部分。
圖3 GPU存儲(chǔ)器模型Fig.3 GPU memory hierarchy
3.2 MPI并行編程庫(kù)
CUDA用于完成單GPU卡的回波計(jì)算,對(duì)于多GPU卡的控制、任務(wù)調(diào)度,可以通過(guò)MPI完成。MPI全稱(chēng)消息傳遞接口,是一個(gè)并行的編程庫(kù),可以實(shí)現(xiàn)多機(jī)多核并行編程。在多GPU回波仿真中,任務(wù)的分發(fā)、收集都需要通過(guò)信息傳遞完成,而MPI是解決這一問(wèn)題的最佳方法。MPI是基于消息傳遞機(jī)制的,可以靈活地進(jìn)行仿真狀態(tài)信息傳遞、仿真數(shù)據(jù)傳輸、多GPU計(jì)算進(jìn)程控制等任務(wù),便于進(jìn)行不同粒度的并行,可以擴(kuò)展到更多的GPU卡進(jìn)行回波模擬工作,如圖4所示。
3.3 多GPU并行回波模擬方法
隨著分辨率提高、測(cè)繪帶寬變寬、觀測(cè)場(chǎng)景增大,需要進(jìn)行模擬的回波數(shù)據(jù)量海量增加,雖然通過(guò)單GPU實(shí)現(xiàn)回波仿真已經(jīng)在速度上有了很大的提升,但是大場(chǎng)景回波模擬與成像處理之間還是有著很大的時(shí)間差,影響成像算法研究進(jìn)程,因此有必要引入多GPU進(jìn)行快速仿真。
根據(jù)stop-and-go模型,在SAR進(jìn)行環(huán)掃時(shí),各個(gè)方位向時(shí)刻的回波仿真過(guò)程是獨(dú)立的。此外,在信號(hào)相干積累過(guò)程中,各個(gè)目標(biāo)點(diǎn)的信號(hào)散射也可以看作是相互獨(dú)立的。因此,可以從這兩個(gè)層面進(jìn)行并行化設(shè)計(jì),以每個(gè)方位時(shí)刻的回波仿真作為粗粒度并行單位,分發(fā)給各個(gè)GPU進(jìn)行計(jì)算;在每個(gè)方位時(shí)刻內(nèi),以單個(gè)目標(biāo)點(diǎn)回波模擬作為細(xì)粒度并行單位,分發(fā)給單個(gè)GPU卡中的各個(gè)線程進(jìn)行計(jì)算,如圖2所示。
圖4 MPI消息傳遞簡(jiǎn)圖Fig.4 MPI message-passing diagram
因此,可以對(duì)整個(gè)方位向仿真時(shí)間進(jìn)行劃分,分配給每一塊GPU卡相應(yīng)的仿真時(shí)間范圍,GPU卡收到計(jì)算任務(wù)之后開(kāi)始進(jìn)行計(jì)算,不同卡之間是并行執(zhí)行的,直到最后所有的計(jì)算任務(wù)都已經(jīng)完成,CPU負(fù)責(zé)將計(jì)算任務(wù)進(jìn)行收集整理,得到最后的回波數(shù)據(jù),如圖5所示,具體的步驟如下:
(1) 讀入雷達(dá)參數(shù)、場(chǎng)景目標(biāo)參數(shù)等仿真基本信息;
(2) 將存入內(nèi)存中的參數(shù)信息通過(guò)MPI主進(jìn)程廣播到其他MPI進(jìn)程中;
(3) 通過(guò)不同的進(jìn)程控制不同的GPU,并將各自?xún)?nèi)存空間中的參數(shù)信息和進(jìn)程號(hào)傳送到GPU顯存中;
(4) 在GPU進(jìn)行計(jì)算時(shí),通過(guò)進(jìn)程號(hào)、總進(jìn)程數(shù)與總的方位向點(diǎn)數(shù)計(jì)算出該GPU卡在計(jì)算回波時(shí)的起始方位時(shí)刻和結(jié)束方位向時(shí)刻,也就是將整個(gè)方位向長(zhǎng)度劃分成了若干個(gè)小的方位向范圍;
(5) 計(jì)算場(chǎng)景目標(biāo)的斜距等成像幾何信息,進(jìn)而計(jì)算在該方位時(shí)刻的回波;
(6) 遍歷該GPU所需遍歷的所有方位向時(shí)刻,得到仿真回波數(shù)據(jù)子塊;
(7) 計(jì)算完成后,將各自回波通過(guò)消息傳遞給主進(jìn)程,CPU主進(jìn)程進(jìn)行回波的收集整理。
3.4 基于MPI的冗余計(jì)算約簡(jiǎn)
圖5 多GPU的SAR回波模擬仿真流程Fig.5 Flowchart of multi-GPUs based SAR raw data simulation
分析上述回波仿真過(guò)程,可以看出波束腳印判斷步驟需要計(jì)算場(chǎng)景內(nèi)所有目標(biāo)點(diǎn)的成像幾何信息,但是波束腳印內(nèi)的目標(biāo)點(diǎn)只是其中一部分,對(duì)于波束腳印外目標(biāo)點(diǎn)的成像幾何計(jì)算是冗余的,這樣就產(chǎn)生了兩個(gè)問(wèn)題:
(1) 一個(gè)合成孔徑范圍相對(duì)于整個(gè)場(chǎng)景較小,但在進(jìn)行波束腳印范圍判斷時(shí)卻要計(jì)算場(chǎng)景中所有點(diǎn)的斜距、角度等成像幾何信息,這樣就產(chǎn)生了很大的冗余計(jì)算。
(2) 如果需要計(jì)算場(chǎng)景中所有點(diǎn)的成像幾何信息,那么就需要將所有點(diǎn)的信息拷貝到GPU顯存中,但實(shí)際上需要的只有該GPU計(jì)算任務(wù)中對(duì)應(yīng)照射區(qū)域內(nèi)的點(diǎn)信息,這樣就產(chǎn)生了顯存的浪費(fèi)。
綜上可知,傳統(tǒng)回波并行模擬方法中在成像幾何計(jì)算部分出現(xiàn)計(jì)算冗余和存儲(chǔ)冗余,因此可以根據(jù)以上分析對(duì)這兩個(gè)問(wèn)題提出解決措施,即通過(guò)MPI進(jìn)行分塊的方法約簡(jiǎn)計(jì)算量和減少顯存的使用量。為了減少在分塊時(shí)產(chǎn)生的計(jì)算量,分塊的處理原則是盡量取內(nèi)存中連續(xù)的數(shù)據(jù),減少不連續(xù)數(shù)據(jù)的存取。所以對(duì)于環(huán)掃SAR這種特殊的掃描方式,可以采取4塊劃分。如圖6,沿X軸和Y軸將環(huán)狀區(qū)域劃分為4塊。
但進(jìn)行分塊劃分之后,又出現(xiàn)了新的問(wèn)題,假如在某個(gè)方位時(shí)刻進(jìn)行回波仿真時(shí),合成孔徑超出了該塊,使得在場(chǎng)景塊邊緣的點(diǎn)并沒(méi)有掃到,如圖6。藍(lán)色邊線區(qū)域?yàn)閳?chǎng)景塊,黃色區(qū)域?yàn)橐呀?jīng)經(jīng)過(guò)的區(qū)域,在該方位時(shí)刻,由于雷達(dá)在掃描時(shí)已經(jīng)到了場(chǎng)景的邊緣,所以有一部分場(chǎng)景目標(biāo)信息沒(méi)有掃描到,如圖6的1區(qū)域中斜線部分,所以在回波計(jì)算時(shí)會(huì)產(chǎn)生能量積累不完全的情況。
圖6 雷達(dá)掃描分塊邊緣平面圖Fig.6 Block edge diagram of radar scanning
雷達(dá)在沿方位向前進(jìn)時(shí),掃描到的區(qū)域是連續(xù)的,所以在該場(chǎng)景邊緣,最多有半個(gè)合成孔徑距離沒(méi)有掃描到,在進(jìn)行目標(biāo)場(chǎng)景分塊時(shí),需要將圖中斜線區(qū)域的場(chǎng)景目標(biāo)信息加進(jìn)來(lái),這樣就避免了在某個(gè)方位向時(shí)刻出現(xiàn)掃描場(chǎng)景不完全的情況,如圖7所示。圖中黃色部分為需要回波仿真的場(chǎng)景,淡藍(lán)色區(qū)域?yàn)?個(gè)合成孔徑距離,也就是左右或者上下兩塊各多占大于半個(gè)合成孔徑的距離。對(duì)仿真場(chǎng)景的分塊處理需要4個(gè)MPI進(jìn)程獲取自己的場(chǎng)景塊信息,因?yàn)樵诜抡骈_(kāi)始前,主進(jìn)程已經(jīng)將場(chǎng)景信息通過(guò)廣播發(fā)送給了各個(gè)進(jìn)程,所以每個(gè)進(jìn)程中有各自獨(dú)立的場(chǎng)景信息。場(chǎng)景的大小可用如下公式計(jì)算:
其中S為場(chǎng)景塊的面積,height和width為原場(chǎng)景的高和寬,MPI_NUM為啟動(dòng)的MPI進(jìn)程數(shù),d為合成孔徑長(zhǎng)度。
圖7 MPI分塊示意圖Fig.7 MPI partitioning diagram
在未進(jìn)行MPI分塊時(shí),GPU顯存中需要存儲(chǔ)整個(gè)的場(chǎng)景信息,在計(jì)算斜距和波束腳印范圍時(shí),GPU需要對(duì)計(jì)算整個(gè)場(chǎng)景數(shù)據(jù)進(jìn)行計(jì)算。假設(shè)單位面積內(nèi)目標(biāo)點(diǎn)在進(jìn)行斜距和波束腳印范圍計(jì)算時(shí)所需要的運(yùn)算量為Cpt,每個(gè)方位時(shí)刻的回波運(yùn)算量為echo_Cpt,而目標(biāo)點(diǎn)在場(chǎng)景中都是均勻分布的,所以Cpt跟場(chǎng)景的面積成正比。MPI分塊前后的每個(gè)方位向時(shí)刻的回波總運(yùn)算量Cpt_total和Cpt_total_pieces如式(12)和式(13),MPI分塊前后的回波總運(yùn)算量的比值Ni如式(14)。
從式(12)和式(13)可以看出總的回波運(yùn)算量近似的與場(chǎng)景塊的面積成正比,而d相對(duì)于整個(gè)場(chǎng)景的height和width而言是很小的,所以在計(jì)算Ni時(shí)忽略了d的影響。假設(shè)啟動(dòng)了4個(gè)MPI進(jìn)程,并且在實(shí)驗(yàn)過(guò)程中場(chǎng)景為6000×6000時(shí),計(jì)算整個(gè)場(chǎng)景的斜距及波束腳印范圍的運(yùn)算量約為計(jì)算1個(gè)方位向時(shí)刻的回波運(yùn)算量的2倍,那么上式中Ni的值約等于2。在相同波束寬度的前提下,如果場(chǎng)景小于6000×6000,則Ni<2,如果場(chǎng)景大于6000×6000,則Ni>2,并且隨著場(chǎng)景的增大,Ni會(huì)變大,也就是MPI分塊方法的優(yōu)勢(shì)會(huì)隨著場(chǎng)景的增大而更加顯著。
通過(guò)圖7的分塊方法每個(gè)進(jìn)程可以從場(chǎng)景中獲取與自己進(jìn)程號(hào)相關(guān)的場(chǎng)景塊,例如主進(jìn)程將獲取1號(hào)場(chǎng)景塊,然后將場(chǎng)景塊信息發(fā)送到GPU端進(jìn)行各自的回波仿真處理。最終當(dāng)所有的場(chǎng)景塊都仿真完成,也就是所有的方位向時(shí)刻點(diǎn)都仿真完成的時(shí)候,除主進(jìn)程外的其他進(jìn)程會(huì)向主進(jìn)程發(fā)送回波結(jié)果,由主進(jìn)程進(jìn)行整合,完成整個(gè)回波過(guò)程。
從圖7中可以看出,在計(jì)算斜距等信息時(shí)每個(gè)進(jìn)程只需要對(duì)本進(jìn)程對(duì)應(yīng)的場(chǎng)景塊進(jìn)行處理,而不需要對(duì)全部的場(chǎng)景進(jìn)行計(jì)算,減少了將近3/4的斜距等信息的計(jì)算量,增加的是MPI進(jìn)程在進(jìn)行分塊時(shí)的計(jì)算量,由于分塊時(shí)盡量取連續(xù)內(nèi)存中的數(shù)據(jù),所以在分塊時(shí)帶來(lái)的計(jì)算量相對(duì)是非常小的。而且由于每個(gè)進(jìn)程只需要獲取本場(chǎng)景塊的信息,使用的顯存空間也大大減少了,原來(lái)需要將整個(gè)場(chǎng)景信息都傳送到顯存中,而現(xiàn)在只需要傳送稍大于1/4原場(chǎng)景的信息量,對(duì)顯卡的顯存要求也會(huì)降低,從而降低系統(tǒng)構(gòu)建經(jīng)濟(jì)成本。
4.1 實(shí)驗(yàn)條件
為了驗(yàn)證本文方法的有效性,需要設(shè)計(jì)大場(chǎng)景回波模擬實(shí)驗(yàn)進(jìn)行比較分析?;夭ǚ抡鎱?shù)如表1所示,并采用美國(guó)MSTAR數(shù)據(jù)[20]作為場(chǎng)景散射系數(shù)圖進(jìn)行模擬計(jì)算。本次試驗(yàn)的硬件環(huán)境如下,CPU型號(hào)是Intel(R) Xeon(R) CPU E5-2630 v2, 2.6 GHz, GPU共4塊, 型號(hào)為Nvidia Tesla C2070(顯存6 G),使用的CUDA版本為CUDA 4.0,MPI版本為MPICH 2.0。
4.2 加速效果分析
以CPU串行計(jì)算作為基準(zhǔn)算例,在此基礎(chǔ)上進(jìn)行多GPU、基于MPI分塊的多GPU并行回波模擬實(shí)驗(yàn),對(duì)比并行仿真的加速效果。
為了驗(yàn)證多GPU并行方法和基于冗余計(jì)算約簡(jiǎn)的多G P U并行方法的優(yōu)勢(shì),分別針對(duì)4000×4000, 5000×5000, 6000×6000以及7000×7000等4個(gè)場(chǎng)景進(jìn)行環(huán)掃SAR回波仿真,結(jié)果如表2、表3所示。從計(jì)算結(jié)果可以看出來(lái),經(jīng)過(guò)4塊GPU卡的并行加速,運(yùn)算時(shí)間大大減少,相對(duì)CPU的加速比可達(dá)160倍左右,但是仿真時(shí)間仍需要17 min;在此基礎(chǔ)上,進(jìn)行冗余計(jì)算約簡(jiǎn),仿真時(shí)間縮短,加速比可以提升至352倍??梢?jiàn)在多GPU并行仿真基礎(chǔ)上,進(jìn)行冗余計(jì)算約簡(jiǎn),能夠有效地提高環(huán)掃SAR回波仿真效率。
表2 不同場(chǎng)景下3種方法的計(jì)算時(shí)間對(duì)比Tab.2 Simulation time comparison of three algorithms in different scenes
表3 不同場(chǎng)景下多GPU和MPI分塊的多GPU方法的加速比Tab.3 Speedup comparison of the multi-GPUs based method and the proposed method
為了分析MPI分塊方法在速度上的優(yōu)勢(shì),測(cè)試了MPI分塊時(shí)間以及分塊后的多GPU計(jì)算總時(shí)間及加速情況,如表4所示。從計(jì)算結(jié)果可以看出,利用MPI在CPU端進(jìn)行并行分塊的冗余計(jì)算約簡(jiǎn),可以在多GPU并行仿真基礎(chǔ)上,提高2.2倍。該方法雖然相對(duì)多GPU方法具有一定的復(fù)雜度,但是時(shí)間消耗較少。通過(guò)較少的時(shí)間消耗,減少大量的冗余數(shù)值計(jì)算,從而提高整體并行計(jì)算效率,是一種并行計(jì)算的優(yōu)化思路。圖8給出了MPI分塊約簡(jiǎn)冗余計(jì)算的加速效果對(duì)比,從圖中的柱狀信息可以看出,用MPI分塊的方法進(jìn)行回波模擬仿真相比于未分塊的多GPU來(lái)說(shuō),仿真的速度快了近2倍。此外,從折線信息可以看出,多GPU的仿真時(shí)間的增長(zhǎng)率要大于MPI+多GPU的增長(zhǎng)率,也就可以預(yù)測(cè),隨著仿真場(chǎng)景的增大,MPI分塊方法的優(yōu)勢(shì)會(huì)越來(lái)越明顯。
表4 不同場(chǎng)景下冗余計(jì)算約簡(jiǎn)的計(jì)算時(shí)間及加速比Tab.4 Performance analysis of the proposed method in time and speedup
圖8 多GPU和MPI+GPU的仿真總時(shí)間對(duì)比圖Fig.8 Total simulation time comparison of the multi-GPUs based method and the proposed method
此外,實(shí)驗(yàn)還分析了場(chǎng)景大小為7000×7000的情況下,整個(gè)環(huán)掃SAR回波仿真過(guò)程中,輸入/輸出時(shí)間、CPU串行程序時(shí)間、MPI分塊時(shí)間和GPU并行回波模擬時(shí)間,如圖9所示。可以看出,針對(duì)回波模擬這種計(jì)算密集型的數(shù)值計(jì)算,即使經(jīng)過(guò)優(yōu)化的多GPU并行加速,核心回波計(jì)算部分仍然占據(jù)了95%的執(zhí)行時(shí)間,可見(jiàn)針對(duì)大場(chǎng)景、乃至長(zhǎng)條帶場(chǎng)景的回波仿真,可以擴(kuò)大GPU并行的數(shù)量,通過(guò)更多的并行計(jì)算資源,來(lái)加快環(huán)掃SAR回波仿真,并逐步減少與成像處理之間的時(shí)間差距。
圖9 7000×7000場(chǎng)景大小的運(yùn)行時(shí)間比例圖Fig.9 The running time scale map of the proposed method in 7000×7000 simulation area
最后,為了驗(yàn)證MPI分塊的多GPU并行回波仿真的正確性,采用CS成像算法對(duì)多GPU, MPI+多GPU仿真的回波數(shù)據(jù)進(jìn)行成像驗(yàn)證,兩者的回波數(shù)據(jù)、成像結(jié)果完全一致,可以看出這種基于數(shù)據(jù)分塊的冗余計(jì)算約簡(jiǎn)方法對(duì)成像精度沒(méi)有影響,成像結(jié)果如圖10所示。
圖10 本文方法仿真回波的成像結(jié)果Fig.10 The imaging result of the simulated raw data by the proposed method
此外,還需要進(jìn)一步比較MPI+多GPU仿真方法和CPU仿真方法的計(jì)算精度。論文[16-18]和本文采用相同回波仿真算法,其結(jié)合點(diǎn)目標(biāo)指標(biāo)對(duì)GPU和CPU的回波仿真精度進(jìn)行分析,結(jié)論是兩者計(jì)算結(jié)果差別很小,在成像精度允許的范圍內(nèi)。因此,這里主要從回波數(shù)據(jù)、面目標(biāo)指標(biāo)角度對(duì)兩者的仿真精度進(jìn)行比較分析,如表5所示。從回波數(shù)據(jù)來(lái)看,兩種方法的差別較小,表現(xiàn)在均值誤差為1e-7,方差誤差為2.6e-5,以CPU結(jié)果為參考值計(jì)算出來(lái)的均方根誤差(RMSE)為1e-5;從成像結(jié)果來(lái)看,輻射分辨率誤差僅為1e-4,均值、方差誤差較小,在成像精度允許的范圍內(nèi)。總之,基于MPI分塊的多GPU回波仿真方法,雖然在做浮點(diǎn)數(shù)運(yùn)算、FFT運(yùn)算時(shí)與CPU相比存在微小差別,但是都在誤差允許范圍內(nèi),能夠滿(mǎn)足回波仿真精度的需要。
表5 CPU方法和MPI分塊的多GPU方法的仿真精度對(duì)比Tab.5 Accuracy analysis of the proposed methods
4.3 冗余存儲(chǔ)優(yōu)化分析
在進(jìn)行回波模擬時(shí)間對(duì)比的同時(shí),也對(duì)硬件成本做了對(duì)比分析。經(jīng)過(guò)冗余計(jì)算約簡(jiǎn),每塊GPU卡存儲(chǔ)的數(shù)據(jù)量減少,大場(chǎng)景回波模擬對(duì)于顯存的需求降低了,因此在計(jì)算能力相當(dāng)?shù)那疤嵯?,可以選用顯存較小的GPU計(jì)算卡。
以Nvidia的Tesla C2070和C2050為例進(jìn)行分析,前者硬件成本是后者的1.5倍左右,其配置如表6所示。從表中可以看出兩種處理器的差別只有顯存大小不同,當(dāng)計(jì)算場(chǎng)景大小為30000×30000的回波時(shí),在沒(méi)有分塊之前需要的顯存空間是3.35G,所以如果從上面兩種GPU中選擇時(shí),只能選擇C2070;而如果運(yùn)用分塊的方法,在GPU進(jìn)行運(yùn)算時(shí)所需要的顯存空間僅為0.84 G,所以可以選擇C2050顯卡。以本文實(shí)驗(yàn)所采用4塊GPU為例,進(jìn)行冗余存儲(chǔ)約簡(jiǎn)后的硬件成本相比之前節(jié)省了大約50%。
表6 相關(guān)硬件配置對(duì)比表Tab.6 Hardware configuration comparison
本文實(shí)現(xiàn)了基于冗余計(jì)算約簡(jiǎn)的環(huán)掃SAR多GPU快速模擬仿真算法,通過(guò)MPI進(jìn)行分塊處理,約簡(jiǎn)了波束范圍外目標(biāo)的成像幾何計(jì)算,減少仿真計(jì)算量的同時(shí)節(jié)省大量存儲(chǔ)空間。實(shí)驗(yàn)結(jié)果表明,基于冗余計(jì)算約簡(jiǎn)的多GPU環(huán)掃SAR回波仿真方法可以滿(mǎn)足精度要求,在時(shí)間上相比于多GPU并行模擬提升2倍以上,硬件成本也有了明顯降低。基于本文算法,采用4塊GPU卡的環(huán)掃SAR回波數(shù)據(jù)模擬相對(duì)CPU串行仿真的速度提升可達(dá)350倍,極大縮短成像算法的研究歷程。此外,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),CPU在GPU計(jì)算過(guò)程中一直處于空閑狀態(tài),造成計(jì)算資源浪費(fèi),因此在下一步研究中,會(huì)嘗試通過(guò)多CPU結(jié)合多GPU的異構(gòu)計(jì)算方式,充分利用計(jì)算機(jī)的計(jì)算資源,進(jìn)一步提升回波模擬速率,為成像算法研究奠定基礎(chǔ)。
[1] 李天池, 周蔭清, 蔡世學(xué), 等.機(jī)載環(huán)掃成像雷達(dá)數(shù)據(jù)處理方法研究[J].系統(tǒng)工程與電子技術(shù), 2002, 24(7): 1-3.Li Tianchi, Zhou Yinqing, Cai Shixue, et al..Study on the data processing methods for airborne circular scanning imaging radar[J].Systems Engineering and Electronics,2002, 24(7): 1-3.
[2] 李靜, 黃培康, 潘旭東, 等.雷達(dá)下視環(huán)掃成像分辨率研究[J].系統(tǒng)工程與電子技術(shù), 2009, 31(2): 315-318.Li Jing, Huang Peikang, Pan Xudong, et al..Study on resolution for circular scanning imaging radar[J].Systems Engineering and Electronics, 2009, 31(2): 315-318.
[3] 李勇, 朱岱寅, 朱兆達(dá).環(huán)視 SAR 成像處理中的幾何失真校正算法[J].南京航空航天大學(xué)學(xué)報(bào), 2009, 41(2): 232-237.Li Yong, Zhu Daiyin, and Zhu Zhaoda.Geometricdistortion correction algorithm for circular-scanning SAR imaging[J].Journal of Nanjing University of Aeronautics & Astronautics, 2009, 41(2): 232-237.
[4] 毛新華, 朱岱寅, 李勇, 等.環(huán)視 SAR 幾何失真校正誤差分析及補(bǔ)償技術(shù)研究[J].電子與信息學(xué)報(bào), 2007, 30(11): 2706-2709.doi:10.3724/SP.J.1146.2007.00679.Mao Xinhua, Zhu Daiyin, Li Yong, et al..Study on error analysis of geometric distortion correction and compensation techniques for circular-scan SAR[J].Journal of Electronics & Information Technology, 2007, 30(11): 2706-2709.doi:10.3724/SP.J.1146.2007.00679.
[5] 趙亮, 毛新華, 吳迪.基于回波信號(hào)的環(huán)視 SAR 成像運(yùn)動(dòng)參數(shù)估計(jì)[J].數(shù)據(jù)采集與處理, 2014, 29(4): 590-596.Zhao Liang, Mao Xinhua, and Wu Di.Motion parameter estimate of circular-scanning SAR imaging based on echo signal[J].Journal of Data Acquisition and Processing, 2014,29(4): 590-596.
[6] 孫兵, 周蔭清, 李天池, 等.環(huán)掃 SAR 的快速聚焦成像算法[J].北京航空航天大學(xué)學(xué)報(bào), 2007, 33(7): 803-806.Sun Bing, Zhou Yinqing, Li Tianchi, et al..Fast focused imaging algorithm for circular scanning SAR[J].Journal of Beijing University of Aeronautics and Astronautics, 2007,33(7): 803-806.
[7] 蘇宇, 齊向陽(yáng).基于OpenMP的星載SAR回波信號(hào)并行仿真[J].中國(guó)科學(xué)院研究生院學(xué)報(bào), 2008, 25(1): 129-135.Su Yu and Qi Xiangyang.OpenMP based space-borne SAR raw signal parallel simulation[J].Journal of the Graduate School of the Chinese Academy of Sciences, 2008, 25(1): 129-135.
[8] 王曦爽, 黃立勝, 王貞松.分布式星載SAR回波仿真的并行化計(jì)算研究[J].系統(tǒng)仿真學(xué)報(bào), 2006, 18(8): 2097-2100.Wang Xishuang, Huang Lisheng, and Wang Zhensong.Research on parallel arithmetic of distribute spaceborne SAR ground target simulation[J].Journal of System Simulation, 2006, 18(8): 2097-2100.
[9] 張帆, 林殷, 洪文.基于網(wǎng)格計(jì)算的SAR回波分布式仿真[J].系統(tǒng)仿真學(xué)報(bào), 2008, 20(12): 3165-3167.ZhangFan,Lin Yin,andH ong Wen.SARe chodistributed simulation based on grid computing[J].Journalof System Simulation, 2008, 20(12): 3165-3167.
[10]Yu L, Xie X, and Xiao L.GPU-accelerated circular SAR echo data simulation of large scenes[C].XXXIth URSI General Assembly and Scientific Symposium, Beijing,China, 2014: 1-4.
[11]Chapman W, Ranka S, Sahni S, et al..Parallel processing techniques for the processing of synthetic aperture radar data on GPUs[C].IEEE International Symposium on Signal Processing and Information Technology, 2011: 573-580.
[12]Zhu H, Xu H, and Feng L.Application of GPU for missile-borne SAR raw signal simulation[C].International Conference on Artificial Intelligence, Management Science & Electronic Commerce, Zhengzhou, China, 2011: 2816-2820.
[13]ShengH,Z hou M, Wang K,e ta l..SAR echosimulation from numerous scattering cells based on GPU[C].IET International Rad ar Con ference,2 013 : 1-5.
[14]秦潔, 張志敏.基于圖形處理單元架構(gòu)的合成孔徑雷達(dá)回波仿真實(shí)現(xiàn)與優(yōu)化[J].科學(xué)技術(shù)與工程, 2014, 14(13): 85-89.Qin Jie and Zhang Zhimin.Implementation and optimization of SAR echo simulation based on GPU[J].Science Technology and Engineering, 2014, 14(13): 85-89.
[15]Wang B, Zhang F, and Xiang M.SAR raw signal simulation based on GPU parallel computation[C].IEEE Geoscience and Remote Sensing Symposium, Cape Town,South Africa, 2009: 617-620.
[16]Zhang F, Wang B, and Xiang M.Accelerating InSAR raw data simulation on GPU using CUDA[C].IEEE Geoscience and Remote Sensing Symposium, Honolulu,Hawaii, USA, 2010: 2932-2935.
[17]Zhang F, Li Z, Wang B, et al..Hybrid general-purpose computation on GPU (GPGPU) and computer graphics synthetic aperture radar simulation for complex scenes[J].International Journal of Physical Sciences, 2012, 7(8): 1224-1234.
[18]Zhang F, Hu C, Li W, et al..Accelerating time-domain SAR raw data simulation for large areas using multi-GPUs[J].IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2014, 7(9): 3956-3966.
[19]黃立勝, 王貞松, 鄭天垚.基于FFT的快速SAR分布目標(biāo)回波模擬算法[J].遙感學(xué)報(bào), 2004, 8(2): 128-136.Huang Lisheng, Wang Zhensong, and Zheng Tianyao.A fast algorithm based on FFT used in simulation of SAR return wave signal[J].Journal of Remote Sensing, 2004,8(2): 128-136.
[20]Moving and Stationary Target Acquisition and Recognition (MSTAR) Public Dataset[OL].https://www.sdms.afrl.af.mil/datasets/mstar/.
胡 辰(1991-),男,山東人,2013年獲得北京化工大學(xué)通信工程專(zhuān)業(yè)學(xué)士學(xué)位,同年保送至本校計(jì)算機(jī)技術(shù)專(zhuān)業(yè)攻讀碩士學(xué)位。研究方向?yàn)镾AR信號(hào)處理、高性能計(jì)算技術(shù)。
E-mail:huchen_buct@163.com
張 帆(1981-),男,2008年畢業(yè)于中科院電子所信號(hào)與信息處理專(zhuān)業(yè),獲得工學(xué)博士學(xué)位,同年在中科院電子所從事博士后研究,現(xiàn)為北京化工大學(xué)副教授,碩士生導(dǎo)師。主要研究方向?yàn)镾AR系統(tǒng)模擬、高性能計(jì)算、科學(xué)可視化等。
E-mail :zhangf@mail.buct.edu.cn
李國(guó)君(1991-),女,山西人,2013年獲得北京化工大學(xué)電子信息工程專(zhuān)業(yè)學(xué)士學(xué)位,同年保送至本校計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)攻讀碩士學(xué)位。研究方向?yàn)镾AR成像處理、高性能計(jì)算技術(shù)。
E-mail: 13269198197@163.com
李 偉(1985-),男,2012年畢業(yè)于美國(guó)密西西比州立大學(xué)電氣與計(jì)算機(jī)工程專(zhuān)業(yè),獲得工學(xué)博士學(xué)位,同年至美國(guó)加州大學(xué)戴維斯分校從事博士后研究,現(xiàn)為北京化工大學(xué)教授,博士生導(dǎo)師。主要研究方向?yàn)槟J阶R(shí)別、高光譜圖像分析與應(yīng)用、數(shù)據(jù)壓縮等。
E-mail :liw@mail.buct.edu.cn
崔忠馬(1978-),男,北京遙感設(shè)備研究所研究員,研究方向?yàn)槔走_(dá)系統(tǒng)設(shè)計(jì)。
Computation Reduction Oriented Circular Scanning SAR Raw Data Simulation on Multi-GPUs
Hu Chen①Zhang Fan①Li Guojun①Li Wei①Cui Zhongma②
①(College of Information Science and Technology, Beijing University of Chemical Technology,Beijing 100029, China)
②(Beijing Remote Sensing Equipment Research Institute, Beijing 100854, China)
As a special working mode, the circular scanning Synthetic Aperture Radar (SAR) is widely used in the earth observation.With the increase of resolution and swath width, the simulation data has a massive increase, which boosts the new requirements of efficiency.Through analyzing the redundancy in the raw data simulation based on Graphics Processing Unit (GPU), a fast simulation method considering reduction of redundant computation is realized by the multi-GPUs and Message Passing Interface (MPI).The results show that the efficiency of 4-GPUs increases 2 times through the redundant reduction, and the hardware cost decreases by 50%, thus the overall speedup achieves 350 times than the traditional CPU simulation.
Circular scanning SAR; Raw data simulation; GPU parallel; Computing optimization
TN95
A
2095-283X(2016)04-0434-10
10.12000/JR15078
2015-06-18;改回日期:2015-09-14;網(wǎng)絡(luò)出版:2015-10-22
張帆 zhangf@mail.buct.edu.cn
國(guó)家自然科學(xué)基金(61501018, 61302164),中央高?;究蒲袠I(yè)務(wù)費(fèi)專(zhuān)項(xiàng)資金(YS1404),北京高等學(xué)校青年英才計(jì)劃(YETP0500)
Foundation Items: The National Natural Science Foundation of China (61501018, 61302164), The Fundamental Research Funds for the Central Universities (YS1404), The Beijing HigherEducation Young Elite Teacher Project(YETP0500)