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

基于嵌入式GPU的水聲信號處理平臺研究

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

劉建濤 張海彬

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

1 引言

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

GPU具有大規模并行運算的特點,在處理大量數據的復雜運算時具有速度優勢。同時其具有相對DSP更低的功耗和體積。因此,GPU已經成為下一代信號處理平臺的主要研究方向[3~4]。

本文通過分析GPU硬件結構,CUDA軟件編程模型和并行架構,研究嵌入式微型GPU平臺作為水聲信號處理系統。該系統體積非常小,作為信號處理設備可以應用于無人艇,UUV,聲納浮標等小型水聲探測平臺,其運算量也支持其應用于大型聲納系統。科學實驗使用該系統替代DSP平臺可以節約大量經費,減少負擔。該GPU平臺也支持數據庫和深度學習模塊[5~6]。

2 Jetson agx xavier GPU平臺

Jetson系列是英偉達開發的微型嵌入式平臺,主要應用于移動AI設備,如配送物流自主機器人,UAV,工廠系統等。該平臺具有高運算量(每秒32萬億次運算),低功耗(30W),高速I/O性能(750Gbps),體積小(100 mm×105mm)的特點,可以完成如視覺測距、傳感器融合、定位與地圖繪制、障礙物探測,以及對新一代機器人至關重要的路線規劃算法等。

研究在該平臺上開發波束形成,目標識別等算法作為信號處理系統,以及嵌入數據庫,機器學習模塊。對于水聲信號處理平臺的微型化,數據化,智能化具有重要意義。

2.1 硬件介紹

Jetson agx xavier嵌入式平臺硬件配置如表1所示。

表1 Jetson agx xavier硬件配置

該平臺CPU采用了8核64位ARM,在保證低功耗的情況下,完全可以滿足信號處理程序調度部分需求。GPU主要負責信號處理程序運算部分,深度學習和計算機視覺任務上達到30Tops的運算速度。512核的Volta GPU支持張量核和混合精度計算,能夠達到11 TFLOPS FP16或22 TOPS INT8計算。Jetson AGX Xavier的雙NVDLA能夠實現5TOPS INT8或2.5 TFLOPS FP16性能。內存方面,CPU內存和GPU顯存共用32GB LPDDR4,在根本上解決了CPU與GPU的數據傳輸瓶頸問題,在使用cudaMemcpy進行數據傳輸時理論速度達到137GB/s,完全滿足信號處理需求。功耗方面,該平臺功耗最高只有30W,并提供多種模式供設置。在風扇開啟的情況下,即便滿載運行,設備溫度也可以保持在30℃左右,而且噪音相當低,非常適合小型平臺或者無人平臺。

2.2 Jetson agx xavier和TMS320C6678

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

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

表2 Jetson agx xavier與TMS320C6678對比

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

在傳輸速度上,Jetson agx xavier內部137GB/s的傳輸速度遠高于DSP的板內3.125Gbps的速度。

以上可知,在主要硬件指標上,Jetson agx xavier相比于TMS320C6678擁有較大的優勢。

3 CUDA編程模型

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

3.1 CUDA存儲體系

可編程內存:

寄存器(Regiester):對線程私有,數量有限,線程運行時動態獲得。

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

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

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

常量內存(const memory)駐留在設備內存中,并在每個SM專用的常量緩存中緩存。

紋理內存,駐留在設備內存中,并在每個SM的只讀緩存中緩存。

不可編程內存:一級緩存。二級緩存,只讀常量緩存和只讀紋理緩存。

每個SM都有一個一級緩存,所有的SM共享一個二級緩存,一級和二級緩存都被用來存儲本地內存和全局內存中的數據,也包括寄存器溢出的部分。每個SM也有一個只讀常量緩存和只讀紋理存緩存,它們用于在設備內存中提高來自內存空間內的讀取性能[9~10]。

3.2 CUDA并行架構

CUDA編程模型,包含兩個并行邏輯層,分別是block層和thread層,在執行時block映射到SM,thread映射到SP,如何在實際應用程序中高效地開發這兩個層次的并行是CUDA編程與優化關鍵。

CUDA并行基于kernel實現,Kernel函數是指在GPU上執行的函數。在CPU端配置相應的線程塊(維度),共享存儲容量和CUDA流等信息。

Kernel函數映射到GPU上執行,kernel具有三維的線程網格(grid)-線程塊(block)-線程(thread)結構,在執行kernel時,一個kernel函數對應一個grid,對應的block映射到SM,thread映射到SP,GPU通過頻繁的線程切換來實現硬件資源的分時使用,切換開銷極小[11]。

3.3 頻域波束形成算法的并行設計

本部分根據GPU特點和CUDA編程模型設計頻域波束形成算法的GPU實現。

CUDA程序并行架構分為三級,分別是數據級并行,核間級并行和任務級并行。數據級并行是指通過線程分配在kernel內部實現數據與數據間的并行。核間級并行是指利用流并發技術實現kernel間的并行。任務級并行是指利用CPU多線程機制實現多個信號處理任務的并行。

軟件工程中有自頂向下和自下向上兩種設計方法,根據并行架構特點,選擇自下向上的設計方式設計聲納信號處理算法。即首先根據信號處理任務相關性,對數據級并行進行設計和優化,再分別處理核間級和任務級并行。如對于頻域波束形成算法來說,每個通道的FFT可以設計為一個kernel。多個kernel并行設計為核間級并行。進行優化并單元測試后,多路通道的FFT運行時間極短,因此將FFT與數據與預處理合并為同一任務,在一個CPU線程中運行。對于算法時延補償部分,數據級并行即為每個基元的通道時延補償,核間級并行為多個基元并行進行時延補償。后置處理任務因為時間較短,且分支運算較多,可以布置在CPU上運行。

4 CUDA并行優化

4.1 影響GPU性能的主要因素

1)數據傳輸

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

PCIE2.0一般有16通道,每通道速度約為500MB/s,由于數據的額外開銷,8GB/s理論帶寬能達到6GB/s。如果軟件要求在CPU和GPU之間頻繁的進行大規模數據交互,會嚴重影響性能。

2)線程束分化

CPU擁有復雜的硬件執行分支預測以保證分支運算只付出很小的性能代價,但是GPU是相對簡單的設備,沒有分支預測機制,一個線程束(32線程)中所有線程在同一周期中必須執行相同的指令,因此分支運算會在GPU中產生線程束分化,即一個線程束會執行每一個分支路徑。線程束分化會導致性能明顯下降,因此在軟件編程過程中,需要盡量避免線程束分化[12~13]。

3)bank conflict

共享存儲由交替排列的存儲體(bank)構成,每個bank大小為4B,如果線程束中多個線程同時訪問同一存儲體的不同地址將會引發存儲體沖突。一般來說共享存儲的bank數和線程束內線程數量是一致的[12~13]。

存儲體沖突的后果是在GPU中,不同bank組可以同時訪存,若產生存儲體沖突,多個線程要求訪問同一個bank,每次僅有一個線程能訪問bank,多個線程間要串行訪存,因而導致性能損失。

4.2 提升GPU并行性能的方法

1)頁鎖定與零拷貝

頁鎖定內存在內存分配和釋放過程中不可換頁,因此不會被換除內存空間,換出到虛擬內存中。其傳輸速度是常規可分頁內存的兩倍,可以有效提升CPU與GPU的數據交換速度。

利用頁鎖定原理,將該頁面映射到設備地址空間中,實現零拷貝CPU和GPU都可以直接訪問內存地址。

2)分支優化

在kernel中,分支操作會產生分支優化,浪費GPU性能,因此采取合理的方式優化分支操作,可以提升kernel性能。

3)高度并行架構設計

一般來說算法并行度越高,性能越好。但是由于CUDA自帶的加速庫不是針對信號處理算法所設計,因此使用cufft,cublas等加速庫并不能有效提升性能。

針對信號處理算法特點自行設計高度并行架構可以有效提升算法性能。

5 試驗結果

試驗環境:

GPU平臺:Jetson agx xavie,Ubuntu 18.04操作系統

CPU:Intel i7-9700k;

DSP平臺:TMS320C6678

試驗測試不同長度數據的向量乘法,向量加法在CPU和GPU上的運行時間。波束形成和一次積累分別在DSP和GPU上運行時間。

表3 GPU和CPU性能對比

表4 GPU和DSP時間對比

6 結語

Jetson agx xavie相比于DSP信號處理平臺在運算速度上具有很大的優勢,一個Jetson agx xavie上可以實現多個信號處理板才能實現的信號處理算法。硬件上,在功耗、散熱、體積三個指標上,Jetson agx xavie也明顯占優。

更重要的是,Jetson agx xavie可內置數據庫模塊和深度學習模塊,對新一代信號處理平臺的數據化,智能化具有重要意義,也是后續研究的重要方向。

主站蜘蛛池模板: 美女国内精品自产拍在线播放| 亚洲国产精品日韩专区AV| 欧洲在线免费视频| 国产交换配偶在线视频| 亚洲永久色| 欧洲成人免费视频| 一级毛片在线免费视频| 亚洲国产看片基地久久1024| 国产精品女同一区三区五区| 欧美成人国产| 九九九精品成人免费视频7| av无码久久精品| 国产成人超碰无码| 国产在线视频二区| 亚洲第一黄色网址| 国产成人精品高清在线| 亚洲综合香蕉| 亚洲天堂视频在线免费观看| 国产又色又爽又黄| 欧美在线黄| 亚洲无码高清免费视频亚洲| 国产丝袜精品| 91口爆吞精国产对白第三集| 激情网址在线观看| 中文无码精品A∨在线观看不卡 | 国产JIZzJIzz视频全部免费| 欧美性爱精品一区二区三区| 天天婬欲婬香婬色婬视频播放| 国产精品无码作爱| 欧洲免费精品视频在线| 色综合久久无码网| 国产白丝av| 亚洲中文字幕日产无码2021| 亚洲无码视频喷水| 手机在线看片不卡中文字幕| 国产中文在线亚洲精品官网| 亚洲无码电影| 久久一日本道色综合久久| 日本高清免费不卡视频| 亚洲无限乱码一二三四区| 国产免费久久精品44| 中文字幕日韩欧美| 亚洲精品另类| 久久人人爽人人爽人人片aV东京热 | 91小视频在线观看| 国产精品人莉莉成在线播放| 国产区网址| 日韩欧美国产另类| 成人久久精品一区二区三区| 亚洲男人的天堂在线观看| 欧美三级自拍| 99久久国产精品无码| 亚洲免费三区| 新SSS无码手机在线观看| 婷婷五月在线| 91久久偷偷做嫩草影院| 亚洲中文字幕国产av| 日韩久草视频| 日韩精品久久久久久久电影蜜臀| 亚洲av片在线免费观看| 热re99久久精品国99热| 无码aaa视频| 色呦呦手机在线精品| 亚洲精品福利网站| 大香网伊人久久综合网2020| 欧美一区二区精品久久久| 免费国产高清视频| 女人18一级毛片免费观看 | 国产成人毛片| 一本大道香蕉久中文在线播放| 真实国产乱子伦视频| 欧美有码在线| 毛片免费视频| 国产午夜精品一区二区三区软件| 亚洲妓女综合网995久久| 少妇高潮惨叫久久久久久| 色综合久久88| 久久综合九色综合97婷婷| 91国内视频在线观看| 熟女日韩精品2区| 欧美亚洲一二三区 | 在线无码九区|