• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于NVIDIA GPU的機(jī)載SAR實(shí)時(shí)成像處理算法CUDA設(shè)計(jì)與實(shí)現(xiàn)

    2013-10-03 12:25:22孟大地胡玉新石濤孫蕊李曉波
    雷達(dá)學(xué)報(bào) 2013年4期
    關(guān)鍵詞:分塊方位數(shù)據(jù)處理

    孟大地 胡玉新 石濤 孫蕊 李曉波

    (中國(guó)科學(xué)院電子學(xué)研究所 北京 100190)

    (中國(guó)科學(xué)院空間信息處理與應(yīng)用系統(tǒng)技術(shù)重點(diǎn)實(shí)驗(yàn)室 北京 100190)

    1 引言

    合成孔徑雷達(dá)(Synthetic Aperture Radar,SAR)是一種具有全天時(shí)、全天候、獲取微波散射信息豐富等特點(diǎn)的重要的遙感技術(shù)手段,在軍事、農(nóng)業(yè)、林業(yè)、海洋等領(lǐng)域均具有巨大的應(yīng)用潛力[1]。但由于高分辨率SAR系統(tǒng)接收的原始數(shù)據(jù)量大,并且需要經(jīng)過(guò)復(fù)雜的2維匹配濾波處理才能獲得SAR圖像,甚至有些應(yīng)用領(lǐng)域?qū)?SAR圖像獲取具有較高的實(shí)時(shí)性要求,從而使得高速的成像處理技術(shù)成為SAR領(lǐng)域的一項(xiàng)關(guān)鍵技術(shù)。目前一般利用基于中央處理器(Central Processing Unit,CPU)的個(gè)人計(jì)算機(jī)、工作站以及大型計(jì)算服務(wù)器進(jìn)行后期的 SAR成像處理,這時(shí)需要投入大量資金購(gòu)置多臺(tái)具有足夠處理能力的計(jì)算設(shè)備,并利用 OpenMP[2]或 MPI[3]等并行編程技術(shù)進(jìn)行軟件實(shí)現(xiàn)。而SAR實(shí)時(shí)成像處理器一般用FPGA或DSP實(shí)現(xiàn),這時(shí)均需要較為復(fù)雜的編程手段以及采購(gòu)昂貴的硬件設(shè)備。

    由于圖形處理市場(chǎng)的拉動(dòng)作用,圖形處理器(Graphic Processing Unit,GPU)已經(jīng)發(fā)展成為具有高度并行、多線程、多核心、超大帶寬、具有數(shù)百個(gè)計(jì)算單元的高性能處理平臺(tái)。與通用的 CPU相比,由于GPU產(chǎn)品不具有CPU產(chǎn)品中的流程控制、緩存等功能部件而專注于進(jìn)行數(shù)據(jù)運(yùn)算,因此GPU產(chǎn)品更適用于作為以浮點(diǎn)運(yùn)算為主、適于并行化的計(jì)算任務(wù)的運(yùn)行平臺(tái)[4]。近年英偉達(dá)(NVIDIA)公司GPU產(chǎn)品與英特爾(Intel)公司CPU產(chǎn)品的計(jì)算性能對(duì)比如圖1所示[4],可見(jiàn)各時(shí)期GPU產(chǎn)品的運(yùn)算速度以及傳輸帶寬遠(yuǎn)高于同時(shí)代的 CPU產(chǎn)品。NVIDIA于2006年11月推出了一種將GPU用于進(jìn)行高性能計(jì)算的通用并行計(jì)算架構(gòu)(Compute Unified Device Architecture,CUDA)以及相關(guān)的并行編程模型和函數(shù)庫(kù)。該技術(shù)的出現(xiàn)大大推動(dòng)了GPU在高性能計(jì)算領(lǐng)域的廣泛應(yīng)用[4]。借助于CUDA技術(shù),在傳統(tǒng)CPU上運(yùn)行的需要大量浮點(diǎn)運(yùn)算的代碼可以方便地移植到 GPU上,而代碼的條件判斷等邏輯控制部分仍然在CPU平臺(tái)上運(yùn)行[4]。

    機(jī)載 SAR成像處理過(guò)程一般由向量相乘、轉(zhuǎn)置、快速傅里葉變換(FFT)以及插值等運(yùn)算模塊組成[1],各運(yùn)算模塊都能以較高的效率進(jìn)行并行化處理,因此有望利用CUDA技術(shù)在GPU上實(shí)現(xiàn)成像處理算法,并取得與CPU上的成像處理算法相比較大幅度的速度提升。本文擬利用CUDA技術(shù)將傳統(tǒng)的機(jī)載SAR成像處理算法部署于NVIDIA的GPU產(chǎn)品上,并用于進(jìn)行SAR實(shí)時(shí)成像處理。

    當(dāng)前支持CUDA技術(shù)的主流GPU產(chǎn)品的顯存較小,一般不超過(guò)6 GB,不足以容納一景SAR數(shù)據(jù)量,且具有較大顯存的高端產(chǎn)品價(jià)格較為昂貴。由于成像處理過(guò)程中需要多次進(jìn)行轉(zhuǎn)置操作,因此需要在主機(jī)內(nèi)存中開(kāi)辟足夠空間用于存儲(chǔ)全部處理數(shù)據(jù),并在成像處理的各個(gè)階段將數(shù)據(jù)進(jìn)行分塊,各塊依次傳入 GPU設(shè)備顯存,處理完成之后將處理結(jié)果傳入主機(jī)內(nèi)存。設(shè)備顯存與主機(jī)內(nèi)存通過(guò)PCI-e接口進(jìn)行數(shù)據(jù)交互,該接口的單向傳輸速度約為 6 GB/s(2代 PCI-e×16,CUDA SDK 提供bandwidthtest軟件測(cè)試結(jié)果),因此數(shù)據(jù)在主機(jī)內(nèi)存與GPU顯存之間的多次交互導(dǎo)致GPU的處理性能不能得到充分發(fā)揮,處理效率大大降低。

    本文利用 CUDA編程接口中的異步執(zhí)行(asynchronous concurrent execution)[4],流(stream)等技術(shù)[4],以及對(duì)SAR數(shù)據(jù)的分塊處理策略,提出了一種運(yùn)行于NVIDIA GPU產(chǎn)品上的成像處理算法的設(shè)計(jì)方案。該方案在不降低算法處理精度的基礎(chǔ)上,掩蓋了數(shù)據(jù)在主機(jī)內(nèi)存與設(shè)備顯存之間的交互傳輸,從而能夠充分利用GPU設(shè)備的計(jì)算資源;當(dāng)主機(jī)上配置多個(gè) GPU設(shè)備時(shí),該方案還支持多GPU設(shè)備的同時(shí)執(zhí)行,提高了方案的硬件配置靈活性;該方案中的所有大規(guī)模計(jì)算任務(wù)都由 GPU完成,CPU只進(jìn)行足以忽略不計(jì)的簡(jiǎn)單計(jì)算、參數(shù)讀取以及邏輯判斷,因此主機(jī)只需配置足夠的內(nèi)存,而無(wú)須配置昂貴的高性能CPU,甚至單核CPU產(chǎn)品也足以勝任,降低了設(shè)備預(yù)算及設(shè)備功耗;該方案突破了GPU顯存容量對(duì)SAR成像處理數(shù)據(jù)大小的限制,只需足夠的主機(jī)內(nèi)存,而不要求單個(gè)設(shè)備具有大容量顯存,甚至不足1 G的顯存容量也能滿足處理需求,從而提高了實(shí)時(shí)成像處理算法對(duì)大數(shù)據(jù)量SAR數(shù)據(jù)的處理能力,拓寬了購(gòu)置GPU設(shè)備時(shí)的選擇范圍,大大降低了對(duì) GPU設(shè)備內(nèi)存容量的要求,從而降低了設(shè)備購(gòu)置的資金預(yù)算;另外,該方案不但能用于SAR實(shí)時(shí)成像處理,也能用于事后SAR數(shù)據(jù)處理,這時(shí)甚至可以將該方案部署在筆記本電腦上,大大增加了成像處理設(shè)備的便攜性。

    將機(jī)載ωκ成像處理算法在一部 NVIDIA K20C(計(jì)算能力 3.5,2496個(gè) CUDA計(jì)算核心(core),功耗225 W,市場(chǎng)價(jià)格約為25000元人民幣,用CUDA 5.0編譯)[5]以及一顆INTEL Xeon E5645(Westmere系列,主頻2.4 GHz,6核心,功耗80 W,市場(chǎng)價(jià)格約為2900元人民幣,用INTEL編譯器編譯,調(diào)用INTEL MKL數(shù)學(xué)運(yùn)算庫(kù))[6]上的對(duì)比測(cè)試表明,該方案可以達(dá)到約每秒處理36 M個(gè)原始數(shù)據(jù)采樣點(diǎn)的處理速度。與基于 CPU的處理算法相比,該方案可以達(dá)到約15倍的加速比,基本與圖1的性能對(duì)比相符。對(duì)方位/距離向各為32768的SAR數(shù)據(jù),一部K20C處理所需時(shí)間約為7 s(不包括原始數(shù)據(jù)讀取、數(shù)據(jù)寫(xiě)入、內(nèi)存/顯存的分配和釋放),足以保證成像處理的實(shí)時(shí)率。

    本文第2節(jié)根據(jù)CUDA并行化特點(diǎn)對(duì)SAR成像處理算法的結(jié)構(gòu)特征進(jìn)行分析;第3節(jié)簡(jiǎn)要介紹了SAR實(shí)時(shí)成像處理算法實(shí)現(xiàn)所需CUDA編程技巧;基于以上兩節(jié)的討論,第4節(jié)詳細(xì)討論了基于CUDA的 SAR實(shí)時(shí)成像處理算法設(shè)計(jì)思路以及最終實(shí)現(xiàn)方案;第5節(jié)利用仿真SAR數(shù)據(jù)驗(yàn)證了算法的處理速度,并與基于CPU的處理結(jié)果進(jìn)行對(duì)比;第6節(jié)對(duì)本文內(nèi)容進(jìn)行了總結(jié)。

    2 SAR成像處理算法結(jié)構(gòu)分析

    目前一般采用頻域2維匹配濾波的成像處理算法[1]進(jìn)行SAR成像處理,而不采用運(yùn)算量多出數(shù)百倍甚至千倍的時(shí)域后向反投影算法[7],對(duì)于實(shí)時(shí)成像處理算法更是如此。頻域匹配濾波算法主要包括距離多普勒(RD)算法、Chirp Scaling(CS)算法以及ωκ算法。3種算法的詳細(xì)介紹及優(yōu)缺點(diǎn)對(duì)比參見(jiàn)文獻(xiàn)[1]。3種算法的處理步驟見(jiàn)圖2所示流程圖[1]。圖2中圓角矩形表示距離向處理,所處理數(shù)據(jù)按先排距離向存儲(chǔ);直角矩形表示方位向處理,所處理數(shù)據(jù)按先排方位向存儲(chǔ)。

    由圖2可見(jiàn),3種頻域機(jī)載SAR成像處理算法具有大致相同的算法結(jié)構(gòu),在研究其在 GPU上的部署時(shí),可以統(tǒng)一進(jìn)行分析與設(shè)計(jì)。因此下文內(nèi)容適用于3種算法中的任何一種。

    機(jī)載SAR在實(shí)際數(shù)據(jù)獲取過(guò)程中,載機(jī)受氣流影響會(huì)偏離理想水平勻速直線運(yùn)動(dòng)狀態(tài),導(dǎo)致原始回波數(shù)據(jù)與成像處理算法失配,因此在對(duì)實(shí)際機(jī)載SAR 數(shù)據(jù)進(jìn)行處理時(shí),還需進(jìn)行運(yùn)動(dòng)補(bǔ)償[8]。本文中采用文獻(xiàn)[9]中介紹的具有更高精度的運(yùn)動(dòng)補(bǔ)償算法(考慮了距離空變的距離走動(dòng)補(bǔ)償),在圖 2中的步驟A距離壓縮之后進(jìn)行運(yùn)動(dòng)補(bǔ)償處理即可。

    在圖2中,由于SAR原始數(shù)據(jù)以及處理中間結(jié)果數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的線性存儲(chǔ)特點(diǎn),3種算法都需要在處理過(guò)程中進(jìn)行3次轉(zhuǎn)置操作(改變2維數(shù)據(jù)的優(yōu)先存儲(chǔ)方向,以利于處理器對(duì)內(nèi)存中數(shù)據(jù)的讀取/寫(xiě)入效率)。SAR原始數(shù)據(jù)最初是處于先排距離向的存儲(chǔ)狀態(tài)。3種算法在不同的數(shù)據(jù)存儲(chǔ)方式下(先排距離向或先排方位向)對(duì)數(shù)據(jù)執(zhí)行所需操作(圖2中表示為A,B,C,D 4個(gè)運(yùn)算模塊),最終獲得先排距離向的SAR圖像。

    由于上述3種算法在執(zhí)行過(guò)程中都需要進(jìn)行多次轉(zhuǎn)置,要將其利用CUDA技術(shù)在GPU上部署,首選方案是將所有數(shù)據(jù)一次性讀入 GPU顯存,并在 GPU上用 kernel(GPU處理任務(wù)的調(diào)度單元[4])的方式實(shí)現(xiàn)算法的所有運(yùn)算模塊。目前已有基于CUDA技術(shù)的SAR成像處理算法均采用了這種方法[10-13],因此可處理一景數(shù)據(jù)所包含脈沖數(shù)受到GPU顯存容量的限制。而當(dāng)GPU顯存容量(不超過(guò)6 GB,未來(lái)預(yù)計(jì)會(huì)有更高顯存容量的GPU產(chǎn)品問(wèn)世,但價(jià)格總是與內(nèi)存容量成正比)不能容納一景SAR數(shù)據(jù)時(shí),這時(shí)只能先將所有數(shù)據(jù)存入主機(jī)內(nèi)存,在主機(jī)端利用CPU完成4次轉(zhuǎn)置操作。在不同的數(shù)據(jù)存儲(chǔ)方式下,每個(gè)運(yùn)算模塊由以下方式實(shí)現(xiàn):根據(jù)顯存容量對(duì)所需處理數(shù)據(jù)進(jìn)行分塊(每個(gè)分塊的數(shù)據(jù)連續(xù)存儲(chǔ),并確保GPU顯存能容納每塊數(shù)據(jù),分塊處理并不影響算法的處理精度);對(duì)于每個(gè)數(shù)據(jù)塊,先將其拷貝至GPU顯存,在GPU中用kernel的方式實(shí)現(xiàn)模塊相關(guān)處理步驟,再將結(jié)果寫(xiě)入主機(jī)內(nèi)存的原位置;最后從主機(jī)內(nèi)存中將處理結(jié)果SAR圖像存盤(pán)。

    在上述實(shí)現(xiàn)方式中,GPU需要等待主機(jī)端的轉(zhuǎn)置操作完成才能執(zhí)行之后的運(yùn)算模塊,由此帶來(lái)兩點(diǎn)不便:CPU轉(zhuǎn)置操作與GPU運(yùn)算不能同時(shí)執(zhí)行,降低了算法的整體處理效率;為了提高轉(zhuǎn)置效率,需要配置運(yùn)算速度較快的CPU,增加設(shè)備預(yù)算及設(shè)備功耗。

    由此可見(jiàn),為了充分利用 GPU設(shè)備的運(yùn)算性能,降低對(duì)CPU的性能要求,在將數(shù)據(jù)存儲(chǔ)于主機(jī)內(nèi)存(始終以先排距離向的存儲(chǔ)方式)以及采用分塊處理策略的前提下,需要將轉(zhuǎn)置操作以及A,B,C,D 4個(gè)運(yùn)算模塊在GPU上執(zhí)行,而CPU只承擔(dān)流程控制、數(shù)據(jù)讀取/寫(xiě)入以及少量簡(jiǎn)單運(yùn)算。另外,還需要利用CUDA編程接口中的異步并行技術(shù),使得主機(jī)內(nèi)存與GPU顯存之間的數(shù)據(jù)交互與kernel并行執(zhí)行,從而減少甚至消除kernel執(zhí)行對(duì)數(shù)據(jù)交互的等待時(shí)間。

    3 相關(guān)CUDA編程技巧

    CUDA編程技術(shù)的基本任務(wù)劃分原則是:由主機(jī)負(fù)責(zé)算法的整體架構(gòu),而將算法中的大運(yùn)算量模塊交由 GPU處理。這些大運(yùn)算量模塊一般由連續(xù)執(zhí)行的若干步驟組成,其中某些步驟可直接調(diào)用現(xiàn)有的CUDA函數(shù)庫(kù)(如FFT可由CUFFT中的庫(kù)函數(shù)實(shí)現(xiàn)),其余無(wú)庫(kù)函數(shù)可供調(diào)用的步驟需編寫(xiě)對(duì)應(yīng)的kernel。

    根據(jù)上節(jié)對(duì) SAR成像處理算法的結(jié)構(gòu)特征分析,對(duì)于圖2中A,B,C,D 4個(gè)運(yùn)算模塊,均需要執(zhí)行CPU→GPU數(shù)據(jù)復(fù)制、數(shù)據(jù)處理、GPU→CPU數(shù)據(jù)復(fù)制3個(gè)步驟;對(duì)于模塊B與模塊D,還需要在數(shù)據(jù)處理之前進(jìn)行先排距離向到先排方位向的轉(zhuǎn)置操作,以及在數(shù)據(jù)處理之后進(jìn)行先排方位向到先排距離向的轉(zhuǎn)置操作。兩次轉(zhuǎn)置操作均由 GPU完成。要利用CUDA技術(shù)將這種實(shí)現(xiàn)方案在GPU上部署,并充分利用 GPU設(shè)備的運(yùn)算資源以及傳輸帶寬,需要利用CUDA編程技術(shù)所提供的各種接口解決以下幾點(diǎn)技術(shù)難題。

    3.1 內(nèi)存分段拷貝與轉(zhuǎn)置處理

    根據(jù)第2節(jié)對(duì)SAR成像處理算法的結(jié)構(gòu)分析,需要對(duì)主機(jī)內(nèi)存中的 SAR數(shù)據(jù)分塊,對(duì)每塊執(zhí)行“讀入 GPU顯存→數(shù)據(jù)處理→寫(xiě)入主機(jī)內(nèi)存”3步操作。由于數(shù)據(jù)始終以先排距離向的方式存儲(chǔ)于主機(jī)內(nèi)存,因此在進(jìn)行距離向操作(圖 2中以圓角表示的模塊,模塊A,C)時(shí),所需處理的數(shù)據(jù)塊連續(xù)存儲(chǔ)于主機(jī)內(nèi)存的一段空間(如圖3(a)所示),這時(shí)可直接利用 CUDA 庫(kù)函數(shù) cudaMemcpy[4]或cudaMemcpyAsync[4]將其由主機(jī)內(nèi)存復(fù)制到 GPU顯存,處理結(jié)束后再由該函數(shù)將處理結(jié)果從 GPU顯存復(fù)制到主機(jī)內(nèi)存的原位置。

    而在進(jìn)行方位向操作(圖 2中以直角表示的模塊,模塊 B,D)時(shí),所需處理的一塊數(shù)據(jù)在主機(jī)內(nèi)存中分散于 Na個(gè)連續(xù)存儲(chǔ)數(shù)據(jù)段(如圖 3(b)所示,其中 Nr為距離向采樣點(diǎn)數(shù),Na為脈沖個(gè)數(shù)),這時(shí)就需要調(diào)用 CUDA編程接口所提供的支持分段復(fù)制的內(nèi)存復(fù)制函數(shù) cudaMemcpy2D[4]或cudaMemcpy2DAsync[4]進(jìn)行模塊前后的兩次數(shù)據(jù)塊復(fù)制。在將數(shù)據(jù)由主機(jī)內(nèi)存?zhèn)魅?GPU顯存后,數(shù)據(jù)按照先排距離向方式存儲(chǔ)于 GPU顯存上一塊連續(xù)的存儲(chǔ)空間,這時(shí)還需要將該數(shù)據(jù)做轉(zhuǎn)置處理(數(shù)據(jù)將按先排方位向方式存儲(chǔ)),才能進(jìn)行后續(xù)的數(shù)據(jù)處理操作。在數(shù)據(jù)處理完成之后,還需再進(jìn)行一次轉(zhuǎn)置處理(數(shù)據(jù)將按先排距離向存儲(chǔ)),才能再次調(diào)用cudaMemcpy2D或cudaMemcpy2DAsync將處理結(jié)果寫(xiě)入主機(jī)內(nèi)存原位置。

    CUDA Samples中提供了利用共享內(nèi)存技術(shù)在GPU 上實(shí)現(xiàn)轉(zhuǎn)置操作的示例[14],本文轉(zhuǎn)置 kernel的設(shè)計(jì)直接采用了該方法。另外,為了讓轉(zhuǎn)置執(zhí)行與內(nèi)存顯存之間的數(shù)據(jù)復(fù)制實(shí)現(xiàn)下節(jié)所述的異步并行化,在實(shí)現(xiàn)轉(zhuǎn)置kernel時(shí),借助于cudaMemcpy2D或 cudaMemcpy2DAsync,轉(zhuǎn)置前后數(shù)據(jù)均位于GPU顯存上,而未采用內(nèi)存映射(mapped memory)技術(shù)[4]或統(tǒng)一虛擬地址空間(unified virtual address space)技術(shù)[4]所實(shí)現(xiàn)的從主機(jī)內(nèi)存讀取數(shù)據(jù)直接進(jìn)行轉(zhuǎn)置。

    3.2 并行處理相關(guān)技術(shù)

    3.2.1 異步并行技術(shù) 在計(jì)算能力不低于1.1的部分GPU設(shè)備上,CUDA編程架構(gòu)提供了主機(jī)內(nèi)存與GPU顯存之間數(shù)據(jù)傳輸與kernel執(zhí)行的并行機(jī)制,稱為異步并行技術(shù)。合理地利用該技術(shù),使得數(shù)據(jù)復(fù)制與kernel執(zhí)行同步進(jìn)行,可以盡可能地保證GPU設(shè)備的運(yùn)算核心處于忙碌狀態(tài),減少甚至消除第 2節(jié)所述kernel對(duì)所需數(shù)據(jù)的等待時(shí)間。在計(jì)算能力不低于2.0的部分GPU設(shè)備上,CUDA編程架構(gòu)甚至支持“主機(jī)內(nèi)存→GPU顯存數(shù)據(jù)傳輸、kernel執(zhí)行、GPU顯存→主機(jī)內(nèi)存數(shù)據(jù)傳輸”3者的并行機(jī)制[4]。

    但是,這種并行機(jī)制也受到所復(fù)制數(shù)據(jù)與kernel執(zhí)行所需數(shù)據(jù)的依賴性的限制,即在 kernel執(zhí)行所需數(shù)據(jù)復(fù)制到顯存完成之前kernel一直處于等待狀態(tài),在kernel執(zhí)行完成之前無(wú)法將執(zhí)行結(jié)果復(fù)制到主機(jī)內(nèi)存,因此該技術(shù)不能直接應(yīng)用于SAR成像處理算法。

    3.2.2 流技術(shù) 異步并行技術(shù)的實(shí)施需要借助于流(stream)技術(shù)。創(chuàng)建若干個(gè)流,將所需處理任務(wù)分配到各個(gè)流上。在各流的當(dāng)前任務(wù)滿足上節(jié)所述的并行執(zhí)行條件時(shí),由于流的可并行執(zhí)行特性[4],從而實(shí)現(xiàn)了當(dāng)前各任務(wù)的并行執(zhí)行。圖4示意了這種異步并行方案的實(shí)現(xiàn)方式。其中 CPU代表主機(jī)內(nèi)存,GPU代表 GPU顯存,各圓角矩形中的數(shù)字代表分塊序號(hào)。將圖2中的每個(gè)運(yùn)算模塊部署在GPU上時(shí),可按照如圖4所示策略進(jìn)行任務(wù)調(diào)度(對(duì)于運(yùn)算模塊B,D,在數(shù)據(jù)處理前后還包含兩次轉(zhuǎn)置操作)。

    如圖4所示,創(chuàng)建3個(gè)流,先將前3個(gè)SAR數(shù)據(jù)塊分別交由流0,流1,流2處理,每塊數(shù)據(jù)的處理都包括“CPU→GPU數(shù)據(jù)傳輸、數(shù)據(jù)處理、GPU→CPU數(shù)據(jù)傳輸”3項(xiàng)任務(wù)(該示例中假設(shè)各處理模塊的執(zhí)行時(shí)間相等)。由于3個(gè)流的同類處理任務(wù)不能并行執(zhí)行,因此相鄰流之間有一個(gè)任務(wù)執(zhí)行時(shí)間的延時(shí),而3個(gè)流的不同類處理任務(wù)可以并行執(zhí)行。再繼續(xù)將后續(xù)待處理數(shù)據(jù)塊依次發(fā)射(issue)在 3個(gè)流上,即可保證所有時(shí)刻3個(gè)流中的處理步驟都處于并行執(zhí)行狀態(tài)。這時(shí)除了整個(gè)任務(wù)的首尾少量時(shí)間3個(gè)流未完全并行外,處理過(guò)程中絕大部分處理時(shí)間3個(gè)流都處于并行執(zhí)行狀態(tài),從而保證了GPU運(yùn)算核心(core)絕大部分時(shí)間處于忙碌狀態(tài),有效掩蓋了數(shù)據(jù)在主機(jī)內(nèi)存與GPU顯存中的傳輸時(shí)間。

    為了降低3個(gè)流首尾未并行任務(wù)塊占總?cè)蝿?wù)的比例,需要保證SAR數(shù)據(jù)的分塊數(shù)不能太少,而各分塊尺寸太小時(shí)不能充分利用所有 CUDA運(yùn)算核心。實(shí)際中可通過(guò)多次試驗(yàn)選取效率較高的分塊大小和分塊總數(shù)組合。

    3.2.3 事件同步技術(shù) 如前所述,圖4中的數(shù)據(jù)處理環(huán)節(jié)由若干個(gè)kernel組成,而且kernel執(zhí)行時(shí)間與單向數(shù)據(jù)傳輸時(shí)間一般情況下不完全相同,根據(jù)GPU對(duì)各流所發(fā)射kernel的調(diào)度機(jī)制,在運(yùn)行過(guò)程中各流的 kernel可能會(huì)交替執(zhí)行[4],從而導(dǎo)致圖 4中的某些數(shù)據(jù)處理環(huán)節(jié)(由多個(gè) kernel組成)開(kāi)始到結(jié)束所需時(shí)間增加。為了避免此現(xiàn)象,確保每個(gè)數(shù)據(jù)處理環(huán)節(jié)中的所有kernel集中連續(xù)執(zhí)行,可以利用CUDA中的事件(event)技術(shù)[4]。在每個(gè)數(shù)據(jù)處理環(huán)節(jié)的末尾(GPU→CPU 數(shù)據(jù)傳輸環(huán)節(jié)開(kāi)始前)利用cudaEventRecord函數(shù)標(biāo)記事件同步節(jié)點(diǎn),并在下一個(gè)數(shù)據(jù)處理環(huán)節(jié)的起始(CPU→GPU數(shù)據(jù)傳輸環(huán)節(jié)結(jié)束后)時(shí)利用 cudaEventSynchronize函數(shù)對(duì)該事件標(biāo)記進(jìn)行同步。根據(jù)事件的同步特點(diǎn),在cudaEventRecord函數(shù)調(diào)用之前的所有CUDA操作完成之前,cudaEventSynchronize之后的CUDA操作不能進(jìn)行,從而確保了每個(gè)數(shù)據(jù)處理環(huán)節(jié)中各kernel的集中連續(xù)執(zhí)行。詳見(jiàn)下述實(shí)驗(yàn)結(jié)果。

    3.2.4 多GPU并行處理技術(shù) 當(dāng)一臺(tái)主機(jī)內(nèi)有多部GPU設(shè)備時(shí),利用流技術(shù)還可以實(shí)現(xiàn)所有設(shè)備之間的并行處理。在每個(gè)GPU設(shè)備上各部署3個(gè)流,并將所有SAR數(shù)據(jù)處理任務(wù)依次發(fā)射到各個(gè)流上,從而在每個(gè) GPU設(shè)備內(nèi)部異步并行的同時(shí),也實(shí)現(xiàn)了多GPU設(shè)備的并行處理。

    對(duì)于第i個(gè)數(shù)據(jù)塊,所對(duì)應(yīng)的GPU設(shè)備號(hào)iGPU以及流號(hào)istream的計(jì)算方法分別為(三者均以0為起始編號(hào)):

    其中NGPU為GPU設(shè)備個(gè)數(shù),%表示求余操作。

    3.3 顯存分配策略

    由上節(jié)可知,為了充分利用 GPU設(shè)備的異步并行技術(shù)掩蓋數(shù)據(jù)傳輸時(shí)間,在每個(gè) GPU設(shè)備中需各分配3個(gè)流。由于各流之間除并行關(guān)系外相互獨(dú)立運(yùn)行,因此需要為每個(gè)流分配一個(gè)獨(dú)立的存儲(chǔ)空間用于存儲(chǔ)從主機(jī)內(nèi)存加載的數(shù)據(jù)塊。另外,各個(gè)運(yùn)算模塊中的某些運(yùn)算步驟需要用另外一塊同樣大小的存儲(chǔ)空間存儲(chǔ)運(yùn)算處理結(jié)果,這些運(yùn)算步驟包括轉(zhuǎn)置處理,ω κ算法中的 stolt插值處理[1],運(yùn)動(dòng)補(bǔ)償處理[4]等。因此,需要對(duì)每個(gè)流分配兩個(gè)同樣大小的存儲(chǔ)空間。實(shí)踐表明,對(duì)于機(jī)載SAR實(shí)時(shí)處理算法來(lái)說(shuō),兩塊存儲(chǔ)空間已能夠滿足算法的運(yùn)算需要。

    由此可見(jiàn),每個(gè)GPU設(shè)備上共需分配6塊同樣大小的存儲(chǔ)空間。另外利用CUFFT庫(kù)函數(shù)進(jìn)行FFT運(yùn)算時(shí),需要為每個(gè)流根據(jù)數(shù)據(jù)尺寸調(diào)用cufftPlan1d()創(chuàng)建一個(gè)plan配置數(shù)據(jù)。以上9項(xiàng)存儲(chǔ)空間之和不能超過(guò)一個(gè)GPU設(shè)備的顯存總?cè)萘俊?/p>

    4 設(shè)計(jì)與實(shí)現(xiàn)

    4.1 存儲(chǔ)空間分配與FFT plan

    在成像處理開(kāi)始之前,需要先進(jìn)行內(nèi)存及顯存分配,在所有步驟執(zhí)行完畢之后,再將所分配內(nèi)存及顯存釋放。

    首先在主機(jī)內(nèi)存中分配兩段存儲(chǔ)空間H0與H1,H0用于存儲(chǔ)讀入的原始數(shù)據(jù)以及處理結(jié)果 SAR圖像(一般1個(gè)采樣點(diǎn)占用1個(gè)或2個(gè)字節(jié)),H1用于存儲(chǔ)算法各階段的中間處理結(jié)果(一般按單精度浮點(diǎn)存儲(chǔ),1個(gè)采樣點(diǎn)占用8個(gè)字節(jié))。假設(shè)所需處理的一景 SAR數(shù)據(jù)每個(gè)回波脈沖采樣點(diǎn)數(shù)為 Nr,共Na個(gè)脈沖,則H0與H1占用字節(jié)數(shù)分別為:

    為了提高主機(jī)內(nèi)存與 GPU顯存之間的數(shù)據(jù)傳輸速度,H0與H1按照頁(yè)鎖定(page-locked)的方式進(jìn)行空間分配[4]。

    根據(jù)第3節(jié)所述,在每部GPU設(shè)備上各分配3個(gè)流Sij(其中i,j分別表示以0為起始的GPU編號(hào)以及流編號(hào)),并為每個(gè)流在所在GPU設(shè)備顯存上分配兩塊字節(jié)數(shù)分別為Md(按照上節(jié)所述進(jìn)行設(shè)置)的存儲(chǔ)空間DA,ij與DB,ij,用于完成圖2中每個(gè)模塊的各個(gè)計(jì)算步驟。根據(jù)顯存塊大小Md,可以得到用于每個(gè)運(yùn)算模塊的數(shù)據(jù)分塊大小。對(duì)于先排距離向的運(yùn)算模塊A,C,每個(gè)數(shù)據(jù)塊的方位脈沖數(shù)為:

    為了方便起見(jiàn),如有必要,Ba與Br可在以上計(jì)算結(jié)果基礎(chǔ)上適當(dāng)減小,使其分別能整除Na與Nr。對(duì)于運(yùn)算模塊A,C,處理數(shù)據(jù)的分塊數(shù)為Ca=Na/Ba;對(duì)于運(yùn)算模塊 B,D,處理數(shù)據(jù)的分塊數(shù)為Cr=Nr/Br。

    另外,由于各運(yùn)算模塊的執(zhí)行步驟中都需要用到FFT操作,對(duì)于每個(gè)運(yùn)算模塊,還需要為每個(gè)流Sij根據(jù)數(shù)據(jù)塊2維尺寸利用CUDA函數(shù)cufftPlan1d建立 FFT執(zhí)行所需 plan,并將所創(chuàng)建 plan用cufftSetStream 函數(shù)與所屬流關(guān)聯(lián)[4]。由于 plan的創(chuàng)建及銷毀占用時(shí)間非常小,對(duì)于每個(gè)運(yùn)算模塊,可以在模塊執(zhí)行前建立并關(guān)聯(lián)所需plan,模塊執(zhí)行完畢后立即調(diào)用 cufftDestroy函數(shù)銷毀,或者在算法開(kāi)始運(yùn)行時(shí)創(chuàng)建所需plan,算法結(jié)束時(shí)銷毀所需plan。

    4.2 算法設(shè)計(jì)

    根據(jù)以上對(duì)CUDA編程技術(shù)以及SAR成像處理算法特點(diǎn)的分析,在上述存儲(chǔ)空間分配方案基礎(chǔ)上,可按照以下方案進(jìn)行機(jī)載SAR實(shí)時(shí)成像處理算法設(shè)計(jì):

    (1) 將所需處理SAR原始數(shù)據(jù)由文件讀入主機(jī)內(nèi)存H0。

    (2) 將 H0中的 SAR原始數(shù)據(jù)沿方位向均分為Ca塊,各塊字節(jié)數(shù)均為2NrBa。各塊按照?qǐng)D4所示方案依次分配給各個(gè)流 Sij,各個(gè)流 Sij調(diào)用cudaMemcpyAsync函數(shù)將所分配數(shù)據(jù)塊讀入顯存空間DA,ij,再進(jìn)行運(yùn)算模塊A的各處理步驟,最后將結(jié)果由cudaMemcpyAsync函數(shù)寫(xiě)回主機(jī)內(nèi)存H1的對(duì)應(yīng)位置,每塊寫(xiě)回?cái)?shù)據(jù)字節(jié)數(shù)為 8NrBa。此時(shí)數(shù)據(jù)在H1中按照先排距離向的方式存儲(chǔ)。

    (3) 將H1中的數(shù)據(jù)沿距離向均分為Cr塊,各塊按照?qǐng)D4所示方案依次分配給各個(gè)流Sij,每個(gè)流將所分配數(shù)據(jù)塊(非連續(xù)存儲(chǔ),如圖 3(b)所示)先由cudaMemcpy2DAsync函數(shù)讀入顯存空間 DB,ij,再由轉(zhuǎn)置kernel將DB,ij中的數(shù)據(jù)轉(zhuǎn)為先排方位向方式存儲(chǔ)于DA,ij,然后進(jìn)行運(yùn)算模塊B的各處理步驟;處理完成之后再次調(diào)用轉(zhuǎn)置 kernel將處理結(jié)果(可能在 DA,ij或 DB,ij中,視具體實(shí)現(xiàn)方式而定)轉(zhuǎn)為先排距離向方式存儲(chǔ)于該流的另一塊顯存空間,將結(jié)果由cudaMemcpyAsync函數(shù)寫(xiě)回主機(jī)內(nèi)存H1的原位置。此時(shí)數(shù)據(jù)在H1中仍然按照先排距離向的方式存儲(chǔ)。

    (4) 按照與步驟(2)類似的方式執(zhí)行運(yùn)算模塊C,但不是從H0中讀取數(shù)據(jù),而是從H1中讀取數(shù)據(jù)。

    (5) 按照與步驟(3)類似的方式執(zhí)行運(yùn)算模塊D,但有以下幾點(diǎn)區(qū)別:(a) 在對(duì)處理結(jié)果進(jìn)行轉(zhuǎn)置時(shí),由于多視后每個(gè)圖像的像素點(diǎn)按照1個(gè)字節(jié)或2個(gè)字節(jié)無(wú)符號(hào)存儲(chǔ),因此需要實(shí)現(xiàn)一個(gè)新的轉(zhuǎn)置kernel,但也可將轉(zhuǎn)置 kernel利用 C++的模板(template)技術(shù)實(shí)現(xiàn),從而對(duì)中間結(jié)果的轉(zhuǎn)置處理以及對(duì)多視結(jié)果的轉(zhuǎn)置處理可復(fù)用一個(gè)函數(shù)代碼;(b)由于每塊數(shù)據(jù)處理前后數(shù)據(jù)量變化,而且數(shù)據(jù)在主機(jī)內(nèi)存中非連續(xù)存儲(chǔ),因此不能再將處理結(jié)果寫(xiě)回H1的原位置,但可以將處理結(jié)果寫(xiě)入H0。各塊圖像數(shù)據(jù)在 H0中的組織及寫(xiě)回方式與 3.1節(jié)所述及圖3(b)所示方式相同。

    (6) 將H0中的處理結(jié)果圖像寫(xiě)入圖像文件。

    在以上各步驟中,除了第(1)步數(shù)據(jù)讀取以及第(6)步數(shù)據(jù)落盤(pán)(這兩步受磁盤(pán)條件限制無(wú)法通過(guò)并行手段提高執(zhí)行速度)以外,在步驟(2)-步驟(5)中,每步對(duì)所有數(shù)據(jù)塊的處理都按照 3.2節(jié)所述方式實(shí)現(xiàn)了并行執(zhí)行,從而充分利用了 GPU設(shè)備的傳輸帶寬以及計(jì)算資源,保證在最短時(shí)間內(nèi)完成所有的處理步驟。

    4.3 批量任務(wù)處理策略

    將上述方案用于實(shí)時(shí)成像處理時(shí),需要對(duì)各景SAR數(shù)據(jù)依次進(jìn)行處理。為滿足實(shí)時(shí)性要求,對(duì)各景的處理之間不能有長(zhǎng)時(shí)間等待。在上述方案中,當(dāng)一景數(shù)據(jù)量較大時(shí),對(duì)H0,H1,DA,ij以及DB,ij的分配及釋放都需要占用較多的時(shí)間,若對(duì)每景數(shù)據(jù)都進(jìn)行一次存儲(chǔ)空間的分配及釋放,將大大降低處理的實(shí)時(shí)性。

    為了避免存儲(chǔ)空間的分配和釋放對(duì)處理實(shí)時(shí)性的影響,在各景數(shù)據(jù)2維尺寸不變的情況下(一般至少在一個(gè)條帶內(nèi)能夠保證各景的數(shù)據(jù) 2維尺寸不變),可以通過(guò)圖5所示的策略避免主機(jī)內(nèi)存/GPU顯存的重復(fù)分配與釋放。對(duì)于單景數(shù)據(jù)距離/方位點(diǎn)數(shù)未發(fā)生變化的一組處理任務(wù),在主機(jī)內(nèi)存/GPU顯存分配后對(duì)所有任務(wù)進(jìn)行連續(xù)處理,處理結(jié)束后再將主機(jī)內(nèi)存/GPU顯存釋放。

    5 實(shí)驗(yàn)結(jié)果

    圖5 批量任務(wù)處理策略圖Fig.5 Processing strategy of a batch of tasks

    由上述設(shè)計(jì)思路可知,本文提出的基于GPU的實(shí)驗(yàn)結(jié)果如圖6所示,其中藍(lán)色表示CPU單線程處理,綠色表示CPU全速(6線程)處理,深紅色表示 GPU處理。由于從磁盤(pán)讀取原始數(shù)據(jù)和將結(jié)果圖像寫(xiě)入磁盤(pán)兩個(gè)環(huán)節(jié)對(duì)各種處理手段來(lái)說(shuō)耗費(fèi)時(shí)間相同,因此圖6的時(shí)間測(cè)量結(jié)果中未計(jì)入這兩個(gè)環(huán)節(jié)所花時(shí)間。的機(jī)載 SAR實(shí)時(shí)成像處理算法并未對(duì)成像處理算法本身做任何更改,也未用單精度代替雙精度進(jìn)行浮點(diǎn)運(yùn)算,因此所需運(yùn)算量與基于CPU的實(shí)現(xiàn)方式相同,而且能夠完全達(dá)到算法本身應(yīng)有的處理精度。本文將測(cè)試同樣處理算法用本文所提出方案在GPU上實(shí)現(xiàn)時(shí)相對(duì)于常規(guī)在CPU上實(shí)現(xiàn)時(shí)處理速度的提升比例,而未針對(duì)分辨率等成像處理指標(biāo)進(jìn)行測(cè)試。本節(jié)測(cè)試在HP Z600立式工作站上進(jìn)行,實(shí)驗(yàn)所用GPU選用NVIDIA K20C,CPU選用工作站自帶INTEL E5645 @2.4 GHz。根據(jù)GPU處理速度提升比例的測(cè)試結(jié)果,還對(duì)價(jià)格、功耗、并行度、實(shí)時(shí)性等方面進(jìn)行了分析。

    5.1 加速比測(cè)試

    對(duì)于某種成像處理算法,對(duì)一塊機(jī)載SAR數(shù)據(jù)的處理時(shí)間僅取決于距離及方位向的采樣點(diǎn)數(shù),而與載頻波段及分辨率無(wú)關(guān)。因此本節(jié)選用ωκ成像處理算法,利用一段X波段機(jī)載SAR仿真數(shù)據(jù)分別用本文方案和常規(guī)基于CPU的處理算法進(jìn)行處理,并對(duì)處理所需時(shí)間進(jìn)行對(duì)比及討論。本節(jié)分別針對(duì)距離/方位采樣點(diǎn)數(shù)均為16384與32768兩種情況進(jìn)行了仿真實(shí)驗(yàn)。由于實(shí)際機(jī)載SAR數(shù)據(jù)處理中都需要進(jìn)行運(yùn)動(dòng)補(bǔ)償處理,因此按照第2節(jié)所述在圖 2的運(yùn)算模塊A中加入了運(yùn)動(dòng)補(bǔ)償?shù)奶幚憝h(huán)節(jié)。其它相關(guān)運(yùn)行參數(shù)如表1所示,各種處理手段消耗時(shí)間

    ?

    由于顯存中的分塊大小為256 MB(占用顯存共計(jì) 1.5 GB),對(duì)于距離/方位點(diǎn)數(shù)為 16384的 SAR數(shù)據(jù)(中間結(jié)果數(shù)據(jù)量為2 GB),對(duì)所有數(shù)據(jù)的分塊數(shù)目為8;對(duì)于距離/方位點(diǎn)數(shù)為32768的SAR數(shù)據(jù)(中間結(jié)果數(shù)據(jù)量為8 GB),分塊數(shù)為32。

    由圖6可見(jiàn),對(duì)于距離/方位點(diǎn)數(shù)為16384的SAR數(shù)據(jù),與單線程及6線程CPU處理相比,GPU處理的加速比分別約為71與14;對(duì)于距離/方位點(diǎn)數(shù)為32768的SAR數(shù)據(jù),加速比分別約為80與16。通過(guò)NVIDIA提供的并行處理可視化分析工具-Visual profiler[15]觀察兩者各運(yùn)算模塊的運(yùn)行情況可知,兩種情況下各流的處理及數(shù)據(jù)傳輸速度基本相同,但由于數(shù)據(jù)分塊數(shù)較大時(shí)各運(yùn)算模塊首尾未并行部分占模塊所有運(yùn)行時(shí)間比例較大,因此距離/方位點(diǎn)數(shù)為32768時(shí)的加速比較大。

    從價(jià)格的角度考慮,K20C目前市場(chǎng)價(jià)格約為E5645的將近10倍,可見(jiàn)與E5645相比K20C具有約1.5倍的價(jià)格優(yōu)勢(shì)。從功耗的角度考慮,本文方案中CPU無(wú)需承擔(dān)任何大型運(yùn)算任務(wù),因此無(wú)需耗資配置高性能CPU,但須配置具有高速總線以及高速PCI-E插槽的主板。從功耗的角度考慮,K20C在處理時(shí)功耗約為140 W[5],而E5645的標(biāo)稱功耗為80 W,可見(jiàn)K20C具有約8倍的功耗優(yōu)勢(shì)。從便攜性的角度考慮,由于需要約15顆E5645才能達(dá)到一部K20C的處理能力,而一塊主板上的CPU插槽有限(目前市場(chǎng)上主流主板支持CPU個(gè)數(shù)一般不超過(guò)4個(gè)),因此至少需要配置4臺(tái)主機(jī)。可見(jiàn),選用GPU作為處理設(shè)備使得 SAR數(shù)據(jù)處理設(shè)備的便攜性大大提高。

    5.2 并行度分析

    利用Visual Profiler對(duì)本文方案的并行度進(jìn)行分析,觀察數(shù)據(jù)在主機(jī)內(nèi)存與GPU顯存間的傳輸與GPU運(yùn)算的并行程度,距離/方位點(diǎn)數(shù)為16384時(shí)的處理過(guò)程在Visual Profiler中如圖7所示,其中黃色模塊表示CPU/GPU間數(shù)據(jù)傳輸,其它顏色模塊表示各種數(shù)據(jù)處理kernel。由圖7可見(jiàn),對(duì)于圖2中的運(yùn)算模塊A,B,C,kernel的運(yùn)行幾乎沒(méi)有任何中斷,即由于數(shù)據(jù)傳輸與kernel執(zhí)行的并行化,各數(shù)據(jù)塊的kernel開(kāi)始執(zhí)行之前,所需數(shù)據(jù)都已就緒(各流的首尾數(shù)據(jù)塊除外)。對(duì)于運(yùn)算模塊D,由于數(shù)據(jù)傳入GPU時(shí)間大于數(shù)據(jù)傳入 GPU的拷貝過(guò)程以及kernel執(zhí)行所需時(shí)間,因此前者的執(zhí)行幾乎沒(méi)有任何中斷,而后兩者在前者的執(zhí)行過(guò)程中已并行完成,省去了前者的等待時(shí)間(各流的首尾數(shù)據(jù)塊除外)。另外,由于各流的首尾數(shù)據(jù)塊未完全并行,各運(yùn)算模塊總體執(zhí)行時(shí)間與 kernel實(shí)際執(zhí)行時(shí)間(或數(shù)據(jù)單向傳輸時(shí)間,取大者)相比有略微增加。

    另外,如3.2.3節(jié)所述,由于采用了事件同步機(jī)制,各數(shù)據(jù)分塊的所有kernel都實(shí)現(xiàn)了連續(xù)集中執(zhí)行,各數(shù)據(jù)分塊的所有kernel完全實(shí)現(xiàn)了順序執(zhí)行,從而避免了各GPU→CPU數(shù)據(jù)傳輸環(huán)節(jié)延緩執(zhí)行。

    但由于事件同步機(jī)制的影響,從第2個(gè)數(shù)據(jù)分塊開(kāi)始,每次cudaEventSynchronize調(diào)用都需要等待上一數(shù)據(jù)分塊的cudaEventSynchronize調(diào)用成功返回,即每個(gè)數(shù)據(jù)塊的數(shù)據(jù)處理任務(wù)及其之后發(fā)射的任務(wù)都需要在上一數(shù)據(jù)塊的數(shù)據(jù)處理完成之后開(kāi)始執(zhí)行(launch)[4],因此導(dǎo)致了運(yùn)算模塊A,B,C從第3個(gè)數(shù)據(jù)分塊開(kāi)始每次的CPU→GPU數(shù)據(jù)傳輸環(huán)節(jié)的執(zhí)行略有延遲。而運(yùn)算模塊D的kernel執(zhí)行時(shí)間小于 CPU→GPU數(shù)據(jù)傳輸時(shí)間,因此未出現(xiàn)此現(xiàn)象。

    5.3 實(shí)時(shí)性分析

    機(jī)載SAR成像處理算法能否滿足實(shí)時(shí)性要求,取決于處理速度是否大于數(shù)據(jù)采集速度。假設(shè)距離采樣點(diǎn)數(shù)為Nr,每秒采集脈沖數(shù)為Prf,則數(shù)據(jù)采集速度為NrPrf??梢?jiàn)處理算法的實(shí)時(shí)性與處理速度、距離采樣點(diǎn)數(shù)以及每秒采集脈沖數(shù)有關(guān),而與SAR系統(tǒng)波段、天線尺寸、載機(jī)速度等因素?zé)o關(guān)?;诖?,本節(jié)的分析無(wú)需設(shè)計(jì)距離采樣點(diǎn)數(shù)與每秒采集脈沖數(shù)之外的其它無(wú)關(guān)因素。

    在不考慮每景 SAR數(shù)據(jù)處理的不完全孔徑截取的情況下,由圖6可見(jiàn),一部K20C對(duì)機(jī)載SAR數(shù)據(jù)的處理速度約為每秒處理36 M個(gè)原始數(shù)據(jù)采樣點(diǎn)。對(duì)于距離采樣點(diǎn)數(shù)為64k的SAR系統(tǒng),則每秒處理數(shù)據(jù)量約為576個(gè)脈沖,因此一部K20C可以滿足脈沖采樣點(diǎn)數(shù)64k、脈沖重復(fù)頻率(PRF)不超過(guò)576的機(jī)載SAR系統(tǒng)的2維全分辨率實(shí)時(shí)處理速度需求。

    由于機(jī)載 SAR方位向分辨率為載機(jī)速度與多普勒帶寬之比(與系統(tǒng)波段無(wú)關(guān)),假設(shè)載機(jī)速度為v,則一部K20C能夠達(dá)到實(shí)時(shí)處理速度的機(jī)載SAR系統(tǒng)方位向分辨率約為:

    在此基礎(chǔ)上,還可以通過(guò)增加 GPU設(shè)備個(gè)數(shù)(目前 1部服務(wù)器或工作站主板最多可支持 4部GPU設(shè)備)擴(kuò)充設(shè)備的處理能力,以達(dá)到增加距離采樣點(diǎn)數(shù)以及提高方位向分辨率等要求。

    6 結(jié)論

    本文對(duì)機(jī)載SAR成像處理算法在CUDA架構(gòu)下的高效實(shí)現(xiàn)方法進(jìn)行了深入研究,首先對(duì)常用機(jī)載 SAR頻域成像處理算法的結(jié)構(gòu)特征以及 CUDA架構(gòu)下的實(shí)現(xiàn)思路進(jìn)行了詳細(xì)分析,并對(duì)算法的CUDA實(shí)現(xiàn)所需解決的若干技術(shù)問(wèn)題及其解決方法進(jìn)行了詳細(xì)論述?;谝陨涎芯抗ぷ?,提出并詳細(xì)闡述了一種基于CUDA架構(gòu)的機(jī)載SAR實(shí)時(shí)成像處理算法實(shí)現(xiàn)方案。該方案針對(duì)成像處理算法的結(jié)構(gòu)特征以及CUDA架構(gòu)的并行化特點(diǎn),通過(guò)對(duì)顯存/內(nèi)存分配策略以及數(shù)據(jù)傳輸/kernel執(zhí)行并行化的巧妙設(shè)計(jì),借助于CUDA編程體系所提供的數(shù)據(jù)處理及傳輸接口,實(shí)現(xiàn)了處理算法在 NVIDIA GPU設(shè)備上的高效部署。該方案實(shí)現(xiàn)了絕大部分的數(shù)據(jù)傳輸環(huán)節(jié)與 kernel執(zhí)行的并行進(jìn)行,大大減少了kernel執(zhí)行的數(shù)據(jù)等待時(shí)間。在NVIDIA迄今最新的通用計(jì)算高性能產(chǎn)品K20C上實(shí)驗(yàn)結(jié)果表明,借助于本文方案,與傳統(tǒng)基于CPU的成像處理算法相比,基于K20C的機(jī)載SAR成像處理算法具有低廉的價(jià)格、極低的功耗以及高度的便攜性,只需一臺(tái)配備一部或多部K20C的主機(jī)即可具有相當(dāng)于數(shù)十臺(tái)普通主機(jī)的處理能力。

    [1]Cumming I G and Wong F H.Digital Processing of Synthetic Aperture Radar Data: Algorithms and Implementation[M].Norwood: Artech House,2002.

    [2]OpenMP Architecture Review Board.OpenMP application program interface[OL].http://www.openmp.org/mp-documents/spec30.pdf,May 2008.

    [3]Snir M,Otto S,Lederman S H,et al..MPI: The Complete Reference[M].US: The MIT Press,1996.

    [4]NVIDIA.CUDA Cprogramming guide[OL].http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf,July 2013.

    [5]NVIDIA.Tesla k20 GPU active accelerator: board specification [OL].http://www.nvidia.cn/content/PDF/kepler/tesla-k20-active-bd-06499-001-v03.pdf,May 2013.

    [6]Intel.Intel Xeon Processor E5645 [OL].http://ark.intel.com/zh-cn/products/48768.2010.

    [7]Yegulalp A F.Fast backprojection algorithm for synthetic aperture radar[C].Proceedings 1999 IEEE Radar Conference,Waltham,US,1999: 60-65.

    [8]John Jr.C K.Motion compensation for synthetic aperture radar[J].IEEE Transaction on Aerospace and Electronic Systems,1975,11(3): 338-348.

    [9]Meng Da-di,Hu Dong-hui,and Ding Chi-biao.A new approachto airborne high resolution SAR motion compensation for large trajectory deviations[J].Chinese Journal of Electronics,2012,21(4): 764-769.

    [10]Liu Bin,Wang Kai-zhi,Liu Xing-zhao,et al..An efficient signal processor of synthetic aperture radar based on GPU[C].European Conference on Synthetic Aperture Radar,Eurogress,Aachen,Germany,June 2010: 1054-1057.

    [11]Ning Xia,Yeh Chun-mao,Zhou Bin,et al..Multiple- GPU accelerated range-Doppler algorithm for synthetic aperture radar imaging[C].IEEE International Radar Conference,Kansas City,MO,USA,May 2011: 698-701.

    [12]Clemente C,Bisceglie M D,Santo M D,et al..Processing of synthetic aperture radar data with GPGPU[C].IEEE Workshop on Signal Processing Systems,Tampere,Finland,Oct.2009: 309-314.

    [13]俞驚雷,柳彬,王開(kāi)志,等.一種基于 GPU 的高效合成孔徑雷達(dá)信號(hào)處理器[J].信息與電子工程,2010,8(4): 415-418.Yu J L,Liu B,Wang K Z,et al..A highly efficient GPU-based signal processor of Synthetic Aperture Radar[J].Information and Electronic Engineering,2010,8(4): 415-418.

    [14]NVIDIA.Optimizing matrix transpose in CUDA[OL].http://www.cs.colostate.edu/~cs675/matrixtranspose.pdf,May 2013.

    [15]NVIDIA.Profiler user’s guide[OL].http://docs.nvidia.com/cuda/pdf/CUDA_Profiler_Users_Guide.pdf,July 2013.作者簡(jiǎn)介

    猜你喜歡
    分塊方位數(shù)據(jù)處理
    認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
    認(rèn)方位
    幼兒園(2021年12期)2021-11-06 05:10:20
    ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
    分塊矩陣在線性代數(shù)中的應(yīng)用
    反三角分塊矩陣Drazin逆新的表示
    借助方位法的拆字
    說(shuō)方位
    幼兒100(2016年28期)2016-02-28 21:26:17
    基于TMS320C6678的SAR方位向預(yù)濾波器的并行實(shí)現(xiàn)
    基于自適應(yīng)中值濾波的分塊壓縮感知人臉識(shí)別
    基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
    av在线老鸭窝| 国产在线男女| 蜜桃亚洲精品一区二区三区| 一级黄片播放器| 一级爰片在线观看| 色尼玛亚洲综合影院| 久久久久久久国产电影| 99久久成人亚洲精品观看| 国产精品永久免费网站| 老师上课跳d突然被开到最大视频| 国产又黄又爽又无遮挡在线| 少妇的逼水好多| 夜夜看夜夜爽夜夜摸| 日韩av在线免费看完整版不卡| 国产精品一区二区三区四区久久| 国产淫片久久久久久久久| 中文在线观看免费www的网站| 白带黄色成豆腐渣| 99久久精品热视频| 插阴视频在线观看视频| 精品久久久噜噜| 久久久久免费精品人妻一区二区| 波多野结衣高清无吗| 麻豆国产97在线/欧美| 亚洲四区av| 日韩欧美国产在线观看| 精品国产一区二区三区久久久樱花 | 国产精品乱码一区二三区的特点| 日本色播在线视频| 色播亚洲综合网| 国产一级毛片在线| 国语自产精品视频在线第100页| 精华霜和精华液先用哪个| 我要搜黄色片| 亚洲av电影不卡..在线观看| av卡一久久| 亚洲一区高清亚洲精品| 岛国毛片在线播放| 五月伊人婷婷丁香| 亚洲aⅴ乱码一区二区在线播放| 日本黄色片子视频| 熟妇人妻久久中文字幕3abv| 欧美bdsm另类| 丰满少妇做爰视频| 欧美97在线视频| 亚洲中文字幕一区二区三区有码在线看| 亚洲伊人久久精品综合 | 人人妻人人看人人澡| 久久久久久九九精品二区国产| 精品午夜福利在线看| 国产亚洲精品久久久com| 国产在线一区二区三区精 | 欧美性猛交╳xxx乱大交人| 51国产日韩欧美| 国产激情偷乱视频一区二区| 久久99蜜桃精品久久| 深爱激情五月婷婷| 中文字幕亚洲精品专区| 久久久久久久久久久免费av| 国产高清视频在线观看网站| 亚洲欧美中文字幕日韩二区| 精品久久久久久久人妻蜜臀av| 日本一本二区三区精品| 一边摸一边抽搐一进一小说| 人人妻人人澡人人爽人人夜夜 | 亚洲成人久久爱视频| 国产精品国产三级国产专区5o | 日本wwww免费看| or卡值多少钱| 成人午夜高清在线视频| 午夜精品在线福利| 中文字幕免费在线视频6| a级毛色黄片| 乱系列少妇在线播放| 最近的中文字幕免费完整| 女人被狂操c到高潮| 日本三级黄在线观看| 亚洲人成网站在线播| 成人美女网站在线观看视频| 国产成人午夜福利电影在线观看| 亚洲最大成人中文| 国产精品久久久久久久电影| 日产精品乱码卡一卡2卡三| 免费av毛片视频| 日本爱情动作片www.在线观看| 一级av片app| 亚洲最大成人中文| 国产欧美另类精品又又久久亚洲欧美| 免费在线观看成人毛片| 天天一区二区日本电影三级| 在线免费观看的www视频| 日本欧美国产在线视频| 人人妻人人看人人澡| 人人妻人人澡欧美一区二区| 卡戴珊不雅视频在线播放| 国产久久久一区二区三区| av福利片在线观看| 久久久久久久久久黄片| 久久久色成人| 中文资源天堂在线| 亚洲欧美成人综合另类久久久 | 久久热精品热| 69人妻影院| 蜜桃久久精品国产亚洲av| 人体艺术视频欧美日本| 国国产精品蜜臀av免费| 欧美3d第一页| 大香蕉久久网| 国产亚洲91精品色在线| 国产中年淑女户外野战色| 中文资源天堂在线| 免费av毛片视频| 久久久色成人| kizo精华| 日韩制服骚丝袜av| 国产真实乱freesex| 久久精品熟女亚洲av麻豆精品 | 一区二区三区高清视频在线| 97在线视频观看| 久久国内精品自在自线图片| 大又大粗又爽又黄少妇毛片口| 亚洲第一区二区三区不卡| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 男的添女的下面高潮视频| 最近视频中文字幕2019在线8| 国产亚洲一区二区精品| 亚洲成人av在线免费| 日韩三级伦理在线观看| 秋霞在线观看毛片| 亚洲经典国产精华液单| 色哟哟·www| 桃色一区二区三区在线观看| 亚洲经典国产精华液单| 国产精品日韩av在线免费观看| 国产亚洲一区二区精品| 亚洲av二区三区四区| 亚洲av男天堂| 中文乱码字字幕精品一区二区三区 | 亚洲图色成人| 日韩精品青青久久久久久| 乱人视频在线观看| 国产一级毛片在线| 国产高清不卡午夜福利| 亚洲最大成人av| 女的被弄到高潮叫床怎么办| 免费观看在线日韩| 亚洲国产欧美人成| 亚洲人成网站在线播| 欧美三级亚洲精品| 一级毛片久久久久久久久女| 色尼玛亚洲综合影院| 国产毛片a区久久久久| 高清午夜精品一区二区三区| 男女啪啪激烈高潮av片| 亚洲欧美精品专区久久| 色哟哟·www| 亚洲av熟女| 1024手机看黄色片| 蜜桃亚洲精品一区二区三区| 可以在线观看毛片的网站| 成人高潮视频无遮挡免费网站| 全区人妻精品视频| 午夜日本视频在线| 亚洲av男天堂| 日本av手机在线免费观看| 好男人在线观看高清免费视频| 蜜桃亚洲精品一区二区三区| 18+在线观看网站| 免费观看在线日韩| 国产伦精品一区二区三区视频9| 亚洲综合精品二区| 中文字幕av在线有码专区| 精华霜和精华液先用哪个| 国语对白做爰xxxⅹ性视频网站| 麻豆一二三区av精品| 久久国产乱子免费精品| 一区二区三区乱码不卡18| 天堂av国产一区二区熟女人妻| 少妇人妻一区二区三区视频| 国产淫片久久久久久久久| 国产免费男女视频| 精品久久国产蜜桃| 蜜桃久久精品国产亚洲av| 国产女主播在线喷水免费视频网站 | 免费看美女性在线毛片视频| 亚洲三级黄色毛片| 国产伦精品一区二区三区视频9| av女优亚洲男人天堂| 久久精品国产亚洲av涩爱| 亚洲综合色惰| 成人二区视频| 中文天堂在线官网| 午夜老司机福利剧场| a级一级毛片免费在线观看| 精华霜和精华液先用哪个| 男人和女人高潮做爰伦理| 国产午夜精品论理片| 免费av毛片视频| 午夜激情福利司机影院| 日本免费在线观看一区| 乱人视频在线观看| 国产大屁股一区二区在线视频| 91午夜精品亚洲一区二区三区| 丝袜美腿在线中文| 欧美潮喷喷水| 高清日韩中文字幕在线| 亚洲欧美精品综合久久99| 亚洲欧美精品自产自拍| 男女视频在线观看网站免费| kizo精华| 国产av不卡久久| 免费看日本二区| 国产午夜福利久久久久久| 视频中文字幕在线观看| 国产精品野战在线观看| 国产精品国产三级国产av玫瑰| 国产69精品久久久久777片| 成人亚洲欧美一区二区av| a级毛片免费高清观看在线播放| 精品99又大又爽又粗少妇毛片| 我的老师免费观看完整版| 69人妻影院| 久久精品熟女亚洲av麻豆精品 | 亚洲熟妇中文字幕五十中出| 别揉我奶头 嗯啊视频| 国产三级中文精品| 男插女下体视频免费在线播放| 伦精品一区二区三区| av又黄又爽大尺度在线免费看 | 亚洲精品亚洲一区二区| 免费观看的影片在线观看| 久久99热这里只有精品18| 91精品伊人久久大香线蕉| 亚洲美女搞黄在线观看| 人人妻人人澡人人爽人人夜夜 | 99视频精品全部免费 在线| 九九久久精品国产亚洲av麻豆| 亚洲av熟女| 亚洲国产成人一精品久久久| 高清视频免费观看一区二区 | 3wmmmm亚洲av在线观看| 综合色丁香网| 如何舔出高潮| 九草在线视频观看| eeuss影院久久| 亚洲aⅴ乱码一区二区在线播放| 国产在线一区二区三区精 | АⅤ资源中文在线天堂| 国产中年淑女户外野战色| 美女脱内裤让男人舔精品视频| 超碰av人人做人人爽久久| 啦啦啦观看免费观看视频高清| 少妇被粗大猛烈的视频| 精品国产三级普通话版| 亚洲人与动物交配视频| 国内精品美女久久久久久| 亚洲av熟女| 人人妻人人看人人澡| 国产精品国产三级国产av玫瑰| 午夜爱爱视频在线播放| 日本黄大片高清| 一二三四中文在线观看免费高清| 欧美+日韩+精品| 国产成人精品婷婷| 中文在线观看免费www的网站| 国产 一区精品| 国产精品嫩草影院av在线观看| 伦理电影大哥的女人| 最近视频中文字幕2019在线8| 精品久久久噜噜| 精品国产三级普通话版| 晚上一个人看的免费电影| 日本免费一区二区三区高清不卡| 好男人在线观看高清免费视频| 网址你懂的国产日韩在线| 亚洲av电影在线观看一区二区三区 | av卡一久久| 欧美日韩国产亚洲二区| 97在线视频观看| 男女那种视频在线观看| 精品一区二区免费观看| 女的被弄到高潮叫床怎么办| 亚洲国产精品sss在线观看| 成人av在线播放网站| 亚洲成人av在线免费| 一夜夜www| 久久久久久久久中文| 日韩大片免费观看网站 | 国产av在哪里看| 中文乱码字字幕精品一区二区三区 | 国产精品一区二区三区四区免费观看| 国产黄a三级三级三级人| 午夜久久久久精精品| 五月伊人婷婷丁香| 青春草国产在线视频| 我的老师免费观看完整版| 午夜老司机福利剧场| 黄色配什么色好看| 日韩成人av中文字幕在线观看| 中文字幕av在线有码专区| 亚洲熟妇中文字幕五十中出| 国产成人精品一,二区| 久久99热这里只有精品18| 如何舔出高潮| 精华霜和精华液先用哪个| 国产乱来视频区| 两个人的视频大全免费| 午夜免费激情av| 伦理电影大哥的女人| 青青草视频在线视频观看| 联通29元200g的流量卡| 亚洲精品乱久久久久久| 最近最新中文字幕大全电影3| 国内揄拍国产精品人妻在线| 干丝袜人妻中文字幕| 日韩一本色道免费dvd| 一本一本综合久久| 日本黄色视频三级网站网址| 日本av手机在线免费观看| 亚洲欧美成人精品一区二区| 亚洲内射少妇av| 一级爰片在线观看| 亚洲自偷自拍三级| 夜夜爽夜夜爽视频| 国产av不卡久久| 国产高清三级在线| 最近最新中文字幕免费大全7| 免费黄网站久久成人精品| 精品人妻视频免费看| 在线免费观看不下载黄p国产| 1000部很黄的大片| 久久久久网色| 国产高潮美女av| 国产精华一区二区三区| 午夜福利在线观看免费完整高清在| 午夜老司机福利剧场| h日本视频在线播放| 国产黄片视频在线免费观看| 成人高潮视频无遮挡免费网站| 我要搜黄色片| 国产精品乱码一区二三区的特点| 99国产精品一区二区蜜桃av| 精品少妇黑人巨大在线播放 | 九九在线视频观看精品| 男人的好看免费观看在线视频| 亚洲av二区三区四区| 亚洲国产精品成人综合色| 日韩,欧美,国产一区二区三区 | 国产老妇女一区| 美女内射精品一级片tv| 小说图片视频综合网站| 日本一二三区视频观看| 国产一级毛片七仙女欲春2| 美女cb高潮喷水在线观看| 精品不卡国产一区二区三区| 日韩高清综合在线| 免费观看在线日韩| 亚洲av免费高清在线观看| 高清午夜精品一区二区三区| 亚洲四区av| .国产精品久久| 日韩av在线大香蕉| 国产高清不卡午夜福利| 美女cb高潮喷水在线观看| 女人久久www免费人成看片 | 边亲边吃奶的免费视频| 亚洲国产精品成人久久小说| 国产爱豆传媒在线观看| 免费在线观看成人毛片| 亚洲成人精品中文字幕电影| 蜜桃亚洲精品一区二区三区| 婷婷色综合大香蕉| 亚洲国产成人一精品久久久| 九九久久精品国产亚洲av麻豆| 国产亚洲一区二区精品| 久久久亚洲精品成人影院| 日韩 亚洲 欧美在线| 久久久亚洲精品成人影院| 三级毛片av免费| 国产免费福利视频在线观看| 在线免费十八禁| 麻豆久久精品国产亚洲av| 老司机影院成人| 两个人的视频大全免费| 中文字幕精品亚洲无线码一区| 波多野结衣高清无吗| 在现免费观看毛片| 欧美日韩一区二区视频在线观看视频在线 | 国产免费福利视频在线观看| 能在线免费观看的黄片| 国产精品国产三级专区第一集| 韩国av在线不卡| av在线观看视频网站免费| 欧美丝袜亚洲另类| 少妇人妻一区二区三区视频| 亚洲久久久久久中文字幕| 婷婷六月久久综合丁香| av在线老鸭窝| 国产精品三级大全| 欧美日本视频| 搡老妇女老女人老熟妇| 亚洲色图av天堂| 男女视频在线观看网站免费| 高清视频免费观看一区二区 | 亚州av有码| 99久国产av精品| 少妇丰满av| 九九爱精品视频在线观看| 精品久久久久久电影网 | or卡值多少钱| 国产精品乱码一区二三区的特点| 午夜福利在线观看吧| 夜夜看夜夜爽夜夜摸| 好男人在线观看高清免费视频| 午夜福利高清视频| 色视频www国产| 亚洲成人精品中文字幕电影| 亚洲美女搞黄在线观看| 亚洲精品色激情综合| 99热精品在线国产| 美女xxoo啪啪120秒动态图| 国产精品乱码一区二三区的特点| 欧美成人一区二区免费高清观看| 国产免费一级a男人的天堂| 人妻少妇偷人精品九色| 2021天堂中文幕一二区在线观| 蜜桃亚洲精品一区二区三区| 免费av毛片视频| 一级爰片在线观看| or卡值多少钱| 欧美激情久久久久久爽电影| 亚洲国产最新在线播放| 中文天堂在线官网| 干丝袜人妻中文字幕| 男女下面进入的视频免费午夜| 精品人妻一区二区三区麻豆| 国产片特级美女逼逼视频| 亚洲精品亚洲一区二区| 国产v大片淫在线免费观看| 亚洲欧洲国产日韩| 精品久久久噜噜| 久久久精品94久久精品| 亚洲最大成人中文| 亚洲欧美清纯卡通| 中文字幕av成人在线电影| 成年免费大片在线观看| 久久精品夜夜夜夜夜久久蜜豆| 精品久久久久久久久久久久久| 亚洲av福利一区| 人人妻人人看人人澡| 精品免费久久久久久久清纯| 插逼视频在线观看| 久99久视频精品免费| 亚洲精品,欧美精品| 一卡2卡三卡四卡精品乱码亚洲| АⅤ资源中文在线天堂| 免费av观看视频| av视频在线观看入口| 人体艺术视频欧美日本| 精品人妻熟女av久视频| 亚洲精品久久久久久婷婷小说 | 神马国产精品三级电影在线观看| 亚洲欧美精品综合久久99| 久久久久久伊人网av| 国产精品电影一区二区三区| 日本免费a在线| 老司机影院毛片| 久久久国产成人免费| 2021天堂中文幕一二区在线观| 亚洲人成网站在线播| 亚洲精品色激情综合| 日韩欧美在线乱码| 一个人观看的视频www高清免费观看| 欧美三级亚洲精品| 国产精品国产三级国产专区5o | 精品国内亚洲2022精品成人| 久久综合国产亚洲精品| 免费av不卡在线播放| av女优亚洲男人天堂| 中文欧美无线码| 欧美成人午夜免费资源| 一边亲一边摸免费视频| 国产精品乱码一区二三区的特点| 国产精华一区二区三区| 免费看a级黄色片| 国产久久久一区二区三区| 亚洲av成人av| 欧美日韩国产亚洲二区| 一级毛片我不卡| 国内少妇人妻偷人精品xxx网站| 久久精品久久久久久久性| 精品国产三级普通话版| 国产欧美日韩精品一区二区| 成人午夜高清在线视频| 精品一区二区三区人妻视频| 欧美3d第一页| 国产精品国产三级国产av玫瑰| 日韩欧美在线乱码| 亚洲五月天丁香| ponron亚洲| 欧美3d第一页| 国产一区二区三区av在线| 婷婷色av中文字幕| 26uuu在线亚洲综合色| 亚洲不卡免费看| 亚洲av成人精品一二三区| 日本三级黄在线观看| 99久久精品热视频| 亚洲天堂国产精品一区在线| 欧美性猛交黑人性爽| 大香蕉久久网| 成人av在线播放网站| 亚洲成人中文字幕在线播放| 精品久久久噜噜| 观看美女的网站| 亚洲中文字幕日韩| 成年免费大片在线观看| 色吧在线观看| 国产午夜精品论理片| 日韩高清综合在线| av在线观看视频网站免费| 国产乱人偷精品视频| 九九热线精品视视频播放| 久久久久久久久久久免费av| 亚洲人与动物交配视频| 国产伦精品一区二区三区视频9| 国产欧美日韩精品一区二区| 日韩av在线大香蕉| 22中文网久久字幕| 高清毛片免费看| 国国产精品蜜臀av免费| 国语自产精品视频在线第100页| 成人性生交大片免费视频hd| 欧美bdsm另类| av专区在线播放| 卡戴珊不雅视频在线播放| ponron亚洲| 99热这里只有精品一区| 国产精品日韩av在线免费观看| 白带黄色成豆腐渣| 亚洲人与动物交配视频| 精品一区二区免费观看| 欧美日本视频| 午夜福利视频1000在线观看| 91aial.com中文字幕在线观看| 乱码一卡2卡4卡精品| 成人漫画全彩无遮挡| 全区人妻精品视频| 成人鲁丝片一二三区免费| 丰满人妻一区二区三区视频av| 亚洲性久久影院| 大香蕉97超碰在线| av国产免费在线观看| 精品国内亚洲2022精品成人| 国产免费视频播放在线视频 | 久久久久久国产a免费观看| 免费无遮挡裸体视频| 国产老妇伦熟女老妇高清| 精品久久久久久久久亚洲| 欧美潮喷喷水| 亚洲五月天丁香| 亚洲精品久久久久久婷婷小说 | 26uuu在线亚洲综合色| 久久这里有精品视频免费| 男女视频在线观看网站免费| 欧美又色又爽又黄视频| 真实男女啪啪啪动态图| 一级毛片久久久久久久久女| 国产精品一区二区性色av| 女的被弄到高潮叫床怎么办| 久久久久久国产a免费观看| 欧美最新免费一区二区三区| 国产视频内射| 亚洲国产欧美在线一区| 欧美不卡视频在线免费观看| 午夜激情福利司机影院| 美女黄网站色视频| 少妇熟女aⅴ在线视频| 水蜜桃什么品种好| 久久久久久伊人网av| 国产午夜精品论理片| 1024手机看黄色片| 亚洲欧美成人综合另类久久久 | 午夜福利在线观看吧| 免费看a级黄色片| 亚洲在线观看片| 日韩av在线大香蕉| 日日啪夜夜撸| 成人美女网站在线观看视频| 丝袜美腿在线中文| 2022亚洲国产成人精品| 久久久a久久爽久久v久久| 日日干狠狠操夜夜爽| 日韩av在线免费看完整版不卡| 国产又黄又爽又无遮挡在线| 91在线精品国自产拍蜜月| 在线观看av片永久免费下载| 亚洲国产精品国产精品| 偷拍熟女少妇极品色| 两个人的视频大全免费| 直男gayav资源| 免费观看人在逋| 久久久久久九九精品二区国产| 在线播放国产精品三级| 少妇裸体淫交视频免费看高清| 欧美精品一区二区大全| 精品人妻一区二区三区麻豆| 嫩草影院新地址| 国产乱人视频| 亚洲天堂国产精品一区在线| 91在线精品国自产拍蜜月| 日韩精品青青久久久久久| 国产成人a区在线观看| 毛片一级片免费看久久久久| 国产精品福利在线免费观看|