?

星載SAR成像與智能處理的單片多處理架構

2021-07-12 12:25王時雨張盛兵黃小平常立博
西北工業大學學報 2021年3期
關鍵詞:流水處理器架構

王時雨, 張盛兵, 黃小平, 常立博

(西北工業大學 計算機學院, 陜西 西安 710072)

近年來,隨著衛星遙感成像技術以及深度學習技術的不斷發展,在軌遙感AI(artificial intelligence)平臺成為智能遙感領域的重要發展方向。星載合成孔徑雷達(SAR)系統中的SAR遙感圖像處理(GMTIm)和地面目標指示(GMTI)在民用和軍事應用中受到越來越多的關注[1]。

智能遙感圖像相關領域主要包括星載SAR實時成像和圖像的神經網絡模型實時處理兩大任務模塊。目前,SAR成像的常用算法主要有CSA(chirp-scaling algorithm)[2]。CSA能夠確保成像的準確度,而且可以適應不同的雷達掃描模式,例如,聚束模式(spotlight)、條帶模式(stripmap)、掃描模式(scanSAR)[3]。并且CSA具有操作過程簡單,計算復雜度低,成像效率高的優點。在SAR圖像目標識別領域,深度學習表現出了突出的優勢。卷積神經網絡(CNN:convolution neural network)已廣泛應用于在軌遙感平臺[4]。在分析遙感圖像的幾何、紋理和空間分布特征時,CNN在計算效率和分類精度方面顯示出其突出的優勢[5]。循環神經網絡(RNN:recurrent neural network)可用于時間變量相關的建模和預測,如LSTM(long short-term memory)[6]建立的水文模型。與此同時,混合神經網絡(H-NN:hybrid neural networks)結合了CNN和RNN 2種網絡模型特點,優勢更為明顯[7],并已經在遙感領域取得了巨大的成就。

SAR成像算法經過長期的發展基本已經成熟穩定,遙感領域中所應用的神經網絡模型也主要以CNN和RNN為主,或者H-NN模型結構。針對遙感成像和智能處理中的大量并行計算,一般研究人員通常采用CPU+GPU的方案進行計算加速[8],但是星上工作環境對在軌AI平臺低功耗的要求苛刻。根據多樣化計算任務和工作環境的應用需求,我們借鑒領域專用架構(DSA:domain specific architecture)思想[9],將CSA與神經網絡模型兩類計算任務和異步計算過程進行統籌組織并協同處理,設計面向智能遙感圖像處理的領域專用片上多處理器微架構(DS-CMP:domain specific chip multi-processors),實現CSA和神經網絡模型的星上實時處理。目前,對于CSA和神經網絡模型2類遙感任務,研究人員只研究各分立計算的加速方案。印度空間研究組織(IRSO)開發了基于DSP多處理器的SAR成像專用處理器(NRTP),可實現SAR的近似實時成像[10]。JPL(jet propulsion laboratory)采用VLSI+SOC的硬件優化方案,設計了機載SAR專用處理平臺[11]。

針對神經網絡模型的專用加速研究中研究人員提出了眾多神經網絡專用加速架構。Eyeriss[12]是一種直接針對卷積運算進行優化的神經網絡加速器。ENVISION提出了一種基于DVAFS的能效可調CNN處理器[13]。DianNao處理器家族[14]包含了系列化的神經網絡專用處理器:DianNao,DaDianNao,PuDianNao和ShiDianNao。DNPU[15]和Thinker[16]可用于H-NN專用加速。上述加速方案針對所屬應用領域,各具優勢,并且優勢顯著。但在軌遙感AI平臺需要連續進行SAR成像和圖像數據處理,此類分立加速方案并未考慮在軌智能系統中多遙感任務對系統級融合流水和同步并行計算的需求。

對SAR成像算法和神經網絡模型的計算特征進行分析,并以此設計了一款應用于智能遙感AI平臺的領域專用片上多處理器微架構DS-CMP(domain specific chip multi-processor)。DS-CMP芯片能夠高效處理CSA和神經網絡模型的聯合計算任務,并滿足星上在軌平臺的低功耗要求。

1 智能遙感多任務算法分析

智能遙感系統主要包括SAR實時成像和神經網絡實時圖像處理2類不同的計算任務。成像結束后,神經網絡模型對生成圖像進行處理,進行實時圖像目標識別分類。CSA成像算法精度較高,因此,本文將采用CSA作為DS-CMP架構的主要研究對象。

1.1 CSA成像任務分析

chirp-scaling算法(CSA)是SAR成像領域廣泛使用的算法之一,該模型可以實現多種雷達掃描模式。FFT(IFFT)過程進行16-bit量化操作,相位操作執行單精度浮點運算時,與全過程單精度浮點成像相比精度損失極低[17]。

規模為A×R的SAR成像計算負載總量如公式1所示。

Lsum=10ARlog2A+10ARlog2R+18AR

(1)

如表1所示,我們對不同規模SAR成像過程的計算負載進行統計。表中統計了A×R規模的SAR成像過程中各類計算負載和計算負載總量。

表1 A×R規模SAR成像計算負載統計

1.2 神經網絡任務分析

目前用于遙感領域的神經網絡模型主要分為深度卷積神經網絡(DCNN)[18]和循環神經網絡(RNN)2類[6]。

表2列出了幾種常見CNN基礎模型的計算負載特征。從表4中可以看出,隨著CNN模型不斷加深,計算負載總量相差達到數十倍。

表2 CNN類計算負載統計

如表3所示,卷積神經網絡模型中,隨著特征圖在模型中向后流動,卷積核及核內通道數量迅速增加,特征圖尺寸急劇壓縮。

表3 VGG-11模型特征分析

對于RNN類網絡,如表4所示,以LSTM為例,隨著網絡內隱層數量的增加,計算負載總量差異達到十幾倍。

表4 LSTM計算負載統計(OPS)

從上述分析可知,星上智能遙感系統需要規劃多種計算資源和合理有效的計算調度策略,確保實時完成智能遙感領域的系統級多重聯合計算任務。

2 DS-CMP系統架構設計

遙感智能系統需要進行在軌實時成像和智能處理,領域專用CMP架構需要高效支持成像處理和以DNN為代表的智能處理。除了大量的計算單元外,關鍵在于片上的數據組織和并行訪問。

2.1 遙感圖像帶狀Tile化處理方案

星載遙感監測往往需要對大尺寸(例如16 384×16 384)遙感圖像進行特征提取。在以往SAR成像及目標識別過程中,由于圖像尺寸很大,尤其是神經網絡模型中各級特征圖規模逐級爆發式增長,片內外數據訪存帶寬成為了智能系統多任務計算加速比的制約因素。

為了解決計算加速比天花板問題,本文提出邊成像邊處理的系統級流水處理方案,針對SAR圖像的多處理任務采用帶狀Tile化并行流水計算策略。

根據Tile化計算策略,SAR回波Tile的成像結果直接送入神經網絡模型進行處理,在神經網絡模型中,多個圖像Tile在模型內逐層流水處理,不需等待1幅完整圖像成像結束。將多個任務獨立的并行計算流水組織為系統級并行計算流水,建立SAR成像及圖像處理的系統級流水線。采用帶狀Tile化方案,多個連續SAR圖像Tile在DS-CMP內并行流水處理,直至1幅SAR圖像的所有Tile在DS-CMP中成像及神經網絡處理完畢。針對較大規模神經網絡,可靈活配置Tile尺寸或進行行數據遞補方式以滿足神經網絡后端對特征圖規模的計算需求。

采用帶狀Tile計算策略,可以將成像和神經網絡處理打通,能夠有效地將成像以及深度神經網絡層間的數據依賴關系隔離在Tile內,實現同一幅SAR圖像成像和處理流程的跨層并行流水計算。

2.2 DS-CMP總體架構設計

如圖1所示,DS-CMP架構內主要包括SAR成像處理器(SIP:SAR imaging processor)、神經網絡處理器(NCP:neurocomputing processor)、同步組織buffer陣列以及參數緩存、IO和存儲接口。在并行執行SAR實時成像和遙感圖像智能處理的工作流程中,計算數據由SIP向NCP持續傳遞。為了確保成像輸出數據能夠并行流水送入NCP內,并避免數據交互過程中可能出現的數據秩序混亂,設計了數據緩存與組織可同步執行的buffer網絡陣列以及多路buffer路由模塊,用來完成NCP計算前的數據準備工作。設計了獨立的參數buffer,用來為計算過程提供相關計算參數,從而保證計算單元的高效利用。

圖1 DS-CMP總體架構框圖

SIP負責進行SAR實時成像,頂層框架如圖2所示,主要由SAR數據計算陣列、數據混洗存儲buffer、指令寄存器和譯碼單元構成,并行流水執行SAR成像計算??紤]到精度和硬件效率,采用16位定點FFT運算和單精度浮點相位校正運算。陣列中設計了16×16規模的定點PE陣列用于FFT(IFFT)運算、2×16規模的FPE用于單精度浮點相位校正計算。單個處理器內設計有2個相同的異構計算陣列,可同時執行2個塊成像的計算任務。SIP內,針對成像處理的數據流特征,設計了專門的緩存結構。成像結束后,圖像數據送入buffer網絡陣列中,進行NCP計算前源數據的預組織處理。

圖2 SIP架構框圖

NCP負責執行神經網絡模型計算,頂層框架如圖3所示。

圖3 NCP架構框圖

主要包含3個關鍵部件:神經計算陣列,處理器內部buffer模塊和資源控制組件。設計了4個8×9的異構PE神經計算陣列,每個陣列內包含4種異構8-bit定點計算資源: PE、RPE、PPE和LPE。PE用于執行神經網絡中的MAC運算,RPE用于對中間結果進行累加并執行ReLU激活操作。PPE在RPE的基礎上增加了池化計算單元。LPE是對PPE進行功能擴展,LPE可進行中間值累加,ReLU函數運算,池化操作以及查表運算(Sigmoid和Tanh等)。通過對操作數線性量化后微調,8-bit定點量化的網絡模型精度損失小于1%。以經典混合神經網絡LRCN為例分析,與16-bit定點量化方案相比,8-bit定點量化的LRCN網絡整體精度損失也僅有1.8%。NCP中設計了一種能夠對源數據進行靈活截取和拼接的多bank存儲結構,如圖4所示,每個bank用于緩存一行SAR圖像數據(即同一行流水數據)。在FC和RNN計算過程中不需要進行數據拼接。獲取計算指令后譯碼器對處理器內各部件進行調度。

2.3 數據同步組織與訪問策略

智能遙感系統涉及的2類差異化工作任務中,數據流單向流動:SIP→NCP。我們設計了一個用于圖像Tile緩存和數據整合同步進行的buffer陣列網絡,如圖4所示,網絡內包含5個buffer陣列通道。圖像數據通過橋梁送入NCP內。單個Buffer通道結構如圖4所示。bank分為拼接數據bank(BDB)和流水數據bank(SDB)。通過buffer內的各種路由模塊負責數據訪存過程中的bank資源分配和數據拼接流水。

圖4 Chip buffer通道內網絡結構

SAR成像和神經網絡計算整合處理過程作為系統級任務可進行并行流水處理。SAR成像采用Tile化多行處理,行(列)間無數據依賴關系,可進行多行(列)數據并行流水操作。成像輸出數據滿足神經網絡特征圖的Tile分割需求時,圖像數據即可送入NCP內進行處理,神經網絡(如VGG-11模型)子任務計算過程中,計算結果逐級傳遞,由于存在池化操作,Tile長度逐漸縮短,單個Tile的數據規模減小,需進行行間數據補償滿足卷積運算需求。

進行卷積神經網絡計算過程時,相鄰圖像數據塊之間涉及2-D數據重用,因此在圖像數據進入NCP之前需進行數據緩存以及Tile間數據拼接組織預處理,數據Tile拼接組織策略如圖5所示。SAR圖像規模為m×n,圖像矩陣逐行分段寫入同一個bank陣列內。buffer網絡內實現數據Tile的首尾數據重用,數據逐段送入同一bank中,根據重用需求,前一個數據段的最后2個數據需要拼接在后一個數據段的開頭后送入NCP內,確保卷積計算過程不會造成數據丟失。

圖5 圖像矩陣列間拼接緩存策略

例如圖5中,對第一行圖像數據進行分段,第一段數據為(D0,y~D0,y+i),第二段數據為(D0,y+i+1~D0,y+j),以此類推進行分段。2段數據按順序送入SDB的Bank0中,待拼接數據D0,y+i和D0,y+i-1送入BDB的Bank0中進入拼接隊列。第一段數據送入NCP內,與其他相鄰bank內的第一段數據完成行拼接,實現行數據重用后送入計算陣列;第二段數據送入NCP前將數據從拼接隊列中選取首尾拼接數據(D0,y+i和D0,y+i-1),與第二段數據路由拼接后(拼接后數據:D0,y+i-1~D0,y+j)送入NCP內buffer中,并與相鄰bank內數據完成行拼接。后續數據訪存過程以此類推,直至計算結束。在FC/RNN計算過程中,數據訪存沒有重用過程,圖像數據分段后并行流水送入NCP內進行計算即可。

2.4 DS-CMP系統任務流映射

針對Tile化總體計算策略,以及對Tile規模有效性持續保持的需求,設計了一種帶狀Tile化的SAR圖像多處理任務并行流水計算策略,如圖6所示。

圖6 Tile化數據流組織及訪存策略

成像過程中,Tile規模為16×32,如圖7左上角部分所示,對回波Tile空間進行逐行計算,首先對第一級首個連續的7個Tile進行成像操作(IT-0-0~IT-0-6),第二次對第二行7個連續Tile進行成像操作(IT-1-0~IT-1-6),直至最后一行Tile(IT-m-0~IT-m-6)成像處理完成,第一級成像計算結束,成像結果逐行送入數據預組織buffer陣列內;后續對第二級7個連續Tile(IT-0-7~IT-0-13)進行成像操作,直至最后一行Tile(IT-m-7~IT-m-13)成像處理完成,第二級成像計算結束;以此類推,完成全部成像過程,各級成像結果逐行送入數據預組織buffer陣列內。神經網絡處理過程不需等待完整SAR圖像成像結束,對大規模SAR圖像數據采用Block化映射策略,當前Block尺寸設為224×224(根據不同的應用,Block可靈活劃分)。如圖7右半部分所示,預處理buffer內的數據組織整理過程中,對SAR圖像Block進行第二次Tile化,神經網絡對Block內多個數據Tile執行層間流水處理,不需等待單個圖像Block數據全部緩存結束。以VGG-11為例,在神經網絡模型Tile化流水計算過程中,第一級計算模塊的輸入數據劃分為28個帶狀Tile(尺寸為8×224);前3級輸入特征圖帶狀Tile劃分過程以此類推。由于不同卷積模塊級的輸入特征圖尺寸差異較大,因此每級輸入特征圖的帶狀Tile化方案不同。如圖7所示,第四級特征圖分為3個(2種尺寸)帶狀Tile,第五級輸入特征圖同理劃分。由于神經網絡模型內全部采用3×3規模的卷積窗口,因此Tile化卷積計算過程需要進行Tile內行間數據重用補償,Tile內數據組織過程如圖8所示。

圖7 圖像處理Tile計算空間劃分

圖8 Tile內數據組織過程

多個Tile能夠在多層網絡間進行并行流水計算,并且Tile內可并行執行多卷核/多卷積通道運算,從而實現SAR圖像在整個神經網絡內的并行流水處理過程。從表4中可以看出,網絡模型對特征圖進行×2窗口規模進行池化操作后,每級特征圖的輸出尺寸為原圖像尺寸的1/4。因此,Tile化流水計算過程中,經過n(≥2)級池化后,特征圖未達到最后一級,Tile尺寸已經不能滿足計算要求。通過數據同步拼接,在整體計算過程中必須始終確保Tile規模的有效性。

3 片上多處理器系統性能分析

在Synopsys仿真平臺下,采用28 nm工藝技術,芯片額定1.0 V電壓條件下對DS-CMP進行邏輯綜合和功耗分析。芯片仿真綜合數據如表5所示。在芯片性能評估過程中,系統工作頻率400 MHz,采用CSA成像算法以及VGG-11經典網絡模型作為在軌遙感AI平臺的系統任務測試基準。

表5 DS-CMP芯片綜合結果

在飽和工作狀態下,對多幅SAR圖像執行并行流水處理過程,得出每幅圖像的平均處理時間,以及單幅圖像處理過程的平均吞吐率。

3.1 DS-CMP架構性能分析

通過不同規模成像過程對SAR成像處理器性能進行測試。成像過程采用Tile化流水計算過程,多行(列)回波數據并行處理。從表6中可以看出處理器的峰值吞吐率為115.2 GOPS,隨著成像規模的增加,成像加速效果明顯。16 384×16 384規模的SAR成像時間為8.2 s,常規雷達(例如:高分-三衛星)執行16 384×16 384規模的數據采集時間為8 s,因此所提出的處理器架構方案能夠實現SAR實時成像處理。

表6 成像處理器性能分析

表7統計了神經網絡模型處理不同規模SAR圖像的完整計算時間。從表7中可以看出,由于目前針對神經網絡處理,計算資源相對充裕,因此與成像過程相比,相同SAR圖像規模的神經網絡處理時間要普遍稍小于SAR成像時間。

遙感圖像的多處理任務作為系統級任務,實現實時計算過程需對整體系統任務進行協同調度。根據表6和表7分析可以看出,在當前的配置下,SAR成像時間主導系統的全部任務處理時間。如表8所示,針對16 384×16 384規模,多任務計算過程耗時8.6 s,滿足實時智能處理的需求。

表7 神經網絡處理器陣列性能分析

表8 DS-CMP系統性能綜合分析

3.2 DS-CMP架構可擴展分析

在星載SAR智能遙感處理過程中,面對不同的應用需要選擇不同的神經網絡模型,DS-CMP架構需要具備可差異化擴展實現的能力。本文采用CSA以及經典型經網絡模型VGG-11作為DS-CMP架構的主要研究對象,同時也對規模較大或規模較小的神經網絡模型(分別以VGG-19和AlexNet為例)進行了分析。根據當前DS-CMP架構的配置方案,處理較小規模的神經網絡模型,智能遙感系統任務的處理時間能夠滿足星載實時性的需求,如表9所示,SAR成像時間占主導,但是架構內的神經網絡處理器陣列處于不飽和工作狀態,此時DS-CMP處理架構的能效較低。相反,處理較大規模的神經網絡模型,神經網絡模型的處理時間成為系統任務處理時間的主導因素,此刻DS-CMP架構的資源配置方案已無法滿足系統任務處理的實時性需求,如表10所示,表明需要增加NCP規模。不同神經網絡模型的規模差異較大,因此可以根據不同神經網絡模型的計算負載區間,在確保星上智能遙感任務實時性需求和芯片高能效的前提下,合理確定DS-CMP架構內的處理資源配置,實現DS-CMP處理器。在上述的差異化擴展過程中,DS-CMP架構、多任務間的數據組織和流水處理過程不需進行重大調整。

表9 DS-CMP差異化擴展分析(較小型神經網絡模型)

表10 DS-CMP差異化擴展分析(較大型神經網絡模型)

4 結 論

本文提出了一種可執行多任務協同并行處理的片上異構多處理架構(DS-CMP),該架構用于航天領域在軌遙感AI平臺的多任務實時處理,如SAR成像和遙感圖像目標識別。提出了一種針對分立計算任務Tile化的計算策略,支持在軌多任務同步并行流水計算,同一幅圖像的成像計算過程和神經網絡模型計算過程可并行流水執行。本文以目前星載SAR最常用的CSA成像算法以及VGG-11神經網絡模型為例,對多任務協同處理架構進行評估,執行規模為16 384×16 384的遙感成像與處理綜合計算任務耗時8.6 s,芯片整體功耗1.83 W,滿足在軌遙感AI平臺對實時性和低功耗的嚴格要求。

本文所設計的面向智能遙感領域的高能效DS-CMP架構,具有靈活的可擴展性。針對不同的成像規模區間和神經網絡算法模型,確定SAR成像子處理模塊和NCP陣列的合理規模,可以擴展衍生出系列化的智能遙感處理芯片,DS-CMP架構、多任務間的數據組織和流水處理過程不變。從而解決SAR成像模型和神經網絡模型不同組合方式的處理需求。

猜你喜歡
流水處理器架構
傣家跟著流水走
Dirac Live加持!讓好效果來得更容易 ROTEL Rotel RAP-1580MKⅡ AV功放/RSP-1576MKⅡ環繞聲處理器/RMB-1585五聲道功放
功能架構在電子電氣架構開發中的應用和實踐
流水
基于B/S架構的圖書管理系統探究
構建富有活力和效率的社會治理架構
流水有心
VoLTE時代智能網架構演進研究
前身寄予流水,幾世修到蓮花?
火線熱訊
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合