亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式GPU的水聲信號(hào)處理平臺(tái)研究

        2022-02-12 12:04:48劉建濤張海彬
        艦船電子工程 2022年1期

        劉建濤 張海彬

        (1.海裝沈陽(yáng)局駐沈陽(yáng)地區(qū)第三軍事代表室 沈陽(yáng) 110003)(2.沈陽(yáng)遼海裝備有限責(zé)任公司 沈陽(yáng) 110003)

        1 引言

        聲納是海軍艦艇的重要裝備,而信號(hào)處理是聲納裝備從海洋干擾背景中提取信息的關(guān)鍵過(guò)程。近年來(lái),隨著國(guó)防發(fā)展的需要,對(duì)聲納裝備的性能要求日益提高。信號(hào)處理需要處理的數(shù)據(jù)量越來(lái)越大,算法復(fù)雜度越來(lái)越高。以DSP芯片為運(yùn)算核心的第三代信號(hào)處理平臺(tái)在處理大規(guī)模數(shù)據(jù)和更復(fù)雜的算法時(shí),不得不使用更多的硬件來(lái)彌補(bǔ)運(yùn)算力的不足,隨之而來(lái)的則是軟件編程的難度進(jìn)一步提高[1]。

        GPU具有大規(guī)模并行運(yùn)算的特點(diǎn),在處理大量數(shù)據(jù)的復(fù)雜運(yùn)算時(shí)具有速度優(yōu)勢(shì)。同時(shí)其具有相對(duì)DSP更低的功耗和體積。因此,GPU已經(jīng)成為下一代信號(hào)處理平臺(tái)的主要研究方向[3~4]。

        本文通過(guò)分析GPU硬件結(jié)構(gòu),CUDA軟件編程模型和并行架構(gòu),研究嵌入式微型GPU平臺(tái)作為水聲信號(hào)處理系統(tǒng)。該系統(tǒng)體積非常小,作為信號(hào)處理設(shè)備可以應(yīng)用于無(wú)人艇,UUV,聲納浮標(biāo)等小型水聲探測(cè)平臺(tái),其運(yùn)算量也支持其應(yīng)用于大型聲納系統(tǒng)。科學(xué)實(shí)驗(yàn)使用該系統(tǒng)替代DSP平臺(tái)可以節(jié)約大量經(jīng)費(fèi),減少負(fù)擔(dān)。該GPU平臺(tái)也支持?jǐn)?shù)據(jù)庫(kù)和深度學(xué)習(xí)模塊[5~6]。

        2 Jetson agx xavier GPU平臺(tái)

        Jetson系列是英偉達(dá)開(kāi)發(fā)的微型嵌入式平臺(tái),主要應(yīng)用于移動(dòng)AI設(shè)備,如配送物流自主機(jī)器人,UAV,工廠系統(tǒng)等。該平臺(tái)具有高運(yùn)算量(每秒32萬(wàn)億次運(yùn)算),低功耗(30W),高速I(mǎi)/O性能(750Gbps),體積?。?00 mm×105mm)的特點(diǎn),可以完成如視覺(jué)測(cè)距、傳感器融合、定位與地圖繪制、障礙物探測(cè),以及對(duì)新一代機(jī)器人至關(guān)重要的路線規(guī)劃算法等。

        研究在該平臺(tái)上開(kāi)發(fā)波束形成,目標(biāo)識(shí)別等算法作為信號(hào)處理系統(tǒng),以及嵌入數(shù)據(jù)庫(kù),機(jī)器學(xué)習(xí)模塊。對(duì)于水聲信號(hào)處理平臺(tái)的微型化,數(shù)據(jù)化,智能化具有重要意義。

        2.1 硬件介紹

        Jetson agx xavier嵌入式平臺(tái)硬件配置如表1所示。

        表1 Jetson agx xavier硬件配置

        該平臺(tái)CPU采用了8核64位ARM,在保證低功耗的情況下,完全可以滿(mǎn)足信號(hào)處理程序調(diào)度部分需求。GPU主要負(fù)責(zé)信號(hào)處理程序運(yùn)算部分,深度學(xué)習(xí)和計(jì)算機(jī)視覺(jué)任務(wù)上達(dá)到30Tops的運(yùn)算速度。512核的Volta GPU支持張量核和混合精度計(jì)算,能夠達(dá)到11 TFLOPS FP16或22 TOPS INT8計(jì)算。Jetson AGX Xavier的雙NVDLA能夠?qū)崿F(xiàn)5TOPS INT8或2.5 TFLOPS FP16性能。內(nèi)存方面,CPU內(nèi)存和GPU顯存共用32GB LPDDR4,在根本上解決了CPU與GPU的數(shù)據(jù)傳輸瓶頸問(wèn)題,在使用cudaMemcpy進(jìn)行數(shù)據(jù)傳輸時(shí)理論速度達(dá)到137GB/s,完全滿(mǎn)足信號(hào)處理需求。功耗方面,該平臺(tái)功耗最高只有30W,并提供多種模式供設(shè)置。在風(fēng)扇開(kāi)啟的情況下,即便滿(mǎn)載運(yùn)行,設(shè)備溫度也可以保持在30℃左右,而且噪音相當(dāng)?shù)?,非常適合小型平臺(tái)或者無(wú)人平臺(tái)。

        2.2 Jetson agx xavier和TMS320C6678

        TMS320C6678帶有四片TI最新KeyStone多核心架構(gòu)的TMS320C6678型DSP處理器,每片處理器含有8個(gè)DSP內(nèi)核,主頻為1GHz,單核峰值浮點(diǎn)運(yùn)算能力為16GFLOPS,整板峰值浮點(diǎn)運(yùn)算能力可達(dá)512 GFLOPS。模塊上每片處理器外接2GB的DDR3,整板外部存儲(chǔ)容量為8GB;板內(nèi)兩簇處理器(4片)間可直接進(jìn)行4×SRIO交換,鏈路線速率默認(rèn)3.125Gbps,數(shù)據(jù)傳輸不小于800MB/s;板間處理器通信:板卡對(duì)外提供2路4×SRIO鏈路(每簇處理器各占1路),鏈路線速率默認(rèn)3.125Gbps,數(shù)據(jù)傳輸不小于 800MB/s[9]。

        由表2可知,在單精度運(yùn)算能力上一塊Jetson agx xavier的提供的理論運(yùn)算能力約等于9個(gè)整板TMS320C6678。

        表2 Jetson agx xavier與TMS320C6678對(duì)比

        在存儲(chǔ)空間上,Jetson agx xavie為編程人員提供了整片32GB的顯存,相比于TMS320C6678分配在各個(gè)芯片上的模式,在內(nèi)存分配上更加方便。

        在傳輸速度上,Jetson agx xavier內(nèi)部137GB/s的傳輸速度遠(yuǎn)高于DSP的板內(nèi)3.125Gbps的速度。

        以上可知,在主要硬件指標(biāo)上,Jetson agx xavier相比于TMS320C6678擁有較大的優(yōu)勢(shì)。

        3 CUDA編程模型

        CUDA是英偉達(dá)公司在2006年1月推出的一種通用的編程模型,CUDA是一種將GPU作為數(shù)據(jù)并行計(jì)算設(shè)備的軟硬件體系。CUDA這種計(jì)算模型是以CPU+GPU的一種異構(gòu)模式來(lái)工作的。CPU負(fù)責(zé)整體程序的串行邏輯控制和任務(wù)調(diào)度,GPU則用于執(zhí)行一些能夠被高度并行化的并行計(jì)算任務(wù)[7]。即讓GPU與CPU協(xié)同工作,更確切的說(shuō)是CPU控制GPU工作。同時(shí)CUDA采用了SIMT(單指令多線程)的執(zhí)行模型,即成千上萬(wàn)的線程執(zhí)行同一條指令[8]。

        3.1 CUDA存儲(chǔ)體系

        可編程內(nèi)存:

        寄存器(Regiester):對(duì)線程私有,數(shù)量有限,線程運(yùn)行時(shí)動(dòng)態(tài)獲得。

        局部存儲(chǔ)器(Local Memory)邏輯上等同于寄存器,但是物理存儲(chǔ)空間位于顯存中,其訪存延遲與全局存儲(chǔ)器相當(dāng)。

        共享存儲(chǔ)器(Shared Memory)為線程公有內(nèi)存,一般總大小為64KB。

        全局存儲(chǔ)器(global memory)可以在任何SM設(shè)備上訪問(wèn)到,是GPU中最大,延遲最高,最常使用的內(nèi)存。

        常量?jī)?nèi)存(const memory)駐留在設(shè)備內(nèi)存中,并在每個(gè)SM專(zhuān)用的常量緩存中緩存。

        紋理內(nèi)存,駐留在設(shè)備內(nèi)存中,并在每個(gè)SM的只讀緩存中緩存。

        不可編程內(nèi)存:一級(jí)緩存。二級(jí)緩存,只讀常量緩存和只讀紋理緩存。

        每個(gè)SM都有一個(gè)一級(jí)緩存,所有的SM共享一個(gè)二級(jí)緩存,一級(jí)和二級(jí)緩存都被用來(lái)存儲(chǔ)本地內(nèi)存和全局內(nèi)存中的數(shù)據(jù),也包括寄存器溢出的部分。每個(gè)SM也有一個(gè)只讀常量緩存和只讀紋理存緩存,它們用于在設(shè)備內(nèi)存中提高來(lái)自?xún)?nèi)存空間內(nèi)的讀取性能[9~10]。

        3.2 CUDA并行架構(gòu)

        CUDA編程模型,包含兩個(gè)并行邏輯層,分別是block層和thread層,在執(zhí)行時(shí)block映射到SM,thread映射到SP,如何在實(shí)際應(yīng)用程序中高效地開(kāi)發(fā)這兩個(gè)層次的并行是CUDA編程與優(yōu)化關(guān)鍵。

        CUDA并行基于kernel實(shí)現(xiàn),Kernel函數(shù)是指在GPU上執(zhí)行的函數(shù)。在CPU端配置相應(yīng)的線程塊(維度),共享存儲(chǔ)容量和CUDA流等信息。

        Kernel函數(shù)映射到GPU上執(zhí)行,kernel具有三維的線程網(wǎng)格(grid)-線程塊(block)-線程(thread)結(jié)構(gòu),在執(zhí)行kernel時(shí),一個(gè)kernel函數(shù)對(duì)應(yīng)一個(gè)grid,對(duì)應(yīng)的block映射到SM,thread映射到SP,GPU通過(guò)頻繁的線程切換來(lái)實(shí)現(xiàn)硬件資源的分時(shí)使用,切換開(kāi)銷(xiāo)極小[11]。

        3.3 頻域波束形成算法的并行設(shè)計(jì)

        本部分根據(jù)GPU特點(diǎn)和CUDA編程模型設(shè)計(jì)頻域波束形成算法的GPU實(shí)現(xiàn)。

        CUDA程序并行架構(gòu)分為三級(jí),分別是數(shù)據(jù)級(jí)并行,核間級(jí)并行和任務(wù)級(jí)并行。數(shù)據(jù)級(jí)并行是指通過(guò)線程分配在kernel內(nèi)部實(shí)現(xiàn)數(shù)據(jù)與數(shù)據(jù)間的并行。核間級(jí)并行是指利用流并發(fā)技術(shù)實(shí)現(xiàn)kernel間的并行。任務(wù)級(jí)并行是指利用CPU多線程機(jī)制實(shí)現(xiàn)多個(gè)信號(hào)處理任務(wù)的并行。

        軟件工程中有自頂向下和自下向上兩種設(shè)計(jì)方法,根據(jù)并行架構(gòu)特點(diǎn),選擇自下向上的設(shè)計(jì)方式設(shè)計(jì)聲納信號(hào)處理算法。即首先根據(jù)信號(hào)處理任務(wù)相關(guān)性,對(duì)數(shù)據(jù)級(jí)并行進(jìn)行設(shè)計(jì)和優(yōu)化,再分別處理核間級(jí)和任務(wù)級(jí)并行。如對(duì)于頻域波束形成算法來(lái)說(shuō),每個(gè)通道的FFT可以設(shè)計(jì)為一個(gè)kernel。多個(gè)kernel并行設(shè)計(jì)為核間級(jí)并行。進(jìn)行優(yōu)化并單元測(cè)試后,多路通道的FFT運(yùn)行時(shí)間極短,因此將FFT與數(shù)據(jù)與預(yù)處理合并為同一任務(wù),在一個(gè)CPU線程中運(yùn)行。對(duì)于算法時(shí)延補(bǔ)償部分,數(shù)據(jù)級(jí)并行即為每個(gè)基元的通道時(shí)延補(bǔ)償,核間級(jí)并行為多個(gè)基元并行進(jìn)行時(shí)延補(bǔ)償。后置處理任務(wù)因?yàn)闀r(shí)間較短,且分支運(yùn)算較多,可以布置在CPU上運(yùn)行。

        4 CUDA并行優(yōu)化

        4.1 影響GPU性能的主要因素

        1)數(shù)據(jù)傳輸

        Jetson agx xavier內(nèi)部137GB/s,可以滿(mǎn)足大部分工程要求。但是由于PCIE總線帶寬的限制,GPU與CPU,CPU與IO的交互速度都會(huì)受到限制,也是GPU延遲的主要因素。

        PCIE2.0一般有16通道,每通道速度約為500MB/s,由于數(shù)據(jù)的額外開(kāi)銷(xiāo),8GB/s理論帶寬能達(dá)到6GB/s。如果軟件要求在CPU和GPU之間頻繁的進(jìn)行大規(guī)模數(shù)據(jù)交互,會(huì)嚴(yán)重影響性能。

        2)線程束分化

        CPU擁有復(fù)雜的硬件執(zhí)行分支預(yù)測(cè)以保證分支運(yùn)算只付出很小的性能代價(jià),但是GPU是相對(duì)簡(jiǎn)單的設(shè)備,沒(méi)有分支預(yù)測(cè)機(jī)制,一個(gè)線程束(32線程)中所有線程在同一周期中必須執(zhí)行相同的指令,因此分支運(yùn)算會(huì)在GPU中產(chǎn)生線程束分化,即一個(gè)線程束會(huì)執(zhí)行每一個(gè)分支路徑。線程束分化會(huì)導(dǎo)致性能明顯下降,因此在軟件編程過(guò)程中,需要盡量避免線程束分化[12~13]。

        3)bank conflict

        共享存儲(chǔ)由交替排列的存儲(chǔ)體(bank)構(gòu)成,每個(gè)bank大小為4B,如果線程束中多個(gè)線程同時(shí)訪問(wèn)同一存儲(chǔ)體的不同地址將會(huì)引發(fā)存儲(chǔ)體沖突。一般來(lái)說(shuō)共享存儲(chǔ)的bank數(shù)和線程束內(nèi)線程數(shù)量是一致的[12~13]。

        存儲(chǔ)體沖突的后果是在GPU中,不同bank組可以同時(shí)訪存,若產(chǎn)生存儲(chǔ)體沖突,多個(gè)線程要求訪問(wèn)同一個(gè)bank,每次僅有一個(gè)線程能訪問(wèn)bank,多個(gè)線程間要串行訪存,因而導(dǎo)致性能損失。

        4.2 提升GPU并行性能的方法

        1)頁(yè)鎖定與零拷貝

        頁(yè)鎖定內(nèi)存在內(nèi)存分配和釋放過(guò)程中不可換頁(yè),因此不會(huì)被換除內(nèi)存空間,換出到虛擬內(nèi)存中。其傳輸速度是常規(guī)可分頁(yè)內(nèi)存的兩倍,可以有效提升CPU與GPU的數(shù)據(jù)交換速度。

        利用頁(yè)鎖定原理,將該頁(yè)面映射到設(shè)備地址空間中,實(shí)現(xiàn)零拷貝CPU和GPU都可以直接訪問(wèn)內(nèi)存地址。

        2)分支優(yōu)化

        在kernel中,分支操作會(huì)產(chǎn)生分支優(yōu)化,浪費(fèi)GPU性能,因此采取合理的方式優(yōu)化分支操作,可以提升kernel性能。

        3)高度并行架構(gòu)設(shè)計(jì)

        一般來(lái)說(shuō)算法并行度越高,性能越好。但是由于CUDA自帶的加速庫(kù)不是針對(duì)信號(hào)處理算法所設(shè)計(jì),因此使用cufft,cublas等加速庫(kù)并不能有效提升性能。

        針對(duì)信號(hào)處理算法特點(diǎn)自行設(shè)計(jì)高度并行架構(gòu)可以有效提升算法性能。

        5 試驗(yàn)結(jié)果

        試驗(yàn)環(huán)境:

        GPU平臺(tái):Jetson agx xavie,Ubuntu 18.04操作系統(tǒng)

        CPU:Intel i7-9700k;

        DSP平臺(tái):TMS320C6678

        試驗(yàn)測(cè)試不同長(zhǎng)度數(shù)據(jù)的向量乘法,向量加法在CPU和GPU上的運(yùn)行時(shí)間。波束形成和一次積累分別在DSP和GPU上運(yùn)行時(shí)間。

        表3 GPU和CPU性能對(duì)比

        表4 GPU和DSP時(shí)間對(duì)比

        6 結(jié)語(yǔ)

        Jetson agx xavie相比于DSP信號(hào)處理平臺(tái)在運(yùn)算速度上具有很大的優(yōu)勢(shì),一個(gè)Jetson agx xavie上可以實(shí)現(xiàn)多個(gè)信號(hào)處理板才能實(shí)現(xiàn)的信號(hào)處理算法。硬件上,在功耗、散熱、體積三個(gè)指標(biāo)上,Jetson agx xavie也明顯占優(yōu)。

        更重要的是,Jetson agx xavie可內(nèi)置數(shù)據(jù)庫(kù)模塊和深度學(xué)習(xí)模塊,對(duì)新一代信號(hào)處理平臺(tái)的數(shù)據(jù)化,智能化具有重要意義,也是后續(xù)研究的重要方向。

        丝袜美腿av免费在线观看| 国产视频在线一区二区三区四区| 亚洲婷婷丁香激情| 乱人伦视频69| 国产精品美女久久久浪潮av| 亚洲黄色一插一抽动态图在线看| 日本午夜伦理享色视频| 久久人妻中文字幕精品一区二区 | 东京热人妻无码一区二区av | 女人18片毛片60分钟| 少妇粉嫩小泬喷水视频| 欧美 国产 综合 欧美 视频| 色欲av亚洲一区无码少妇| 亚洲福利视频一区| 日韩在线视精品在亚洲| 女优免费中文字幕在线| 亚洲精品国产av成拍色拍| 成年人一区二区三区在线观看视频| 蜜桃视频插满18在线观看| 国语对白做受xxxxx在| 无码人妻丰满熟妇片毛片| 福利网址在线观看| 国产av天堂亚洲国产av麻豆| 日韩人妻免费一区二区三区| 在线视频观看一区二区| 在线一区二区三区国产精品| 少妇人妻在线无码天堂视频网| 日韩精品无码视频一区二区蜜桃 | 极品粉嫩小仙女高潮喷水视频| 牛仔裤人妻痴汉电车中文字幕| 亚洲乱码中文字幕视频| 精品久久香蕉国产线看观看亚洲| 亚洲爆乳少妇无码激情| 无码电影在线观看一区二区三区| 狠狠综合亚洲综合亚色| 日本久久精品福利视频| 精品免费国产一区二区三区四区| 精品国产一区二区三区av性色| 欧洲成人午夜精品无码区久久| 国产品精品久久久久中文| 国产精品久久国产精麻豆|