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

    多核數(shù)字信號(hào)處理器矩陣乘卷積算法性能評測*

    2023-03-09 01:05:48王慶林裴向東廖林玉王浩旭李榮春梅松竹李東升
    關(guān)鍵詞:分塊調(diào)用卷積

    王慶林,裴向東,廖林玉,王浩旭,李榮春,梅松竹,李東升

    (1. 國防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長沙 410073;2. 國防科技大學(xué) 并行與分布處理國防科技重點(diǎn)實(shí)驗(yàn)室, 湖南 長沙 410073)

    隨著人工智能+(artificial intelligence+, AI+)的快速發(fā)展,深度學(xué)習(xí)技術(shù)逐漸在各個(gè)領(lǐng)域?qū)崿F(xiàn)了技術(shù)落地。作為一類代表性深度神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNNs)被廣泛應(yīng)用在各種場景中,如自動(dòng)駕駛[1]、視頻處理[2]、科學(xué)計(jì)算[3]等。在CNNs中,卷積層占據(jù)了大部分的計(jì)算開銷,從而使得卷積層的優(yōu)化成為CNNs網(wǎng)絡(luò)性能的關(guān)鍵,目前成為學(xué)術(shù)界和工業(yè)界研究的熱點(diǎn)。

    實(shí)現(xiàn)卷積層計(jì)算的方法主要有直接卷積[4-5]、快速傅里葉變換(fast Fourier transform, FFT)卷積[6-9]、Winograd卷積[10-11]、矩陣乘卷積[12-14]四種算法。直接卷積算法根據(jù)卷積層的定義直接進(jìn)行實(shí)現(xiàn),為獲得較高的性能,通常需要針對卷積核大小、卷積步長等卷積參數(shù)進(jìn)行優(yōu)化。FFT和Winograd卷積算法分別通過FFT和Winograd轉(zhuǎn)換來降低卷積復(fù)雜度,因此這兩種算法也常被稱為快速卷積算法。盡管如此,快速卷積算法通常只適用于部分卷積配置,如Winograd算法通常只適合于卷積核大小為3×3的情況。矩陣乘卷積算法是將卷積計(jì)算轉(zhuǎn)換為通用矩陣乘操作,是實(shí)現(xiàn)卷積計(jì)算的通用算法,是PyTorch[15]、TensorFlow[16]等深度學(xué)習(xí)框架以及cuDNN[17]、oneDNN[18]等神經(jīng)網(wǎng)絡(luò)庫首要提供的算法。矩陣乘卷積算法可分為顯式算法和隱式算法。如果矩陣轉(zhuǎn)換和矩陣乘融合為一體,則無須存儲(chǔ)完整的轉(zhuǎn)換矩陣,稱為隱式算法,否則稱為顯式算法。本文主要聚焦顯式矩陣乘卷積算法,構(gòu)建完整的轉(zhuǎn)換矩陣,通過調(diào)用已有的矩陣乘函數(shù)庫來實(shí)現(xiàn)卷積計(jì)算,為各種卷積參數(shù)配置提供高性能實(shí)現(xiàn)基礎(chǔ)。

    FT-M7032是國防科技大學(xué)面向E級(jí)計(jì)算自主研發(fā)的一款異構(gòu)通用多核數(shù)字信號(hào)處理器[19](digital signal processors, DSP),由32個(gè)通用DSP核和1個(gè)16核ARMv8 CPU構(gòu)成。在主頻為1.8 GHz時(shí),全芯片的單精度浮點(diǎn)峰值性能高達(dá)11.06 Tflops/s,在科學(xué)計(jì)算和人工智能等領(lǐng)域具有巨大的潛力。在FT-M7032中,計(jì)算能力主要由32個(gè)通用DSP核提供。為了降低芯片面積和功耗,通用DSP核采用基于超長指令字的順序執(zhí)行架構(gòu),并采用軟件控制的存儲(chǔ)作為片上緩存,然后基于直接存儲(chǔ)器存取(direct memory access,DMA)部件進(jìn)行不同存儲(chǔ)層次之間數(shù)據(jù)的傳輸。然而,面向CPU、GPU等芯片的已有算法在FT-M7032上沒法直接運(yùn)行或者沒法實(shí)現(xiàn)高的性能。因此,針對多核DSP的體系結(jié)構(gòu)進(jìn)行算法優(yōu)化是FT-M7032發(fā)揮高性能計(jì)算的必要措施。

    面向FT-M7032處理深度學(xué)習(xí)應(yīng)用的需求,本文結(jié)合其體系結(jié)構(gòu)特征,在詳細(xì)分析了FT-M7032芯片上實(shí)現(xiàn)顯式矩陣乘卷積算法的各種技術(shù)路徑的基礎(chǔ)上,提出了一種面向多核DSP架構(gòu)的高性能并行顯式矩陣乘卷積實(shí)現(xiàn)算法ftmEConv,并采用了不同的卷積配置對算法進(jìn)行了詳細(xì)性能評估。測試結(jié)果顯示,ftmEConv性能均超過了FT-M7032芯片上的其他顯式矩陣乘卷積實(shí)現(xiàn)方法,獲得了高達(dá)7.79倍的加速,最高達(dá)到了42.90%的多核DSP峰值性能。同時(shí),針對算法開銷進(jìn)行了詳細(xì)分析,也為后續(xù)面向FT-M7032的算法優(yōu)化指明了方向。本文工作對于推動(dòng)FT-M7032在人工智能領(lǐng)域的應(yīng)用,以及面向FT-M7032的算法與應(yīng)用優(yōu)化,均具有重要的意義。

    1 相關(guān)定義

    1.1 卷積定義

    本文的研究范圍僅限于二維經(jīng)典卷積,故令卷積的輸入特征圖為I[N][Cd][Hi][Wi][L],輸入卷積核為F[C][Kd][Hf][Wf][L],卷積的輸出特征圖為O[N][Kd][Ho][Wo][L]。其中,N表示輸入特征圖的數(shù)量,Hi/f/o和Wi/f/o分別表示空間上的高度和寬度,L表示硬件向量處理單元并行處理的數(shù)據(jù)寬度,Cd和Kd分別表示輸入通道和輸出通道的分塊數(shù),輸入通道數(shù)為C=Cd×L,輸出通道數(shù)K=Kd×L。卷積計(jì)算中的步長大小標(biāo)記為S,填充大小標(biāo)記為P,則輸出特征圖的高度和寬度分別為:Ho=(Hi+2×P-Hf)/S+1,Wo=(Wi+2×P-Wf)/S+1?;谝陨蠀?shù)表示,深度學(xué)習(xí)領(lǐng)域中的卷積定義如下:

    Fcd×L+cl,kd,hf,wf,kl)

    (1)

    其中,0≤n

    1.2 矩陣乘卷積算法

    矩陣乘卷積算法是將卷積操作直接轉(zhuǎn)換為通用矩陣乘計(jì)算。根據(jù)第1.1節(jié)卷積的定義,矩陣乘卷積的算法大致分為四步,如算法1所示。第一步(Step 1)是輸入特征圖轉(zhuǎn)換,根據(jù)卷積操作的計(jì)算過程將輸入特征圖I轉(zhuǎn)換為A矩陣。該步驟將單個(gè)通道特征圖上的一個(gè)卷積點(diǎn)計(jì)算以及多輸入通道上的累加操作所需來自I的全部元素轉(zhuǎn)換為A矩陣的一行,稱為im2row (image-to-row)操作;如果轉(zhuǎn)換為A矩陣的一列,則稱為im2col (image-to-column) 操作。本文后續(xù)討論中主要涉及im2row操作,A矩陣常采用A[M′][K′]表示,其中M′=N×Ho×Wo,K′=Cd×Hf×Wf×L,同時(shí)也根據(jù)算法的設(shè)計(jì)討論需求采用其準(zhǔn)確的數(shù)據(jù)布局A[N][Ho][Wo][Cd][Hf][Wf][L]表示。第二步(Step 2)將卷積核F轉(zhuǎn)換為B[K′][N′]矩陣,其中N′=K。第三步(Step 3)執(zhí)行矩陣乘操作C=A×B,其中C矩陣大小為M′×N′。第四步(Step 4)將C矩陣轉(zhuǎn)換為卷積的輸出特征圖O。

    算法1 原始矩陣乘卷積算法Alg.1 Original matrix multiplication-based convolutional algorithm

    2 FT-M7032體系結(jié)構(gòu)

    FT-M7032是國防科技大學(xué)面向E級(jí)計(jì)算自主研發(fā)的一款異構(gòu)通用多核DSP,由一個(gè)16核ARMv8 CPU和4個(gè)GPDSP簇構(gòu)成,其整體架構(gòu)如圖1所示。ARMv8 CPU上運(yùn)行Linux操作系統(tǒng),負(fù)責(zé)進(jìn)程與外設(shè)管理以及多芯片之間的通信,單精度浮點(diǎn)峰值性能為281.6 Gflops/s。4個(gè)GPDSP簇提供主要的計(jì)算能力支持,其中每個(gè)GPDSP簇由8個(gè)通用DSP核和大小為6 MB的全局共享內(nèi)存(global shared memory, GSM)通過交叉開關(guān)網(wǎng)絡(luò)連接而成。片上GSM帶寬約為307.2 GB/s。當(dāng)DSP內(nèi)核主頻為1.8 GHz時(shí),單個(gè)GPDSP簇可以提供高達(dá)2.76 Tflops/s的單精度浮點(diǎn)計(jì)算能力。CPU與4個(gè)GPDSP簇共享全局內(nèi)存空間,但每個(gè)GPDSP簇只能訪問對應(yīng)的局部DDR內(nèi)存空間。單個(gè)GPDSP簇對應(yīng)的內(nèi)存空間理論帶寬為42.62 GB/s。

    圖1 FT-M7032芯片的整體架構(gòu)Fig.1 Architecture of FT-M7032

    FT-M7032中單個(gè)DSP核的微架構(gòu)如圖2所示,主要由標(biāo)量處理單元(scalar processing unit, SPU)、向量處理單元(vector processing unit, VPU)、指令調(diào)度單元(instruction fetch unit, IFU)以及DMA部件等構(gòu)成。SPU負(fù)責(zé)標(biāo)量計(jì)算與流程控制,主要包括標(biāo)量處理部件(scalar processing elements, SPE)和64 KB標(biāo)量存儲(chǔ)(scalar memory, SM)。SM與寄存器之間的訪問帶寬為28.8 GB/s。VPU負(fù)責(zé)向量計(jì)算,主要由16個(gè)向量處理部件(vector processing elements,VPE)與768 KB向量存儲(chǔ)(vector memory, AM)構(gòu)成。每個(gè)VPE包含3個(gè)浮點(diǎn)乘累加(floating point multiply accumulator, FMAC)部件、1個(gè)位操作(bit processing, BP)單元以及2個(gè)Store/Load部件,支持6條對應(yīng)指令并行執(zhí)行。16個(gè)VPE以單指令多數(shù)據(jù)(single instruction multiple data, SIMD)的方式協(xié)作運(yùn)行,一次可以處理32個(gè)單精度浮點(diǎn)數(shù)據(jù)(FP32),即對于FP32數(shù)據(jù),L=32。AM每個(gè)周期可以向向量寄存器提供 512 B數(shù)據(jù),即AM與向量寄存器之間的帶寬為921.6 GB/s。

    圖2 FT-M7032中DSP單核微架構(gòu)Fig.2 Micro-architecture of each DSP core in FT-M7032

    3 面向FT-M7032的矩陣乘卷積實(shí)現(xiàn)分析

    對照矩陣乘卷積算法的詳細(xì)步驟以及FT-M7032的體系結(jié)構(gòu)可知,在FT-M7032上實(shí)現(xiàn)高性能矩陣乘卷積算法主要有三種方法。

    第一種方法是將矩陣乘卷積算法的四個(gè)步驟全部運(yùn)行在FT-M7032的16 核ARMv8 CPU上,其中第三步的矩陣乘通過調(diào)用ARMv8 CPU上的BLAS庫來完成。該方法的優(yōu)點(diǎn)是能夠在FT-M7032上快速實(shí)現(xiàn)矩陣乘卷積算法,且工作量較小。但是該方法沒有充分利用FT-M7032中GPDSP簇強(qiáng)大的計(jì)算能力,畢竟GPDSP簇的性能遠(yuǎn)高于16核ARMv8 CPU的性能。為便于后續(xù)的討論與分析,統(tǒng)一將該方法標(biāo)記為Conv-CPU。

    第二種方法是將Conv-CPU中的矩陣乘遷移到其中一個(gè)GPDSP簇上執(zhí)行,即第三步的矩陣乘通過調(diào)用GPDSP簇上的BLAS庫來完成。為了保證CPU對四個(gè)簇的平衡控制,該方法實(shí)現(xiàn)其他三個(gè)步驟時(shí),均只運(yùn)行在單個(gè)GPDSP簇對應(yīng)的四個(gè)CPU核上,即執(zhí)行第一、二與四步驟時(shí),并行的線程數(shù)均為4。為便于后續(xù)的討論與分析,統(tǒng)一將該方法標(biāo)記為Conv-CPU-DSP。

    第三種方法是將矩陣乘卷積算法的四個(gè)步驟全部運(yùn)行在FT-M7032的GPDSP簇上。與前面兩種方法相比,該方法既能充分利用GPDSP簇的計(jì)算能力,也能基于DSP中的DMA部件提升DDR的訪存效率。難點(diǎn)在于如何面向多核DSP的體系結(jié)構(gòu)高效實(shí)現(xiàn)im2row、transformF以及transformO等訪存密集型操作。

    本文面向FT-M7032的矩陣乘卷積算法實(shí)現(xiàn)將采用第三種方法,擬基于AM與GSM相對DDR的高帶寬屬性,通過調(diào)用DMA操作、向量Load/Store操作的方法來高效實(shí)現(xiàn)im2row、transformF以及transformO等訪存密集型操作,并通過集成已有的矩陣乘算法來高效完成矩陣乘操作。為便于后續(xù)的討論與分析,將本文基于第三種方法的實(shí)現(xiàn)統(tǒng)一標(biāo)記為ftmEConv。

    4 面向多核DSP的矩陣乘卷積算法優(yōu)化

    4.1 ftmEConv算法整體設(shè)計(jì)

    基于第3節(jié)的分析,并結(jié)合FT-M7032的體系結(jié)構(gòu)特征,本文提出了面向多核DSP的矩陣乘卷積算法ftmEConv,由六個(gè)步驟構(gòu)成,如算法2所示。第一步(Step 1)將CPU 緩存中的內(nèi)容寫回DDR中。第二步(Step 2)調(diào)用DSP端函數(shù)__im2row( )完成輸入特征圖的轉(zhuǎn)換。第三步(Step 3)調(diào)用DSP端函數(shù)__transformF( )完成卷積核的轉(zhuǎn)換。第四步(Step 4)調(diào)用DSP端函數(shù)__gemm( )完成矩陣乘的計(jì)算。第五步(Step 5)調(diào)用DSP端函數(shù)__transformO( )完成輸出特征圖的轉(zhuǎn)換。第六步(Step 6)作廢CPU Cache中的內(nèi)容,完成卷積運(yùn)算。

    算法2 面向多核DSP的并行矩陣乘卷積算法ftmEConvAlg.2 Parallel matrix multiplication-based convolutional algorithm on multi-core DSP (ftmEConv)

    總的來說,ftmEConv的主要操作過程(輸入特征圖轉(zhuǎn)換、卷積核轉(zhuǎn)換、矩陣乘以及輸出特征圖轉(zhuǎn)換)均運(yùn)行于通用DSP核上,通過有效挖掘通用DSP核的潛力來提升矩陣乘卷積的性能。同時(shí),ftmEConv的設(shè)計(jì)也使得數(shù)據(jù)在CPU端與DSP端之間的轉(zhuǎn)換開銷大幅降低,過程中僅需進(jìn)行一次DSP讀轉(zhuǎn)換(Step 1)和CPU讀轉(zhuǎn)換(Step 6)操作即可。

    4.2 輸入特征圖轉(zhuǎn)換

    結(jié)合GPDSP簇的體系結(jié)構(gòu)特征,本文提出了面向多核DSP的im2row算法的并行實(shí)現(xiàn)方法, 如算法3所示。該實(shí)現(xiàn)方法充分利用了片上AM和GSM相對DDR的高帶寬特性,將輸入特征圖進(jìn)行分塊后傳入AM空間,然后基于DMA函數(shù)先后完成兩個(gè)維度的轉(zhuǎn)換操作。具體為:在分塊參數(shù)計(jì)算方面,鑒于深度學(xué)習(xí)中主流CNNs所處理的輸入特征圖空間維度相對較小等因素,同時(shí)根據(jù)片上AM和GSM空間大小的估計(jì),本文決定將I傳入片上空間最小粒度設(shè)置為Wi×L,即不在Wo維度上進(jìn)行分塊。根據(jù)Wi、Hi、S以及P等參數(shù)計(jì)算將I傳入AM空間擴(kuò)展后的特征圖空間大小W′i=(Wi+2×P+S-1)/S×S、H′i=(Hi+2×P+S-1)/S×S(第1行),從而使得填零后的特征圖每行首個(gè)元素與每個(gè)通道首個(gè)元素均可以成為按步長S橫向滑動(dòng)后的卷積窗口中的首個(gè)元素。在算法3設(shè)計(jì)中,由于擴(kuò)展后的分塊輸入特征圖I′am和轉(zhuǎn)換后的矩陣A′am/gsm分別存儲(chǔ)在不同片上空間中,因此計(jì)算分塊參數(shù)時(shí),以I′am和A′am/gsm中的存儲(chǔ)空間需求最大值來進(jìn)行約束。同時(shí),按以下原則來進(jìn)行分塊大小的調(diào)整:先設(shè)置N、Cd、Ho維度上的分塊大小Nb、Cdb、Hob分別為1;在片上空間限制下,盡可能先增大Hob;如果Hob=Ho,再盡可能增大Cdb;如果Cdb=Cd,然后盡可能增大Nb。

    算法3 im2row操作的并行實(shí)現(xiàn)Alg.3 Parallel implementation of im2row algorithm

    通過算法3中第3~9行的for循環(huán),將輸入特征圖I劃分成形狀為[nb][cdb][hib][Wi][L]的眾多子塊I′ddr,然后采用多個(gè)DSP核分別調(diào)用im2row_kernel()函數(shù)來并行處理不同的子塊。

    im2row_kernel()函數(shù)是本方案中實(shí)現(xiàn)im2row功能的核心函數(shù),一共由五步構(gòu)成,如算法3中第11~16行所示。下面以nb=1、cdb=1、Hib=Hi=3、Wi=3、Hf=Wf=2、S=2以及P=1為例進(jìn)行每一步的詳細(xì)介紹,如圖3所示,其中每一個(gè)元素表示一個(gè)長為L的向量。

    圖3 im2row_kernel()的實(shí)現(xiàn)實(shí)例Fig.3 An implementation example for im2row_kernel()

    第一步(第12行的Step 1):根據(jù)P的情況進(jìn)行AM空間的初始化。如果P不等于0,則意味著卷積計(jì)算過程中需要對特征圖空間進(jìn)行補(bǔ)零操作,本文通過對AM空間提前進(jìn)行快速置零初始化來實(shí)現(xiàn)補(bǔ)零操作;如果P等于0,則跳過此步的初始化。如圖3中所示,由于P等于1,則需將AM空間初始化為零。

    第二步(第13行的Step 2):調(diào)用nb×cdb次DMA函數(shù)將輸入特征圖的子塊Iddr[nb][cdb][hib][Wi][L]傳入AM空間,并完成補(bǔ)零與擴(kuò)展操作,從而將傳入的輸入特征圖子塊擴(kuò)展為AM中的I′am[nb][cdb][h′ib][W′i][L],其中h′ib表示傳入的hib經(jīng)過補(bǔ)零與擴(kuò)展后的大小。在圖3中,W′i=6、h′ib=6;“0”表示補(bǔ)零后產(chǎn)生的向量,這是卷積計(jì)算的需求;“x”表示擴(kuò)展后行和列中的無效向量元素,擴(kuò)展后的子塊在Step 3中即可通過一次DMA函數(shù)調(diào)用完成Wf維度的鋪平轉(zhuǎn)換。

    第三步(第14行的Step 3):調(diào)用一次DMA函數(shù)將AM空間中的I′am[nb][cdb][h′ib][W′i][L]傳輸?shù)紾SM中,轉(zhuǎn)換成Agsm[nb][cdb][h′ib][Wo][Wf][L]。在本步實(shí)現(xiàn)中,將I′am[nb][cdb][h′ib]

    [W′i][L] 當(dāng)作I′am[nb×cdb×h′ib×W′i][L]來處理,通過合理設(shè)置DMA函數(shù)調(diào)用中的源塊數(shù)、源塊大小、源偏移量、目的塊數(shù)、目的塊大小以及目的偏移量來實(shí)現(xiàn)Wf維度的轉(zhuǎn)換,其中通過將目的偏移量設(shè)置為負(fù)值來把矩陣中間擴(kuò)展的“x”去掉。

    第四步(第15行的Step 4):調(diào)用nb×cdb×Hf次DMA函數(shù)將GSM空間Agsm[nb][cdb][h′ib][Wo][Wf][L]傳輸?shù)紸M空間中,變成Aam[nb][hob][Wo][cdb][Hf][Wf][L],其中既涉及Hf維度的鋪平轉(zhuǎn)換,也涉及多個(gè)維度(如hob×Wo維度與cdb維度)之間的轉(zhuǎn)置。

    第五步(第16行的Step 5):調(diào)用一次DMA函數(shù)將Aam[nb][hob][Wo][cdb][Hf][Wf][L]傳輸回DDR空間A[N][Ho][Wo][Cd][Hf][Wf][L]中對應(yīng)位置。

    4.3 卷積核轉(zhuǎn)換

    對于1×1卷積來說,F(xiàn)與B完全相同,因而不需要進(jìn)行任何轉(zhuǎn)換;對于其他如3×3等的卷積來說,需要對F進(jìn)行格式轉(zhuǎn)換,本文的實(shí)現(xiàn)如算法4所示。在分塊方面,由于Hi和Wi通常較小,在實(shí)現(xiàn)中僅需根據(jù)AM空間大小在C和Kd兩個(gè)維度進(jìn)行分塊。單個(gè)GPDSP簇中8個(gè)通用DSP核并行將F分塊后的子塊傳入AM空間(第6行),完成格式轉(zhuǎn)換(第7行),然后傳出到DDR中B的給定位置(第8行)。

    算法4 卷積核張量的并行轉(zhuǎn)換Alg.4 Parallel transformation of filter tensors

    4.4 矩陣乘

    由于面向FT-M7032芯片的軟件生態(tài)尚不完善,特別是如BLAS等數(shù)學(xué)庫均沒有成熟的版本,本文先根據(jù)文獻(xiàn)[20]構(gòu)建了基于N′維度并行的矩陣乘實(shí)現(xiàn)函數(shù)TGEMM。然后,在TGEMM與不規(guī)則形狀矩陣乘函數(shù)庫ftIMM[19]之間根據(jù)N′的大小進(jìn)行選擇,如算法2中第7~11行所示。在TGEMM實(shí)現(xiàn)中,每個(gè)DSP核一次處理N′維度上的分塊大小為96,只有N′≥8×96=768時(shí),才能保證單個(gè)GPDSP簇中8個(gè)DSP核都能分配到相應(yīng)的計(jì)算任務(wù)。為充分發(fā)揮單簇中所有DSP核的并行計(jì)算能力,只有當(dāng)N′≥768時(shí),才調(diào)用TGEMM函數(shù);否則,調(diào)用ftIMM中的優(yōu)化實(shí)現(xiàn)。

    4.5 輸出特征圖轉(zhuǎn)換

    在完成第4.4節(jié)矩陣乘函數(shù)調(diào)用后獲得矩陣C[M′][N′],還需將其轉(zhuǎn)換成卷積的輸出特征圖格式。本文提出了如算法5所示的輸出特征圖張量并行轉(zhuǎn)換算法。在分塊方面,由于主流CNNs中的K相對較小,因而根據(jù)片上AM空間大小,僅在N和Ho×Wo兩個(gè)維度上進(jìn)行分塊。單個(gè)GPDSP簇中8個(gè)通用DSP核并行將分塊后多個(gè)C子塊傳入AM空間(第6行),完成格式轉(zhuǎn)換(第7行),最后傳出到DDR中O的給定位置(第8行)。

    算法5 輸出特征圖張量的并行轉(zhuǎn)換Alg.5 Parallel transformation of output feature maps tensors

    5 性能評估

    5.1 實(shí)驗(yàn)設(shè)置

    本節(jié)主要涉及ftmEConv與第3節(jié)所介紹的Conv-CPU、Conv-CPU-DSP之間的性能對比。其中,Conv-CPU所有部分均運(yùn)行在FT-M7032的16核ARMv8 CPU上,矩陣乘部分直接調(diào)用OpenBLAS v0.3.1[21]中的cblas_sgemm函數(shù)實(shí)現(xiàn);Conv-CPU-DSP中轉(zhuǎn)換部分運(yùn)行在FT-M7032中一個(gè)GPDSP簇對應(yīng)的4個(gè)ARMv8 CPU核上,矩陣乘部分則直接采用ftmEConv中矩陣乘的實(shí)現(xiàn)(第4.4節(jié))。同時(shí),三種算法實(shí)現(xiàn)均在相同的帶寬下運(yùn)行,即所有內(nèi)存空間均分配在一個(gè)GPDSP簇匹配的局部內(nèi)存空間。

    在本節(jié)中涉及三個(gè)指標(biāo)來表示卷積的性能,第一個(gè)是完成卷積計(jì)算的時(shí)間T,第二個(gè)是卷積計(jì)算所到達(dá)的計(jì)算性能Pconv,第三個(gè)是卷積計(jì)算在單個(gè)GPDSP簇上所實(shí)現(xiàn)的計(jì)算效率Econv。三個(gè)指標(biāo)之間的相互關(guān)系如式(2)與式(3)所示,其中Peakgpdsp表示單個(gè)GPDSP簇的峰值性能。

    (2)

    (3)

    5.2 ftmEConv的開銷剖析

    本小節(jié)首先對運(yùn)行在FT-M7032中一個(gè)GPDSP簇上ftmEConv實(shí)現(xiàn)的時(shí)間開銷進(jìn)行深度剖析,然后對ftmEConv、Conv-CPU以及Conv-CPU-DSP三種實(shí)現(xiàn)中占比相對較大的輸入特征圖轉(zhuǎn)換進(jìn)行性能對比分析。

    當(dāng)N=32、Hf=Wf=3、Hi=Wi=28、S=1以及P=0時(shí),ftmEConv中各部分開銷的占比隨C=K取不同值的變化情況如圖4所示。ftmEConv的開銷主要由輸入特征圖轉(zhuǎn)換(輸入轉(zhuǎn)換)、卷積核轉(zhuǎn)換、矩陣乘以及輸出特征圖轉(zhuǎn)換(輸出轉(zhuǎn)換)四部分組成。當(dāng)C=K取不同值時(shí),最耗時(shí)的始終是矩陣乘GEMM與輸入轉(zhuǎn)換im2row兩部分。隨著C=K增大,矩陣乘部分的占比逐漸增大,最大達(dá)到了92.41%,因而矩陣乘的性能是決定矩陣乘卷積性能的關(guān)鍵因素。盡管如此,輸入轉(zhuǎn)換im2row部分也始終占據(jù)一定比例的開銷。在圖4所示的測試中,輸入轉(zhuǎn)換im2row部分開銷占比在5.77%~33.83%之間。

    圖4 ftmEConv在不同通道數(shù)設(shè)置下的開銷分析Fig.4 Overhead analysis of ftmEconv with different channel sizes

    當(dāng)N=32、Hf=Wf=3、Hi=Wi=28、S=1以及P=0時(shí),ftmEConv、Conv-CPU-DSP以及Conv-CPU三種實(shí)現(xiàn)中輸入轉(zhuǎn)換im2row部分的性能隨C=K取不同值的變化情況如圖5所示。

    圖5 三種實(shí)現(xiàn)在不同通道數(shù)設(shè)置下的輸入特征圖轉(zhuǎn)換性能Fig.5 Input transform performance of three implementations with different channel sizes

    本文采用有效帶寬來衡量輸入轉(zhuǎn)換部分的性能,即采用輸入轉(zhuǎn)換部分的理論數(shù)據(jù)訪問量(等于I和A兩個(gè)張量大小之和)除以其耗時(shí)。ftmEConv中的輸入轉(zhuǎn)換部分實(shí)現(xiàn)了24.9~29.97 GB/s的性能,對應(yīng)的DDR帶寬利用效率為58.42%~70.32%。同時(shí),ftmEConv中輸入轉(zhuǎn)換部分顯著優(yōu)于Conv-CPU-DSP與Conv-CPU兩者的實(shí)現(xiàn),分別實(shí)現(xiàn)了高達(dá)3.23倍與3.75倍的性能加速。

    5.3 不同實(shí)現(xiàn)的性能對比

    本小節(jié)將采用不同的卷積參數(shù)配置對ftmEConv、Conv-CPU-DSP以及Conv-CPU三種實(shí)現(xiàn)進(jìn)行全面的性能評測。

    當(dāng)C=K=384、Hf=Wf=3、Hi=Wi=28、S=1以及P=0時(shí),三種實(shí)現(xiàn)性能隨N不同取值的變化情況如圖6所示。ftmEConv的性能Pconv達(dá)到了555.08~686.78 Gflops/s,對應(yīng)的計(jì)算效率Econv為20.08%~24.84%。相比Conv-CPU-DSP,ftmEConv實(shí)現(xiàn)了1.43~1.61倍的性能加速,主要來源于面向多核DSP的三個(gè)轉(zhuǎn)換過程的性能優(yōu)化。相比Conv-CPU,ftmEConv實(shí)現(xiàn)了4.73~5.13倍的性能加速,除了三個(gè)轉(zhuǎn)換過程的優(yōu)化外,也得益于占比最大的矩陣乘部分的性能提升。

    圖6 三種實(shí)現(xiàn)在不同輸入特征圖數(shù)量設(shè)置下的性能Fig.6 Performance of three implementations with different numbers of input feature maps

    當(dāng)N=32、Hf=Wf=3、Hi=Wi=28、S=1以及P=0時(shí),三種實(shí)現(xiàn)性能隨C=K取不同值的變化情況如圖7所示。ftmEConv的性能Pconv隨著C=K增大而逐漸增大,最終達(dá)到了1 186.10 Gflops/s,計(jì)算效率Econv也達(dá)到了42.90%。相比Conv-CPU-DSP與Conv-CPU,ftmEConv分別實(shí)現(xiàn)了1.24~2.10 倍與4.87~7.79倍的性能加速。

    圖7 三種實(shí)現(xiàn)在不同通道數(shù)設(shè)置下的性能Fig.7 Performance of three implementations with different channel sizes

    當(dāng)N=32、C=K=384、Hf=Wf=3、S=1以及P=0時(shí),三種實(shí)現(xiàn)性能隨Hi=Wi取不同值的變化情況如圖8所示。ftmEConv的性能Pconv隨著Hi=Wi減小而逐漸降低,當(dāng)Hi=Wi=7時(shí),Pconv為263.60 Gflops/s。主要原因是隨著Hi=Wi減小,矩陣乘的維度M′快速變小,使得矩陣乘的性能逐漸降低,從而影響了ftmEConv整體的性能。盡管如此,ftmEConv仍然在所有測試卷積層上獲得了優(yōu)于Conv-CPU-DSP與Conv-CPU兩種實(shí)現(xiàn)的性能,相應(yīng)的性能加速比分別為1.19~1.58與2.41~5.07。

    圖8 三種實(shí)現(xiàn)在不同輸入特征圖大小設(shè)置下的性能Fig.8 Performance of three implementations with different input feature maps sizes

    當(dāng)N=32、C=K=384、Hi=Wi=28、S=1以及P=0時(shí),三種實(shí)現(xiàn)性能隨Hf=Wf取不同值的變化情況如圖9所示。ftmEConv的性能Pconv在Hf=Wf=1時(shí)最低,在Hf=Wf=9時(shí)最高,相應(yīng)的計(jì)算效率Econv分別為16.96%與29.35%。相比Conv-CPU-DSP,ftmEConv在Hf=Wf=1時(shí)獲得了最大3.87倍的性能加速,主要是輸入轉(zhuǎn)換與輸出轉(zhuǎn)換部分的開銷占比較大造成的。與Conv-CPU相比,ftmEConv獲得了4.41~6.23倍的性能加速。

    圖9 三種實(shí)現(xiàn)在不同卷積核大小設(shè)置下的性能Fig.9 Performance of three implementations with different kernel sizes

    5.4 在典型網(wǎng)絡(luò)上的性能測試

    在本小節(jié),采用典型網(wǎng)絡(luò)Resnet18[22]中的卷積層來進(jìn)行三種實(shí)現(xiàn)之間的性能對比測試,結(jié)果如圖10所示。在圖10中,橫坐標(biāo)表示來自Resnet18中的不同配置卷積層,其中N均設(shè)置為128。與第5.3節(jié)的性能對比分析結(jié)果相似,在所有測試的卷積層上,ftmEConv均優(yōu)于Conv-CPU-DSP與Conv-CPU兩種實(shí)現(xiàn)。具體而言,ftmEConv獲得了348.42~512.87 Gflops/s的性能,計(jì)算效率為12.60%~18.55%;相比Conv-CPU-DSP與Conv-CPU,分別實(shí)現(xiàn)了1.22~2.85倍與2.80~7.09倍的性能加速。

    圖10 三種實(shí)現(xiàn)在Resnet18網(wǎng)絡(luò)層上的性能Fig.10 Performance of three implementations for convolutional layers of Resnet18

    6 結(jié)論

    本文針對飛騰異構(gòu)多核DSP的體系結(jié)構(gòu)特征與矩陣乘轉(zhuǎn)置操作的特點(diǎn),提出了一種面向多核DSP架構(gòu)的高性能并行顯式矩陣乘卷積實(shí)現(xiàn)算法ftmEConv。ftmEConv由輸入特征圖轉(zhuǎn)換、卷積核轉(zhuǎn)換、矩陣乘以及輸出特征圖轉(zhuǎn)換四個(gè)并行化部分構(gòu)成,四個(gè)部分均運(yùn)行在通用多核DSP上。ftmEConv通過有效挖掘多核DSP的潛力來提升各個(gè)部分的性能,同時(shí)大幅降低了CPU端與DSP端之間的轉(zhuǎn)換開銷。實(shí)驗(yàn)結(jié)果顯示,ftmEconv能夠顯著加快FT-M7032芯片上的矩陣乘卷積操作,其計(jì)算效率最高達(dá)到了42.90%;與FT-M7032芯片上的其他實(shí)現(xiàn)相比,獲得了1.18~7.79倍的性能加速。該項(xiàng)研究對于推動(dòng)國產(chǎn)DSP在人工智能領(lǐng)域的廣泛應(yīng)用具有重要意義。

    下一步將研究面向多核DSP的其他卷積算法實(shí)現(xiàn),以期進(jìn)一步提升FT-M7032芯片上的卷積實(shí)現(xiàn)性能。

    猜你喜歡
    分塊調(diào)用卷積
    基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
    分塊矩陣在線性代數(shù)中的應(yīng)用
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    從濾波器理解卷積
    電子制作(2019年11期)2019-07-04 00:34:38
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    基于傅里葉域卷積表示的目標(biāo)跟蹤算法
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    反三角分塊矩陣Drazin逆新的表示
    基于自適應(yīng)中值濾波的分塊壓縮感知人臉識(shí)別
    基于多分辨率半邊的分塊LOD模型無縫表達(dá)
    91大片在线观看| 精品熟女少妇八av免费久了| 国产成人啪精品午夜网站| 精品高清国产在线一区| 亚洲电影在线观看av| 国产高清激情床上av| 舔av片在线| 亚洲人成电影免费在线| 久久 成人 亚洲| 身体一侧抽搐| 丰满人妻一区二区三区视频av | 亚洲国产精品合色在线| 国产精品久久久av美女十八| 亚洲七黄色美女视频| 国产视频内射| 日韩国内少妇激情av| av天堂在线播放| 国产午夜精品久久久久久| 在线观看免费日韩欧美大片| 人妻丰满熟妇av一区二区三区| 黑人巨大精品欧美一区二区mp4| 亚洲国产精品sss在线观看| 一个人免费在线观看的高清视频| 青草久久国产| 国产99久久九九免费精品| 亚洲国产高清在线一区二区三| 久久精品aⅴ一区二区三区四区| 狠狠狠狠99中文字幕| 国产区一区二久久| 精品高清国产在线一区| 免费看a级黄色片| 亚洲av电影在线进入| 操出白浆在线播放| 91在线观看av| 国产在线观看jvid| 欧美黑人巨大hd| 精品日产1卡2卡| 欧美绝顶高潮抽搐喷水| 在线观看一区二区三区| 亚洲aⅴ乱码一区二区在线播放 | 久久久久久国产a免费观看| 国产欧美日韩一区二区精品| 一区二区三区国产精品乱码| 日本五十路高清| 精品久久久久久久毛片微露脸| 一进一出抽搐动态| 欧美日韩国产亚洲二区| 国产精品香港三级国产av潘金莲| 这个男人来自地球电影免费观看| 人妻丰满熟妇av一区二区三区| 国产一级毛片七仙女欲春2| 免费在线观看完整版高清| 十八禁人妻一区二区| 中文字幕最新亚洲高清| 精品国产亚洲在线| 亚洲熟妇熟女久久| 免费在线观看成人毛片| 国产午夜精品论理片| 精品久久久久久,| 少妇裸体淫交视频免费看高清 | 国产高清视频在线播放一区| 久久久国产精品麻豆| 无人区码免费观看不卡| 亚洲自偷自拍图片 自拍| 久久国产乱子伦精品免费另类| 丝袜美腿诱惑在线| 99热这里只有精品一区 | 日韩欧美 国产精品| 久久精品影院6| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲国产日韩欧美精品在线观看 | 国产高清视频在线播放一区| 国内毛片毛片毛片毛片毛片| 蜜桃久久精品国产亚洲av| 免费无遮挡裸体视频| 国内揄拍国产精品人妻在线| 香蕉国产在线看| 看免费av毛片| 国产精品影院久久| 亚洲国产精品成人综合色| 美女扒开内裤让男人捅视频| 久久久久久免费高清国产稀缺| 国产高清视频在线观看网站| 久久这里只有精品19| 国产亚洲精品综合一区在线观看 | 欧洲精品卡2卡3卡4卡5卡区| 午夜两性在线视频| 淫秽高清视频在线观看| 国产v大片淫在线免费观看| 欧美激情久久久久久爽电影| 婷婷六月久久综合丁香| 国产精华一区二区三区| 国产久久久一区二区三区| 免费观看精品视频网站| 日韩欧美国产一区二区入口| 国产精品一区二区免费欧美| 黑人巨大精品欧美一区二区mp4| 两个人免费观看高清视频| 日韩大码丰满熟妇| 看片在线看免费视频| 久久欧美精品欧美久久欧美| 在线观看美女被高潮喷水网站 | 国产三级在线视频| 中亚洲国语对白在线视频| 中文字幕最新亚洲高清| 悠悠久久av| 亚洲av日韩精品久久久久久密| 非洲黑人性xxxx精品又粗又长| 亚洲国产日韩欧美精品在线观看 | 午夜免费成人在线视频| 亚洲国产精品成人综合色| 一本精品99久久精品77| 此物有八面人人有两片| 人成视频在线观看免费观看| 亚洲精品av麻豆狂野| 人人妻,人人澡人人爽秒播| 制服丝袜大香蕉在线| 老司机福利观看| 黄色成人免费大全| 长腿黑丝高跟| aaaaa片日本免费| 熟妇人妻久久中文字幕3abv| 免费电影在线观看免费观看| 免费在线观看成人毛片| 亚洲午夜精品一区,二区,三区| 久久99热这里只有精品18| 毛片女人毛片| 一本综合久久免费| 1024香蕉在线观看| 非洲黑人性xxxx精品又粗又长| 超碰成人久久| 亚洲av美国av| 久久久国产成人精品二区| 欧美日韩精品网址| 国产一区二区激情短视频| 国产视频内射| 日本黄色视频三级网站网址| 国产精品精品国产色婷婷| 色av中文字幕| 欧美一区二区精品小视频在线| 我要搜黄色片| 黑人欧美特级aaaaaa片| 亚洲乱码一区二区免费版| 亚洲av熟女| 国产又黄又爽又无遮挡在线| 大型黄色视频在线免费观看| av超薄肉色丝袜交足视频| 99热这里只有是精品50| 欧美av亚洲av综合av国产av| 一本久久中文字幕| 亚洲一区二区三区不卡视频| 免费在线观看完整版高清| 黄色片一级片一级黄色片| 一本大道久久a久久精品| 国产蜜桃级精品一区二区三区| 精品欧美国产一区二区三| 午夜日韩欧美国产| 香蕉av资源在线| 久9热在线精品视频| 在线国产一区二区在线| av在线播放免费不卡| 给我免费播放毛片高清在线观看| 99久久99久久久精品蜜桃| 国产一区在线观看成人免费| 国产精华一区二区三区| 欧美日本视频| 日本精品一区二区三区蜜桃| 婷婷丁香在线五月| 老司机靠b影院| 香蕉丝袜av| www.熟女人妻精品国产| 久久人人精品亚洲av| 一边摸一边抽搐一进一小说| 无限看片的www在线观看| 国产精品久久久久久精品电影| 可以在线观看的亚洲视频| 在线十欧美十亚洲十日本专区| 丰满人妻一区二区三区视频av | 免费观看人在逋| 成人亚洲精品av一区二区| 在线观看www视频免费| 俄罗斯特黄特色一大片| 久久久久精品国产欧美久久久| 一区二区三区高清视频在线| 久久天躁狠狠躁夜夜2o2o| 精品国内亚洲2022精品成人| 成人三级黄色视频| 成人av在线播放网站| 日韩国内少妇激情av| 在线免费观看的www视频| 非洲黑人性xxxx精品又粗又长| 精品福利观看| 亚洲性夜色夜夜综合| 法律面前人人平等表现在哪些方面| 久久香蕉精品热| 成在线人永久免费视频| 看免费av毛片| 久久天堂一区二区三区四区| 久久草成人影院| 亚洲精品在线美女| 国产精品久久久久久人妻精品电影| 精品一区二区三区av网在线观看| 欧美黑人精品巨大| 夜夜夜夜夜久久久久| 小说图片视频综合网站| 国产精品精品国产色婷婷| 天堂影院成人在线观看| 国产野战对白在线观看| 丝袜人妻中文字幕| 久久久久久久久免费视频了| 精品少妇一区二区三区视频日本电影| 日韩欧美一区二区三区在线观看| 免费人成视频x8x8入口观看| 日本在线视频免费播放| 亚洲 欧美 日韩 在线 免费| 亚洲成人国产一区在线观看| 别揉我奶头~嗯~啊~动态视频| 麻豆一二三区av精品| 好男人电影高清在线观看| 99在线人妻在线中文字幕| av福利片在线| 亚洲国产精品合色在线| 亚洲人成77777在线视频| 在线播放国产精品三级| 18禁黄网站禁片免费观看直播| 给我免费播放毛片高清在线观看| 国产精品99久久99久久久不卡| 午夜福利免费观看在线| 日韩大尺度精品在线看网址| 他把我摸到了高潮在线观看| 91麻豆av在线| 免费看a级黄色片| 青草久久国产| 一级黄色大片毛片| 亚洲精品中文字幕一二三四区| 黑人欧美特级aaaaaa片| 久久婷婷人人爽人人干人人爱| 免费在线观看成人毛片| 久久久久久人人人人人| 两性夫妻黄色片| 看片在线看免费视频| 18禁观看日本| 男人的好看免费观看在线视频 | 国产高清视频在线观看网站| 一个人免费在线观看的高清视频| www.精华液| 欧美+亚洲+日韩+国产| 1024视频免费在线观看| 日韩精品中文字幕看吧| 一个人免费在线观看的高清视频| 日日夜夜操网爽| 婷婷六月久久综合丁香| 欧美极品一区二区三区四区| 2021天堂中文幕一二区在线观| 亚洲成av人片免费观看| 精品不卡国产一区二区三区| 一个人观看的视频www高清免费观看 | 午夜福利视频1000在线观看| 国产精品一区二区精品视频观看| 亚洲一码二码三码区别大吗| 特级一级黄色大片| 亚洲国产欧美人成| 精品国内亚洲2022精品成人| 日本精品一区二区三区蜜桃| 最新美女视频免费是黄的| 中文字幕人成人乱码亚洲影| 亚洲人成伊人成综合网2020| 国产午夜福利久久久久久| 国产成人精品无人区| 亚洲国产欧美网| 亚洲国产欧洲综合997久久,| 国产aⅴ精品一区二区三区波| av国产免费在线观看| 午夜激情福利司机影院| 国产精品久久久久久久电影 | 最近视频中文字幕2019在线8| 久久国产精品人妻蜜桃| 欧美黑人精品巨大| 熟女少妇亚洲综合色aaa.| 久久欧美精品欧美久久欧美| bbb黄色大片| 日韩中文字幕欧美一区二区| 18美女黄网站色大片免费观看| 亚洲专区字幕在线| 欧美性猛交╳xxx乱大交人| 怎么达到女性高潮| 欧美黄色片欧美黄色片| 中文字幕最新亚洲高清| 国产精品久久久久久精品电影| 老司机午夜福利在线观看视频| 又粗又爽又猛毛片免费看| 黄片大片在线免费观看| 亚洲欧美精品综合一区二区三区| 久久亚洲真实| 老司机深夜福利视频在线观看| 国产三级黄色录像| 国产精品电影一区二区三区| 亚洲av成人av| 最近最新中文字幕大全电影3| av欧美777| 女人被狂操c到高潮| 男人舔奶头视频| 麻豆国产av国片精品| 欧美成人午夜精品| 精品久久久久久久末码| 免费无遮挡裸体视频| 一个人免费在线观看电影 | 人人妻,人人澡人人爽秒播| 后天国语完整版免费观看| 国产精品98久久久久久宅男小说| 母亲3免费完整高清在线观看| 成人永久免费在线观看视频| 我要搜黄色片| 免费在线观看视频国产中文字幕亚洲| 欧美日韩乱码在线| 老司机深夜福利视频在线观看| 国产一区二区三区在线臀色熟女| 可以在线观看毛片的网站| 亚洲男人天堂网一区| 国产精品 欧美亚洲| 美女免费视频网站| 久久久久久亚洲精品国产蜜桃av| 午夜福利18| 亚洲人成伊人成综合网2020| 国产av在哪里看| 亚洲成人久久爱视频| 免费在线观看影片大全网站| 麻豆成人午夜福利视频| 久久久久久人人人人人| 国产精品美女特级片免费视频播放器 | 999久久久国产精品视频| 午夜福利视频1000在线观看| 国产一级毛片七仙女欲春2| 日韩高清综合在线| 欧美成人午夜精品| 午夜福利视频1000在线观看| 在线观看免费视频日本深夜| 男插女下体视频免费在线播放| av福利片在线观看| 亚洲精品久久国产高清桃花| 午夜两性在线视频| 欧美乱妇无乱码| 国产精品久久久久久久电影 | 日韩av在线大香蕉| 亚洲国产精品合色在线| 啪啪无遮挡十八禁网站| 国产精品1区2区在线观看.| 18禁美女被吸乳视频| 久久精品亚洲精品国产色婷小说| 51午夜福利影视在线观看| 亚洲一区二区三区不卡视频| 一夜夜www| 老司机深夜福利视频在线观看| 久久人妻福利社区极品人妻图片| 欧美日本视频| 精品免费久久久久久久清纯| 欧美不卡视频在线免费观看 | 每晚都被弄得嗷嗷叫到高潮| 在线观看免费午夜福利视频| 神马国产精品三级电影在线观看 | av欧美777| 一卡2卡三卡四卡精品乱码亚洲| 亚洲欧美日韩无卡精品| 中出人妻视频一区二区| av欧美777| 法律面前人人平等表现在哪些方面| 国产精品香港三级国产av潘金莲| 欧美国产日韩亚洲一区| 亚洲成人国产一区在线观看| 国内精品久久久久精免费| 亚洲精品美女久久久久99蜜臀| 国内精品久久久久精免费| 亚洲18禁久久av| 精品国产乱子伦一区二区三区| 日本精品一区二区三区蜜桃| 免费一级毛片在线播放高清视频| 国产精品爽爽va在线观看网站| 亚洲中文日韩欧美视频| 精品国产乱码久久久久久男人| 又黄又粗又硬又大视频| 欧美zozozo另类| 亚洲午夜精品一区,二区,三区| 色播亚洲综合网| 亚洲欧美精品综合一区二区三区| 午夜福利视频1000在线观看| 少妇粗大呻吟视频| aaaaa片日本免费| 亚洲美女黄片视频| 校园春色视频在线观看| 香蕉av资源在线| 两个人看的免费小视频| 老汉色av国产亚洲站长工具| 久久久久久久久中文| 成在线人永久免费视频| 欧美日韩瑟瑟在线播放| 18美女黄网站色大片免费观看| 国产亚洲av高清不卡| 黄片大片在线免费观看| 欧美一区二区精品小视频在线| 无人区码免费观看不卡| 亚洲国产精品999在线| 人妻久久中文字幕网| av欧美777| 正在播放国产对白刺激| 波多野结衣高清作品| 日日爽夜夜爽网站| 丝袜美腿诱惑在线| 老熟妇乱子伦视频在线观看| 高清毛片免费观看视频网站| 一进一出抽搐gif免费好疼| 黄色片一级片一级黄色片| 亚洲 国产 在线| xxxwww97欧美| 在线视频色国产色| 三级毛片av免费| 亚洲精品中文字幕在线视频| 久久这里只有精品19| 午夜福利高清视频| 亚洲欧美日韩高清专用| 老汉色∧v一级毛片| 操出白浆在线播放| 无遮挡黄片免费观看| 一卡2卡三卡四卡精品乱码亚洲| 国产蜜桃级精品一区二区三区| 九色国产91popny在线| 变态另类丝袜制服| 国产午夜精品论理片| 男女下面进入的视频免费午夜| 国产v大片淫在线免费观看| 久久亚洲精品不卡| 黄色丝袜av网址大全| 天堂动漫精品| 亚洲国产日韩欧美精品在线观看 | 天天添夜夜摸| 曰老女人黄片| 成年人黄色毛片网站| 天天躁夜夜躁狠狠躁躁| 国产成人欧美在线观看| 两个人免费观看高清视频| 男女那种视频在线观看| 九九热线精品视视频播放| 特级一级黄色大片| 免费看十八禁软件| 欧美一区二区精品小视频在线| aaaaa片日本免费| 国产一区在线观看成人免费| 九色国产91popny在线| 国产三级黄色录像| 天天一区二区日本电影三级| www.www免费av| 久久久久久人人人人人| 国产单亲对白刺激| 他把我摸到了高潮在线观看| 亚洲精品av麻豆狂野| 叶爱在线成人免费视频播放| 一二三四在线观看免费中文在| 香蕉国产在线看| 国产精品影院久久| 亚洲国产中文字幕在线视频| 亚洲精品美女久久久久99蜜臀| 9191精品国产免费久久| 欧美zozozo另类| 日本黄色视频三级网站网址| 精品无人区乱码1区二区| www日本黄色视频网| 制服人妻中文乱码| 淫秽高清视频在线观看| 曰老女人黄片| 国产欧美日韩一区二区精品| 无遮挡黄片免费观看| 成人18禁在线播放| 19禁男女啪啪无遮挡网站| 国产午夜精品论理片| 最近最新免费中文字幕在线| 成人av一区二区三区在线看| 精品久久蜜臀av无| 久久中文看片网| 麻豆一二三区av精品| 日日干狠狠操夜夜爽| 一区二区三区激情视频| 女警被强在线播放| 国产不卡一卡二| 九色国产91popny在线| videosex国产| 欧美不卡视频在线免费观看 | 日韩欧美精品v在线| 高清在线国产一区| 国产一区二区激情短视频| 日韩国内少妇激情av| 一本久久中文字幕| 久久欧美精品欧美久久欧美| 亚洲国产精品久久男人天堂| 日韩三级视频一区二区三区| 不卡av一区二区三区| 桃红色精品国产亚洲av| 人人妻,人人澡人人爽秒播| 欧美中文综合在线视频| АⅤ资源中文在线天堂| 亚洲最大成人中文| 后天国语完整版免费观看| 亚洲美女黄片视频| 久久人妻av系列| 亚洲性夜色夜夜综合| 一二三四在线观看免费中文在| 操出白浆在线播放| 国内揄拍国产精品人妻在线| 亚洲精品av麻豆狂野| 成人午夜高清在线视频| 麻豆久久精品国产亚洲av| 国产成人欧美在线观看| 深夜精品福利| 国产成+人综合+亚洲专区| 国产成人影院久久av| 此物有八面人人有两片| 丰满人妻熟妇乱又伦精品不卡| 亚洲精品粉嫩美女一区| 日韩精品中文字幕看吧| 成人av在线播放网站| 99re在线观看精品视频| 99精品在免费线老司机午夜| 久久久久久久精品吃奶| 少妇粗大呻吟视频| 熟女少妇亚洲综合色aaa.| 变态另类丝袜制服| 手机成人av网站| 一级作爱视频免费观看| 日韩精品免费视频一区二区三区| 啦啦啦韩国在线观看视频| 最近最新中文字幕大全免费视频| 亚洲成人久久性| 成熟少妇高潮喷水视频| 久久香蕉国产精品| 亚洲午夜精品一区,二区,三区| 一级作爱视频免费观看| 日韩精品免费视频一区二区三区| 国产激情偷乱视频一区二区| av超薄肉色丝袜交足视频| 成人国产一区最新在线观看| 欧美中文综合在线视频| 午夜福利免费观看在线| 国产精品亚洲一级av第二区| av片东京热男人的天堂| 欧美黄色片欧美黄色片| 日韩国内少妇激情av| 精品欧美国产一区二区三| 五月伊人婷婷丁香| 丁香六月欧美| 1024视频免费在线观看| 最好的美女福利视频网| 亚洲在线自拍视频| 在线观看美女被高潮喷水网站 | 久久久久国内视频| 人人妻,人人澡人人爽秒播| 一本精品99久久精品77| 在线观看美女被高潮喷水网站 | 麻豆av在线久日| 精品人妻1区二区| 精品第一国产精品| 亚洲欧美一区二区三区黑人| 黄色 视频免费看| 色av中文字幕| 久久久久久久午夜电影| 在线观看免费视频日本深夜| 女人被狂操c到高潮| 亚洲av成人av| 国产黄片美女视频| 精品无人区乱码1区二区| 国产91精品成人一区二区三区| 搡老熟女国产l中国老女人| 久久九九热精品免费| 99re在线观看精品视频| 真人做人爱边吃奶动态| 久久久久国内视频| 天天躁狠狠躁夜夜躁狠狠躁| 国内精品久久久久精免费| 亚洲国产精品成人综合色| 97碰自拍视频| xxx96com| 亚洲av熟女| 久久精品人妻少妇| 成人18禁高潮啪啪吃奶动态图| 18禁美女被吸乳视频| 国内少妇人妻偷人精品xxx网站 | 国产视频一区二区在线看| 久久久国产成人精品二区| 亚洲熟妇熟女久久| 久热爱精品视频在线9| xxxwww97欧美| 亚洲国产欧洲综合997久久,| 免费无遮挡裸体视频| 国产日本99.免费观看| 亚洲18禁久久av| 精品福利观看| 国产97色在线日韩免费| 亚洲精品美女久久久久99蜜臀| 午夜激情av网站| 国产区一区二久久| 亚洲熟妇熟女久久| 小说图片视频综合网站| 久久草成人影院| 视频区欧美日本亚洲| 久久精品91蜜桃| 国产v大片淫在线免费观看| 哪里可以看免费的av片| 婷婷精品国产亚洲av| 国内精品久久久久久久电影| 免费在线观看完整版高清| 少妇熟女aⅴ在线视频| 可以在线观看的亚洲视频| 黄色女人牲交| 国产伦在线观看视频一区| 精品欧美国产一区二区三| 欧美黑人精品巨大| 国产亚洲精品综合一区在线观看 | 日韩免费av在线播放|