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

    基于TVM平臺的MEC卷積算法優(yōu)化

    2023-01-13 11:58:10王朝聞李遠(yuǎn)成
    關(guān)鍵詞:內(nèi)存運(yùn)算卷積

    王朝聞,蔣 林,李遠(yuǎn)成,朱 筠

    1.西安科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,西安 710600

    2.西安郵電大學(xué) 電子工程學(xué)院,西安 710121

    近年來,隨著深度學(xué)習(xí)的快速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[1]在計(jì)算機(jī)視覺[2]、計(jì)算機(jī)圖形學(xué)[3]等傳統(tǒng)領(lǐng)域都取得了很大的突破,并且逐漸應(yīng)用到其他領(lǐng)域,例如自動駕駛、風(fēng)險(xiǎn)評估等。卷積神經(jīng)網(wǎng)絡(luò)通常由卷積層、池化層、激活層和全連接層等網(wǎng)絡(luò)層組成[4],其中卷積層的計(jì)算性能幾乎決定整個卷積神經(jīng)網(wǎng)絡(luò)的性能。以ResNet18[5]為例其網(wǎng)絡(luò)結(jié)構(gòu)包含17個卷積層和1個全連接層。因此,針對卷積層計(jì)算速度進(jìn)行優(yōu)化具有重要意義。

    當(dāng)前,影響卷積層計(jì)算速度的主要因素有處理速度和內(nèi)存占用效率,學(xué)者們主要從這兩方面對卷積算法展開研究。在處理速度方面,主要的卷積計(jì)算方法有Im2col+GEMM[6]。Im2col+GEMM將輸入矩陣轉(zhuǎn)換成多個列向量,并重組為中間矩陣,隨后調(diào)用BLAS中高度優(yōu)化的GEMM方法進(jìn)行矩陣乘法運(yùn)算。該方法的優(yōu)點(diǎn)在于把卷積計(jì)算轉(zhuǎn)換為矩陣乘法,并利用高度優(yōu)化的GEMM方法對其進(jìn)行加速;但是,該方法產(chǎn)生的中間矩陣內(nèi)存占用效率低。為了解決這個問題,學(xué)者們在內(nèi)存占用效率方面提出了新的卷積算法。文獻(xiàn)[7]基于Im2col算法提出了卷積算法MEC(memory efficient convolution)。該算法將輸入矩陣轉(zhuǎn)換成的多個列向量按行高這一維度進(jìn)行展開后,再重組為中間矩陣,然后,將中間矩陣劃分成小矩陣同卷積核進(jìn)行矩陣乘法運(yùn)算。同Im2col相比,MEC算法大幅降低了內(nèi)存占用。但是,MEC算法因?yàn)榉侄尉仃嚨刂凡粚R[8],訪問的數(shù)據(jù)地址不連續(xù),導(dǎo)致其矩陣存儲不符合神經(jīng)網(wǎng)絡(luò)使用的以行主序進(jìn)行存儲的編程語言存儲方式,致使MEC算法存在cache命中率低,內(nèi)存訪問延時(shí)長的問題。

    針對上述問題,本文提出一種針對MEC的優(yōu)化算法。首先,該方法將MEC算法中原有的列優(yōu)先數(shù)據(jù)訪問方式改進(jìn)為行優(yōu)先訪問方式。其次,修改卷積核矩陣的數(shù)據(jù)排列方式,減少訪問數(shù)據(jù)的時(shí)間。最后,利用線程庫對算法并行加速,有效提高了運(yùn)算速度。實(shí)驗(yàn)結(jié)果表明,相較于MEC算法,本文提出的優(yōu)化算法在單個卷積層上平均獲得了50%的時(shí)間速度提升,在多層神經(jīng)網(wǎng)絡(luò)中最低獲得了57%以上的速度提升。同空間組合算法相比,最高獲得了80%的速度提升。

    1 MEC算法分析

    本文針對MEC進(jìn)行優(yōu)化,MEC算法卷積過程如圖1所示,計(jì)算過程主要分為兩步:中間矩陣轉(zhuǎn)換和矩陣乘法。卷積過程中輸入矩陣通常采用四維矩陣存儲數(shù)據(jù),即批次(batch)、通道(channel)、高度(height)和寬度(weight),分別用N、C、H、W表示。參與運(yùn)算的矩陣有輸入矩陣(input)、中間矩陣(lower)、卷積核矩陣(kernel)和輸出矩陣(output),分別用I、L、K和O表示。本章討論的MEC算法中,輸入矩陣采用二維表示,即N=1,C=1,H=1,W=7。使用二維數(shù)據(jù)可以排除其他維度干擾,更加直觀地對MEC算法進(jìn)行理解,同時(shí)分析算法中存在的不足。

    圖1 MEC算法計(jì)算過程Fig.1 Calculation process of MEC algorithm

    1.1 中間矩陣轉(zhuǎn)換過程分析

    中間矩陣轉(zhuǎn)換作為MEC算法的第一步,主要負(fù)責(zé)把原始輸入矩陣I轉(zhuǎn)換成中間矩陣L。如圖1所示,首先,讀取輸入矩陣中A=I[0∶7,0∶3]部分的每個值,并將其組織成中間矩陣L的第一行。然后,以步長S(步長為滑窗每次移動的距離,默認(rèn)步長為1)作為滑動距離,滑動窗口W至矩陣B=I[0∶7,1∶4]處,讀取矩陣B中數(shù)據(jù),組織成中間矩陣L的第二行。以此類推,完成從輸入矩陣到中間矩陣的轉(zhuǎn)換。

    如圖1所示,MEC算法在讀取輸入矩陣時(shí),采用分段讀取的方式,且每段劃分都以列為主。這種劃分方式不適應(yīng)矩陣在內(nèi)存中行優(yōu)先的存儲方式,每段數(shù)據(jù)間的地址不連續(xù),導(dǎo)致cache命中率降低,訪存延時(shí)長。

    1.2 矩陣乘法過程分析

    MEC算法第二步是矩陣乘法,將中間矩陣與卷積核矩陣相乘得到輸出矩陣。首先,把中間矩陣分成{P,Q,R,S,T}五個子矩陣,每個子矩陣的大小由(OW×(KW×KH)=5×9)決定,子矩陣之間的距離由(SH×KW=3)決定;其次,將卷積核矩陣按行展開成列向量;最后,把5個子矩陣分別與列向量相乘,例如,子矩陣P59=L[0∶5,3∶12]與卷積核相乘時(shí),得到輸出矩陣O中P行,Q與K相乘得到矩陣O的Q行,以此類推完成矩陣乘法運(yùn)算,得到輸出矩陣O。這種方法很大程度上減少了原始Im2col卷積的內(nèi)存開銷。同時(shí),根據(jù)MEC算法的特性,每次只計(jì)算輸出矩陣中的一個值,可以充分利用并行庫進(jìn)行加速。

    在矩陣乘法中,MEC算法讀取中間矩陣的方式不符合行優(yōu)先的存儲方式。并且,隨著輸入通道數(shù)IC和輸出通道數(shù)OC的增加,卷積核矩陣大小也隨之增加,如何加快卷積核矩陣的處理速度成為不可忽視的一點(diǎn)。

    綜上所述,為解決MEC算法中存在的問題,需要充分利用訪存模式中空間特征和時(shí)間特征,修改計(jì)算順序和數(shù)據(jù)在內(nèi)存中的排列方式(即數(shù)據(jù)布局),以解決訪問的數(shù)據(jù)地址不連續(xù)的問題,從而提高cache命中率,降低訪存延時(shí)。

    2 MEC算法訪存模式

    訪存模式是指算法或程序在訪問存儲器件時(shí)所體現(xiàn)出的規(guī)律,其規(guī)律主要有兩種:空間特征和時(shí)間特征。時(shí)間特征指數(shù)據(jù)使用的頻度和生命期,典型應(yīng)用是最近最少替換策略,將一段時(shí)間內(nèi)最長時(shí)間未被訪問的數(shù)據(jù)塊替換出去。空間特征指空間局部性原理,典型應(yīng)用是數(shù)據(jù)預(yù)讀取技術(shù),將所取數(shù)據(jù)及相近的數(shù)據(jù)塊一同取到緩存中。在下次計(jì)算單元需要數(shù)據(jù)時(shí),從緩存中讀取,無需從內(nèi)存中取數(shù)據(jù),從而減少訪存延時(shí)[9]。

    卷積運(yùn)算過程中所涉及的數(shù)據(jù)以矩陣形式進(jìn)行存儲,矩陣在內(nèi)存中有行主序和列主序兩種存儲方式[10],如圖2所示,行主序在存儲矩陣時(shí)按行寫入內(nèi)存,列主序存儲時(shí)按列寫入內(nèi)存。矩陣在內(nèi)存中的存儲方式由編程語言決定,C++和Python等神經(jīng)網(wǎng)絡(luò)使用的語言,其矩陣的存儲方式為行主序。優(yōu)化算法只針對矩陣存儲方式為行主序的編程語言,本文使用的編程語言為Python。

    圖2 不同設(shè)備中內(nèi)存組織形式Fig.2 Memory organization in different devices

    為解決原有算法cache命中率低等問題,本文結(jié)合訪存模式中兩種訪存特征,提出一種針對MEC算法的優(yōu)化思想,主要使用兩種方法來解決訪問數(shù)據(jù)地址不連續(xù)的問題,進(jìn)而提高cache命中率。第一種方法利用預(yù)讀取技術(shù),改變數(shù)據(jù)在內(nèi)存中的組織模式,把數(shù)據(jù)組織成計(jì)算單元可以順序使用計(jì)算的形式;第二種方法結(jié)合空間特征和時(shí)間特征,改變原有算法復(fù)雜的計(jì)算順序,將其修改成按行計(jì)算的順序。通過這兩種方法可以加快讀取速度,提升整體的計(jì)算性能。基于此優(yōu)化思想,本文將在第3章提出針對MEC的優(yōu)化算法。

    3 針對MEC的優(yōu)化算法

    為進(jìn)一步提升卷積計(jì)算性能,本文針對MEC算法,提出了一種能夠增加cache命中率,降低內(nèi)存訪問延時(shí)的優(yōu)化算法。這里,使用第2章提出的優(yōu)化思想對MEC算法進(jìn)行優(yōu)化,分成單通道和多通道兩小節(jié)對優(yōu)化算法進(jìn)行說明。對于單通道卷積部分,討論計(jì)算順序的調(diào)整方式,對多通道卷積部分,討論數(shù)據(jù)布局優(yōu)化等操作。

    3.1 單通道卷積優(yōu)化方法

    單通道卷積分為矩陣轉(zhuǎn)換和矩陣運(yùn)算兩部分,矩陣轉(zhuǎn)換部分如圖3(a)所示,本文重新設(shè)計(jì)輸入矩陣的讀取方式,將原有讀取方式改為行優(yōu)先讀取。首先,對輸入矩陣區(qū)域按行進(jìn)行劃分,依次劃分成{P,Q,R,S,T,U,V}7個行向量。然后,分別對7個行向量進(jìn)行處理。例如,對于行向量P=I[1,1∶7],采用核矩陣寬度KW=3作為滑塊寬度。具體轉(zhuǎn)換步驟如下:第一步,讀取區(qū)域PA=P(1∶3),將數(shù)據(jù)按序填充到中間矩陣P′區(qū)域A′行所示部分(P′A′)。第二步,以步長SH=1作為步幅向右滑動滑塊,得到{PA,PB,PC,PD,PE}5個子向量,分別填充到中間矩陣L中對應(yīng){P′A′,P′B′,P′C′,P′D′,P′E′}部分,完成從輸入矩陣P到中間矩陣P′的轉(zhuǎn)換。最后,向量P處理完成后,對輸入矩陣中剩余行向量進(jìn)行處理,重復(fù)上述過程得到中間矩陣L。在矩陣轉(zhuǎn)換過程中,行向量的處理過程相互獨(dú)立,沒有數(shù)據(jù)間依賴關(guān)系,可以利用加速庫進(jìn)行加速。

    圖3 優(yōu)化算法單通道計(jì)算過程Fig.3 Single channel calculation process of optimization algorithm

    矩陣運(yùn)算部分如圖3(b)所示,根據(jù)1.2節(jié)可知,對于矩陣運(yùn)算部分,原有算法讀取中間矩陣的方式比較復(fù)雜,為簡化原有算法讀取步驟,加快讀取速度,本文更改了參與矩陣運(yùn)算的順序。與修改矩陣轉(zhuǎn)換過程類似,按行讀取中間矩陣。例如,行向量A′=L[1,1∶21]是矩陣運(yùn)算讀取的第一部分,具體運(yùn)算步驟如下。首先,讀取向量A′中長度為KH×KW=9的數(shù)據(jù),將讀取的數(shù)據(jù)與卷積核向量K進(jìn)行點(diǎn)積,得到輸出矩陣O的值O11。其次,取核向量K的長度作為滑塊大小,按照步長KW×IC=3的距離向右滑動滑塊,得到的數(shù)據(jù)分別與K相乘,直至滑塊到達(dá)向量A的末尾,得到輸出矩陣O中的A″列。最后,分別對{B,C,D,E}做相同處理,對應(yīng)得到矩陣O的{B″,C″,D″,E″}列。在矩陣運(yùn)算過程中,參與矩陣運(yùn)算的各部分相互獨(dú)立,可以利用并行加速。

    3.2 多通道卷積優(yōu)化方法

    本節(jié)介紹優(yōu)化算法中輸入矩陣中間矩陣轉(zhuǎn)換過程,卷積核矩陣數(shù)據(jù)布局變化以及對卷積計(jì)算方式的修改過程。

    輸入矩陣到中間矩陣的轉(zhuǎn)換過程如圖4所示,采用IN×IH×IW×IC(NHWC)作為輸入矩陣的數(shù)據(jù)布局,多通道卷積增加批次(IN)和輸入通道(IC)兩個維度。如圖4中含有3個批次,不同顏色代表不同通道,每個批次內(nèi)采用二維方式表示三維數(shù)據(jù)(寬、高以及輸入通道)。與3.1節(jié)中間矩陣轉(zhuǎn)換類似,優(yōu)化算法將列優(yōu)先讀取方式修改為行優(yōu)先。與單通道卷積中間矩陣轉(zhuǎn)換不同的是,多通道卷積需要對批次和通道數(shù)進(jìn)行處理。優(yōu)化算法使用NHWC作為輸入矩陣的數(shù)據(jù)布局,為使讀取輸入矩陣的數(shù)據(jù)地址連續(xù),采用從內(nèi)到外的順序進(jìn)行轉(zhuǎn)換,即按照CWHN的順序?qū)斎刖仃囘M(jìn)行讀取轉(zhuǎn)換,優(yōu)先轉(zhuǎn)換通道數(shù),再依次轉(zhuǎn)換寬、高,最后轉(zhuǎn)換批次,完成從輸入矩陣到中間矩陣的轉(zhuǎn)換。

    圖4 優(yōu)化算法多通道計(jì)算過程Fig.4 Multi-channel calculation process of optimization algorithm

    與輸入矩陣相同,參與卷積運(yùn)算的卷積核矩陣同樣有4個維度,分別為寬(KW)、高(KH)、輸入通道數(shù)(IC)和輸出通道數(shù)(OC)。通常,卷積核大小為KW×KH,一個輸入矩陣對應(yīng)一套卷積核,一套卷積核內(nèi)包含IC個卷積核,一套卷積核可與輸入矩陣進(jìn)行卷積運(yùn)算得到一個單通道輸出矩陣。OC套卷積核分別與輸入矩陣卷積得到OC個輸出矩陣,即多通道輸出矩陣。與輸入矩陣(NHWC)進(jìn)行運(yùn)算的卷積核矩陣通常采用KH×KW×IC×OC(HWIO)作為數(shù)據(jù)布局,將卷積運(yùn)算轉(zhuǎn)換為矩陣乘法,利用BLAS庫中高度優(yōu)化的gemm函數(shù)進(jìn)行加速。本文使用TVM作為優(yōu)化算法的實(shí)現(xiàn)平臺,將卷積核矩陣的數(shù)據(jù)布局修改為符合MEC算法訪存模式的OC×KH×KW×IC(OHWI)布局方式。如圖4所示,依次按照輸入通道數(shù)、寬和高的順序?qū)⒁惶拙矸e核展開成行向量,分別對OC套卷積核進(jìn)行展開,得到行高為OC,列寬為IC×KW×KH的卷積核矩陣。

    最后,利用TVM內(nèi)置計(jì)算函數(shù)對原有算法運(yùn)算方式作出改進(jìn),具體運(yùn)算步驟如下:首先,將第一個批次的中間矩陣依次與卷積核矩陣的每一行相乘,得到一個批次的三通道輸出矩陣。其次,對剩余批次重復(fù)上述步驟,得到完整的結(jié)果。最后,對輸出結(jié)果進(jìn)行整理,對運(yùn)算結(jié)果進(jìn)行矩陣變換。這種運(yùn)算方式中,訪問核矩陣的順序?yàn)樾袃?yōu)先,符合算法訪存模式,加快讀取速度。同時(shí),采用分批次對矩陣進(jìn)行處理,可以利用TVM內(nèi)置的并行庫對卷積運(yùn)算進(jìn)行加速。

    3.3 優(yōu)化算法代價(jià)分析

    優(yōu)化算法在多通道卷積中通過修改了卷積核的數(shù)據(jù)布局和矩陣運(yùn)算的計(jì)算方式加快運(yùn)算速度,但是,優(yōu)化過程中存在一定程度上的不足。進(jìn)行卷積時(shí),需要將中間矩陣和卷積核矩陣經(jīng)過計(jì)算得到輸出結(jié)果,但由于輸出結(jié)果的數(shù)據(jù)布局同輸入矩陣的數(shù)據(jù)布局不匹配,需要進(jìn)行布局轉(zhuǎn)換,在優(yōu)化算法中,進(jìn)行布局轉(zhuǎn)換的方式為矩陣轉(zhuǎn)置。

    矩陣轉(zhuǎn)置過程如圖5所示,優(yōu)化算法主要對寬、高和批次3個維度進(jìn)行轉(zhuǎn)置,取N=1,W=3,H=3,C=3,不同顏色代表不同通道數(shù)。在轉(zhuǎn)置過程中,首先,依次讀取結(jié)果矩陣中各通道的第一列第一個值,排列成輸出矩陣中第一行相鄰的3個值,即圖中1、2、3號值的位置變化。其次,對各通道的第一列上的其余值進(jìn)行轉(zhuǎn)換,排列成輸出矩陣的一行。最后,對各通道的其他列依次重復(fù)上述過程,得到完整的輸出矩陣。在轉(zhuǎn)置過程中可以看出,在讀取結(jié)果矩陣時(shí),順序讀取的兩個值之間通常相隔的長度為H,由第二章提到的數(shù)據(jù)預(yù)讀取技術(shù)可知,讀取數(shù)據(jù)時(shí)會將相鄰數(shù)據(jù)存入cache中,但是讀取結(jié)果矩陣時(shí)數(shù)據(jù)跨度大,導(dǎo)致cache命中率降低,轉(zhuǎn)置時(shí)間增加,對優(yōu)化算法的計(jì)算速度造成了一定的影響,這也是算法以后需要改進(jìn)的地方。

    圖5 輸入矩陣轉(zhuǎn)置過程Fig.5 Input matrix transpose process

    4 實(shí)驗(yàn)和結(jié)果分析

    4.1 實(shí)驗(yàn)平臺

    本文使用x86架構(gòu)CPU,基于TVM[11]編譯器對MEC算法進(jìn)行優(yōu)化,通過設(shè)計(jì)多組實(shí)驗(yàn)驗(yàn)證該算法的計(jì)算性能。TVM針對多樣的硬件體系結(jié)構(gòu)與模型定義,在模型定義和后端代碼實(shí)現(xiàn)之間的轉(zhuǎn)換部分進(jìn)行了高度優(yōu)化,使模型可以更好地部署到各個硬件平臺[12]。硬件平臺CPU型號為Intel Core i5-10400CPU@2.90 GHz,支持AVX2[13]矢量指令集,可以更好地對計(jì)算進(jìn)行加速。

    4.2 測試集及實(shí)驗(yàn)方案

    4.2.1 測試集

    本文使用單個卷積層和3個多層神經(jīng)網(wǎng)絡(luò)模型對優(yōu)化算法進(jìn)行測試。對于單個卷積層,這里從當(dāng)前流行的神經(jīng)網(wǎng)絡(luò)模型中選取了11個不同規(guī)模的卷積層作為優(yōu)化算法的測試集,測試集規(guī)模如表1所示。分別對MEC算法、優(yōu)化算法以及空間組合算法(spatial pack)進(jìn)行測試。文獻(xiàn)[14]中使用了空間組合算法,采用分治的思想,將輸入矩陣的高和寬均勻分成若干份,分別對每一部分進(jìn)行卷積運(yùn)算,作為一種高效的卷積算法??臻g組合算法同優(yōu)化算法類似,對輸入矩陣進(jìn)行劃分,只需在填充(padding)時(shí)增加額外的存儲空間,減少了存儲空間占用,同時(shí)也采用修改讀取順序的方式對卷積算法進(jìn)行優(yōu)化。

    表1 測試集規(guī)模Table 1 Test sets size

    對于多層神經(jīng)網(wǎng)絡(luò),采用PyTorch官方提供的預(yù)訓(xùn)練模型,包含ResNet18、ResNet101以及DenseNet121網(wǎng)絡(luò)。分別使用MEC算法和優(yōu)化算法作為神經(jīng)網(wǎng)絡(luò)模型的卷積層算法,對3種模型進(jìn)行前向推理測試。ResNet網(wǎng)絡(luò)由何凱明提出,使用殘差學(xué)習(xí)解決了神經(jīng)網(wǎng)絡(luò)因深度過深導(dǎo)致過擬合的問題;DenseNet由劉壯提出,優(yōu)點(diǎn)在于緩解了梯度消失問題,加強(qiáng)了特征傳播,極大地減少了參數(shù)量[15]。預(yù)訓(xùn)練模型由網(wǎng)絡(luò)上公開的數(shù)據(jù)集ImageNet[16]對網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練后得到,包含完整的模型參數(shù)[17],可以直接使用預(yù)訓(xùn)練模型進(jìn)行推理測試,本文選用ImageNet中推理子集作為多層神經(jīng)網(wǎng)絡(luò)的測試集。

    4.2.2 實(shí)驗(yàn)方案

    對于單個卷積層,11個測試集采用0~1之間的隨機(jī)浮點(diǎn)數(shù)作為輸入矩陣和卷積核矩陣的數(shù)據(jù),使用TVM平臺自帶的優(yōu)化庫對MEC算法、優(yōu)化算法和空間組合算法進(jìn)行加速優(yōu)化,其中,對空間組合算法中輸入矩陣的劃分,由TVM給出最佳劃分方法。對3種算法進(jìn)行相同批次下前向計(jì)算性能測試,分別統(tǒng)計(jì)在不同測試集上的計(jì)算時(shí)間,連續(xù)測試100次取平均值。

    文獻(xiàn)[8]中的算法同樣是對MEC算法進(jìn)行優(yōu)化,稱為MFCA算法,該算法針對GPU架構(gòu),針對內(nèi)存進(jìn)行優(yōu)化,本文的算法針對CPU中x86架構(gòu),針對速度進(jìn)行優(yōu)化。因此,本文未同MFCA算法進(jìn)行對比。

    對于多層神經(jīng)網(wǎng)絡(luò),使用TVM加載預(yù)訓(xùn)練模型,從ImageNet測試集中取6張圖片分別對MEC算法和優(yōu)化算法進(jìn)行推理測試,每張圖片重復(fù)推理10次取平均值。

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

    4.3.1 單個卷積層時(shí)間性能比較

    對于11個測試集100組輸入的測試,優(yōu)化算法相比于MEC算法的加速效果如圖6所示,分別獲取中間矩陣轉(zhuǎn)換、中間矩陣讀取和整個卷積過程的運(yùn)行時(shí)間,圖中使用的公式如下,設(shè)MEC運(yùn)行時(shí)間為Tmec,優(yōu)化算法運(yùn)行時(shí)間為Topt,速度提升為Tspeedup,則計(jì)算公式為:

    從圖6中可以看出,優(yōu)化算法中間矩陣轉(zhuǎn)換的性能比MEC算法平均提升10%以上,其中,測試集1、3、6和7提升效果明顯優(yōu)于其他測試集,結(jié)合表1中數(shù)據(jù)規(guī)??芍谔幚磔^大規(guī)模的矩陣時(shí),MEC算法中一次所需處理的行數(shù)增多,根據(jù)程序訪存特性可知,增加了訪存時(shí)間。優(yōu)化算法采用按行讀取策略,充分利用訪存特性,使得cache命中率明顯提升,加快轉(zhuǎn)換速度。

    圖6 優(yōu)化算法中間矩陣轉(zhuǎn)換速度和讀取速度提升Fig.6 Improvement of intermediate matrix conversion and reading speed of optimization algorithm

    如表2和圖6所示,本文分別獲取每個測試用例中間矩陣的規(guī)模以及兩個算法的數(shù)據(jù)讀取時(shí)間進(jìn)行對比。由于步長的存在,把中間矩陣的規(guī)模修改成參與運(yùn)算的規(guī)模,數(shù)據(jù)讀取時(shí)間的獲取方式為單獨(dú)訪問矩陣,不進(jìn)行與核函數(shù)的乘法運(yùn)算。

    表2 中間矩陣數(shù)據(jù)規(guī)模Table 2 Data size of intermediate matrix

    由表2可知,與原有MEC算法相比,優(yōu)化算法訪問中間矩陣數(shù)據(jù)的速度明顯加快,較原有算法平均提升了20%。表中8~11測試數(shù)據(jù)中,在中間矩陣列寬不變,行寬較小時(shí),優(yōu)化算法的訪問速度提升不明顯,但隨著行寬的增加,優(yōu)化算法的訪問速度提升更加明顯,最高時(shí)訪問速度提升了40%,這符合本文對優(yōu)化算法的分析。最后,本文獲取了卷積計(jì)算的整體時(shí)間,如圖7所示。

    圖7 優(yōu)化算法總體卷積速度提升Fig.7 Improvement of overall convolution speed of optimization algorithm

    結(jié)合表1可以發(fā)現(xiàn),在輸入矩陣的寬高較小且通道數(shù)較多時(shí),優(yōu)化算法都能取得50%以上的提升。這是因?yàn)橹虚g矩陣L的行高由OW決定,列寬大小由IH×KW×IC決定。隨著通道數(shù)IC的增加,中間矩陣的列寬也會跟著增加,通常會增加到行高OW的幾十倍。再加上本文對卷積核矩陣數(shù)據(jù)的重新排列,使得優(yōu)化算法符合程序的訪存特性,增加cache命中率,從而降內(nèi)存訪問延時(shí),提高整體的計(jì)算性能。

    但是,優(yōu)化算法也有明顯不足,如圖7中1、2和圖8所示,優(yōu)化算法的速度提升不明顯,甚至有些許下降。這里獲取了優(yōu)化算法轉(zhuǎn)置所耗時(shí)間(Tt)同優(yōu)化算法整體時(shí)間的時(shí)間比,計(jì)算公式為:

    圖8 轉(zhuǎn)置時(shí)間占比Fig.8 Ratio of transpose time

    本文在3.3節(jié)提到,得到輸出矩陣之前,需要對計(jì)算得到的結(jié)果矩陣進(jìn)行轉(zhuǎn)置操作,對于較大規(guī)模矩陣,需要讀取的數(shù)據(jù)間隔較大,造成轉(zhuǎn)置時(shí)間一定程度增加,這是速度提升不明顯的主要因素。從圖7和圖8對比可以看出,轉(zhuǎn)置時(shí)間占用較大的測試序列速度提升不明顯,轉(zhuǎn)置時(shí)間占用較小的測試序列速度提升明顯,呈負(fù)相關(guān)關(guān)系,證明了轉(zhuǎn)置過程一定程度上影響了優(yōu)化算法的運(yùn)算速度。

    將優(yōu)化算法同MEC算法進(jìn)行對比之后,對空間組合算法和優(yōu)化算法的運(yùn)行時(shí)間進(jìn)行了對比,其中,Tspatial表示空間組合算法所用時(shí)間,Topt為優(yōu)化算法所用時(shí)間,計(jì)算公式如下:

    從對比結(jié)果可以看出,優(yōu)化算法整體上的運(yùn)算速度明顯優(yōu)于空間組合算法(如圖9),除測試序列6外,其余均有30%以上的速度提升。其中測試序列4~5、9~11的速度提升都在60%以上,結(jié)合表1可以看出,這些測試序列采用的高H和寬W都較小,而通道數(shù)C較大,根據(jù)第3章優(yōu)化算法介紹得知,此種情況下,中間矩陣的寬會增加,更有利于增加優(yōu)化算法的cache命中率,使得優(yōu)化算法速度提升明顯。而在1~3、6~8中,優(yōu)化算法速度提升略低,這是因?yàn)殡S著矩陣寬和高的增加,空間組合算法可以發(fā)揮分治的優(yōu)勢,將矩陣切分成合適的數(shù)量進(jìn)行卷積。最后,測試序列6出現(xiàn)了空間組合算法速度提升優(yōu)于優(yōu)化算法的現(xiàn)象,這是因?yàn)閮?yōu)化算法不適合處理寬高較大,通道數(shù)較少的矩陣,同時(shí),空間組合算法適合處理此種情況。因此,從實(shí)驗(yàn)數(shù)據(jù)可以看出,優(yōu)化算法整體上優(yōu)于空間組合算法。

    圖9 優(yōu)化算法卷積同空間組合算法速度提升Fig.9 Optimization algorithm convolution and spatial combination algorithm speed improvement

    4.3.2 多層卷積網(wǎng)絡(luò)時(shí)間性能比較

    在TVM平臺中實(shí)現(xiàn)MEC卷積算法和優(yōu)化算法,分別替換卷積層中的卷積算法為MEC和優(yōu)化算法,使用ResNet18、ResNet101和DenseNet121這3種神經(jīng)網(wǎng)絡(luò)模型作為推理測試模型的實(shí)驗(yàn)結(jié)果如圖10所示。這里設(shè)使用MEC算法作為卷積的神經(jīng)網(wǎng)絡(luò)運(yùn)算時(shí)間為Tmecnn,使用優(yōu)化算法作為卷積的神經(jīng)網(wǎng)絡(luò)運(yùn)算時(shí)間為Toptnn,則速度提升Tsunn計(jì)算公式為:

    圖10 不同網(wǎng)絡(luò)模型性能對比Fig.10 Performance comparison of different network models

    本次實(shí)驗(yàn)分別獲取不同網(wǎng)絡(luò)模型下兩種算法的時(shí)間比,如圖10所示,在ResNet18網(wǎng)絡(luò)中,相比MEC算法,優(yōu)化算法的速度提升了57%以上。在更深層的ResNet101網(wǎng)絡(luò)中,優(yōu)化算法的性能提升平均在75%以上。兩者對比可以發(fā)現(xiàn),隨著網(wǎng)絡(luò)層數(shù)加深,速度提升更明顯,這是因?yàn)镽esNet101中含有更多卷積層,每個卷積層都得到不同程度的加速,使得優(yōu)化算法對性能提升更加明顯。最后,在近幾年新興的神經(jīng)網(wǎng)絡(luò)DenseNet中,優(yōu)化算法獲得了75%的速度提升。由此可以看出,相較于使用MEC作為卷積算法的神經(jīng)網(wǎng)絡(luò)模型,使用優(yōu)化算法作為卷積算法的網(wǎng)絡(luò)模型有更加良好的性能提升。

    5 結(jié)束語

    MEC卷積算法是處理內(nèi)存占用過高的選擇之一,但是,MEC算法的運(yùn)算速度同樣重要。因此,本文提出一種針對MEC的卷積優(yōu)化算法。優(yōu)化方法采用兩種,首先,對輸入矩陣和中間矩陣的處理方式進(jìn)行優(yōu)化,將原有的訪問方式修改為行優(yōu)先訪問,使得訪問順序符合程序訪存模式。然后,本文更改了卷積核的數(shù)據(jù)布局,使用TVM封裝的計(jì)算函數(shù)對卷積的計(jì)算方式進(jìn)行優(yōu)化,修改卷積計(jì)算方式為行乘以行。此外,本文還利用TVM平臺的優(yōu)化方法對算法進(jìn)行優(yōu)化加速,達(dá)到提高卷積計(jì)算性能的目的。實(shí)驗(yàn)結(jié)果表明,優(yōu)化算法相較于MEC算法,獲得不同程度的性能加速。在測試不同規(guī)模的單層卷積時(shí)獲得了平均50%的性能提升,此外,本文將優(yōu)化算法和MEC算法集成到TVM平臺中,使用ResNet18、ResNet101和DenseNet121神經(jīng)網(wǎng)絡(luò)模型作為測試模型,分別獲得57%、75%和75%的速度提升。同時(shí),本文將優(yōu)化算法同空間組合算法進(jìn)行對比,獲得了最高80%的速度提升,進(jìn)一步驗(yàn)證了本文提出的優(yōu)化算法的有效性。

    猜你喜歡
    內(nèi)存運(yùn)算卷積
    重視運(yùn)算與推理,解決數(shù)列求和題
    基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
    有趣的運(yùn)算
    “春夏秋冬”的內(nèi)存
    從濾波器理解卷積
    電子制作(2019年11期)2019-07-04 00:34:38
    基于傅里葉域卷積表示的目標(biāo)跟蹤算法
    “整式的乘法與因式分解”知識歸納
    撥云去“誤”學(xué)乘除運(yùn)算
    一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識別方法
    基于內(nèi)存的地理信息訪問技術(shù)
    人妻一区二区av| 新久久久久国产一级毛片| 亚洲av欧美aⅴ国产| 久久精品熟女亚洲av麻豆精品| 国产精品熟女久久久久浪| 黑人欧美特级aaaaaa片| 久久久精品区二区三区| 国产区一区二久久| 国产真人三级小视频在线观看| 桃红色精品国产亚洲av| 国产精品熟女久久久久浪| 99精国产麻豆久久婷婷| 国产亚洲一区二区精品| 午夜福利影视在线免费观看| 91老司机精品| 汤姆久久久久久久影院中文字幕| 午夜福利一区二区在线看| 99久久人妻综合| 免费在线观看影片大全网站| 亚洲精品成人av观看孕妇| 精品久久久精品久久久| 搡老熟女国产l中国老女人| 精品少妇久久久久久888优播| 国产精品 欧美亚洲| av又黄又爽大尺度在线免费看| 亚洲人成伊人成综合网2020| 亚洲精品在线观看二区| 国产男女内射视频| 日韩成人在线观看一区二区三区| 狂野欧美激情性xxxx| 1024香蕉在线观看| 无限看片的www在线观看| 国产精品欧美亚洲77777| 亚洲免费av在线视频| 国产欧美亚洲国产| 国产精品九九99| 久久久久久久精品吃奶| 国产在线视频一区二区| 天天影视国产精品| 999久久久国产精品视频| 亚洲成人手机| 欧美另类亚洲清纯唯美| tocl精华| 国产在线视频一区二区| 久久婷婷成人综合色麻豆| 脱女人内裤的视频| 狠狠狠狠99中文字幕| 国产高清激情床上av| 午夜激情av网站| 在线观看舔阴道视频| netflix在线观看网站| 黄色毛片三级朝国网站| 亚洲 欧美一区二区三区| 国产精品一区二区在线不卡| 国产精品一区二区免费欧美| 一级片'在线观看视频| 国产成人欧美在线观看 | 老熟妇乱子伦视频在线观看| 在线观看免费高清a一片| 中文字幕最新亚洲高清| 老司机福利观看| 中文字幕人妻熟女乱码| 大香蕉久久成人网| 亚洲av第一区精品v没综合| 老鸭窝网址在线观看| 99riav亚洲国产免费| 久久精品成人免费网站| 中国美女看黄片| 18在线观看网站| 这个男人来自地球电影免费观看| 男女下面插进去视频免费观看| 亚洲欧美一区二区三区黑人| 露出奶头的视频| 黄色怎么调成土黄色| 亚洲精品中文字幕一二三四区 | 菩萨蛮人人尽说江南好唐韦庄| 超色免费av| 亚洲精品中文字幕一二三四区 | 久久久久久久久免费视频了| 色尼玛亚洲综合影院| 亚洲成人国产一区在线观看| 十八禁高潮呻吟视频| 国产亚洲一区二区精品| 黑人巨大精品欧美一区二区mp4| 一二三四在线观看免费中文在| 老熟妇乱子伦视频在线观看| 午夜激情av网站| 日韩一区二区三区影片| 悠悠久久av| 国产亚洲av高清不卡| 12—13女人毛片做爰片一| 黑人巨大精品欧美一区二区mp4| 国产精品98久久久久久宅男小说| 9色porny在线观看| 亚洲综合色网址| 大片电影免费在线观看免费| 2018国产大陆天天弄谢| 两性夫妻黄色片| 日本a在线网址| 久久天躁狠狠躁夜夜2o2o| 久久99一区二区三区| 汤姆久久久久久久影院中文字幕| 久久中文字幕一级| 亚洲av日韩在线播放| 久久亚洲真实| 99在线人妻在线中文字幕 | 美女视频免费永久观看网站| 亚洲欧美精品综合一区二区三区| 午夜91福利影院| 黑人操中国人逼视频| 亚洲情色 制服丝袜| 一级毛片电影观看| 高清av免费在线| av网站在线播放免费| 成人国语在线视频| 日本撒尿小便嘘嘘汇集6| 亚洲天堂av无毛| 丝袜人妻中文字幕| 最近最新中文字幕大全免费视频| 亚洲精品粉嫩美女一区| 亚洲成人国产一区在线观看| 久久毛片免费看一区二区三区| 国产免费av片在线观看野外av| 又大又爽又粗| 亚洲黑人精品在线| av超薄肉色丝袜交足视频| 亚洲一卡2卡3卡4卡5卡精品中文| 成人国产av品久久久| av不卡在线播放| 99国产精品一区二区三区| 国产亚洲一区二区精品| 亚洲全国av大片| 欧美黑人精品巨大| 亚洲成人国产一区在线观看| 国产一区二区三区在线臀色熟女 | 日日爽夜夜爽网站| 99国产精品99久久久久| 欧美性长视频在线观看| 在线 av 中文字幕| 一二三四在线观看免费中文在| 女人被躁到高潮嗷嗷叫费观| 老汉色∧v一级毛片| 少妇粗大呻吟视频| 老熟女久久久| 精品视频人人做人人爽| 在线观看舔阴道视频| 婷婷丁香在线五月| 少妇的丰满在线观看| 色尼玛亚洲综合影院| 熟女少妇亚洲综合色aaa.| 午夜免费鲁丝| 免费不卡黄色视频| 成人国产av品久久久| 亚洲精品一卡2卡三卡4卡5卡| 日韩一区二区三区影片| 日韩 欧美 亚洲 中文字幕| 精品国产一区二区三区四区第35| 精品一区二区三卡| 亚洲视频免费观看视频| 久久久欧美国产精品| 亚洲精品一二三| 狠狠婷婷综合久久久久久88av| 欧美日韩福利视频一区二区| 国产成人欧美在线观看 | 满18在线观看网站| 老司机亚洲免费影院| 国产在视频线精品| 在线观看66精品国产| 人人妻,人人澡人人爽秒播| 国产一区有黄有色的免费视频| 国产在线一区二区三区精| av线在线观看网站| 一个人免费看片子| 高清视频免费观看一区二区| 免费高清在线观看日韩| 如日韩欧美国产精品一区二区三区| 成人国语在线视频| 2018国产大陆天天弄谢| 久久热在线av| 老司机在亚洲福利影院| 丝袜喷水一区| 欧美激情极品国产一区二区三区| 十八禁人妻一区二区| 亚洲成a人片在线一区二区| 免费久久久久久久精品成人欧美视频| 亚洲av片天天在线观看| 王馨瑶露胸无遮挡在线观看| 国产精品1区2区在线观看. | 久久人人爽av亚洲精品天堂| 水蜜桃什么品种好| 国产主播在线观看一区二区| 精品免费久久久久久久清纯 | 一进一出抽搐动态| 人人妻人人添人人爽欧美一区卜| 亚洲精品成人av观看孕妇| 国产在线观看jvid| 日韩视频一区二区在线观看| 一区二区三区精品91| 欧美一级毛片孕妇| 亚洲专区字幕在线| 日韩成人在线观看一区二区三区| 欧美日韩视频精品一区| 一级a爱视频在线免费观看| 人妻 亚洲 视频| 国产伦人伦偷精品视频| 黄片播放在线免费| 在线观看一区二区三区激情| 日本一区二区免费在线视频| 欧美 亚洲 国产 日韩一| 999久久久国产精品视频| 国产福利在线免费观看视频| av网站在线播放免费| 欧美日韩精品网址| 久久人妻福利社区极品人妻图片| 搡老乐熟女国产| 老熟女久久久| 亚洲熟女精品中文字幕| 亚洲精品一卡2卡三卡4卡5卡| 性高湖久久久久久久久免费观看| 久久国产精品人妻蜜桃| 欧美在线黄色| 欧美日韩一级在线毛片| 午夜两性在线视频| 亚洲一码二码三码区别大吗| 王馨瑶露胸无遮挡在线观看| 国产一区二区三区综合在线观看| av一本久久久久| 亚洲av成人不卡在线观看播放网| 久久天躁狠狠躁夜夜2o2o| 精品高清国产在线一区| 欧美变态另类bdsm刘玥| 18禁裸乳无遮挡动漫免费视频| 精品国产亚洲在线| 大型av网站在线播放| 啦啦啦在线免费观看视频4| 日韩视频在线欧美| 性少妇av在线| 18禁观看日本| 丝袜人妻中文字幕| 手机成人av网站| 国产亚洲欧美在线一区二区| 天堂8中文在线网| 搡老岳熟女国产| 十八禁人妻一区二区| 一本大道久久a久久精品| 99国产精品免费福利视频| 亚洲成a人片在线一区二区| 国产亚洲一区二区精品| 久久免费观看电影| 一本久久精品| 国产成人精品在线电影| av国产精品久久久久影院| 乱人伦中国视频| 久久人妻熟女aⅴ| 久久久久视频综合| 亚洲va日本ⅴa欧美va伊人久久| 日韩精品免费视频一区二区三区| 久久天躁狠狠躁夜夜2o2o| 国产人伦9x9x在线观看| 老司机在亚洲福利影院| 午夜福利欧美成人| 俄罗斯特黄特色一大片| 国产欧美日韩综合在线一区二区| 国产在线精品亚洲第一网站| 建设人人有责人人尽责人人享有的| 国产成人系列免费观看| av在线播放免费不卡| 国产精品九九99| 国产精品久久久久久人妻精品电影 | 日韩视频一区二区在线观看| 亚洲国产av新网站| 亚洲中文日韩欧美视频| 亚洲成人免费av在线播放| 欧美激情极品国产一区二区三区| 亚洲七黄色美女视频| 老司机午夜十八禁免费视频| 亚洲精品久久午夜乱码| 亚洲专区国产一区二区| 伊人久久大香线蕉亚洲五| 考比视频在线观看| 一级,二级,三级黄色视频| 91麻豆av在线| 久久99热这里只频精品6学生| 亚洲一区中文字幕在线| 午夜视频精品福利| 国产免费av片在线观看野外av| 9热在线视频观看99| 国产亚洲一区二区精品| tube8黄色片| 91精品三级在线观看| 亚洲精品自拍成人| 99热网站在线观看| xxxhd国产人妻xxx| 麻豆乱淫一区二区| 国产真人三级小视频在线观看| 欧美日韩中文字幕国产精品一区二区三区 | 国产成人免费无遮挡视频| 麻豆乱淫一区二区| 久久久欧美国产精品| 1024视频免费在线观看| 一级片'在线观看视频| 九色亚洲精品在线播放| 国产不卡一卡二| 日本a在线网址| 午夜激情久久久久久久| 欧美精品啪啪一区二区三区| 免费黄频网站在线观看国产| 肉色欧美久久久久久久蜜桃| 亚洲国产中文字幕在线视频| av不卡在线播放| 韩国精品一区二区三区| 久久天堂一区二区三区四区| 色精品久久人妻99蜜桃| 欧美中文综合在线视频| 大片免费播放器 马上看| 少妇粗大呻吟视频| 美女午夜性视频免费| 黄色视频,在线免费观看| 国产精品亚洲av一区麻豆| 国产日韩一区二区三区精品不卡| 女同久久另类99精品国产91| 欧美在线黄色| 男女下面插进去视频免费观看| 国产成人免费观看mmmm| 欧美国产精品va在线观看不卡| 啦啦啦免费观看视频1| 美女高潮到喷水免费观看| 精品熟女少妇八av免费久了| 午夜福利视频精品| 国产免费视频播放在线视频| 黄色视频在线播放观看不卡| 午夜免费成人在线视频| 久久久水蜜桃国产精品网| 男女边摸边吃奶| 国产精品一区二区在线不卡| 亚洲三区欧美一区| 久久中文看片网| 男人操女人黄网站| 久久精品亚洲精品国产色婷小说| 久久久久久久大尺度免费视频| 90打野战视频偷拍视频| 成人三级做爰电影| 少妇 在线观看| 午夜福利欧美成人| 亚洲九九香蕉| 成年女人毛片免费观看观看9 | 欧美日韩成人在线一区二区| 国产精品一区二区在线不卡| 久久久精品区二区三区| 岛国毛片在线播放| 两人在一起打扑克的视频| 久久久久网色| 两个人免费观看高清视频| 99riav亚洲国产免费| 久久99热这里只频精品6学生| 国产野战对白在线观看| 大陆偷拍与自拍| 视频区图区小说| 激情在线观看视频在线高清 | 日韩成人在线观看一区二区三区| 国产一区二区三区在线臀色熟女 | 国产男靠女视频免费网站| 亚洲第一青青草原| 18在线观看网站| 国产高清国产精品国产三级| 黄色成人免费大全| 人妻 亚洲 视频| 国产精品 国内视频| 国产亚洲午夜精品一区二区久久| 久久精品亚洲熟妇少妇任你| 80岁老熟妇乱子伦牲交| 亚洲av日韩在线播放| 黄色怎么调成土黄色| 男女午夜视频在线观看| 高清黄色对白视频在线免费看| 成人18禁高潮啪啪吃奶动态图| 亚洲专区中文字幕在线| 亚洲精品中文字幕一二三四区 | 欧美国产精品va在线观看不卡| 国产无遮挡羞羞视频在线观看| 99re6热这里在线精品视频| 交换朋友夫妻互换小说| av一本久久久久| 五月天丁香电影| av视频免费观看在线观看| 久久午夜亚洲精品久久| 黄色怎么调成土黄色| 超碰97精品在线观看| 深夜精品福利| 美女主播在线视频| 精品一区二区三区av网在线观看 | 精品亚洲成a人片在线观看| 成人亚洲精品一区在线观看| 精品久久久久久电影网| 久久精品亚洲精品国产色婷小说| 亚洲欧美色中文字幕在线| 国产亚洲精品久久久久5区| 可以免费在线观看a视频的电影网站| 手机成人av网站| 午夜福利一区二区在线看| 这个男人来自地球电影免费观看| 91大片在线观看| 国产一区二区三区视频了| 精品人妻熟女毛片av久久网站| 69精品国产乱码久久久| 亚洲av片天天在线观看| 女人高潮潮喷娇喘18禁视频| 亚洲精华国产精华精| 精品欧美一区二区三区在线| 成年版毛片免费区| bbb黄色大片| 亚洲中文日韩欧美视频| 97在线人人人人妻| 欧美激情高清一区二区三区| 色综合欧美亚洲国产小说| 欧美激情久久久久久爽电影 | 自线自在国产av| 精品久久久久久久毛片微露脸| 最新在线观看一区二区三区| 久久精品亚洲精品国产色婷小说| 日韩视频在线欧美| 日韩大码丰满熟妇| 成人影院久久| 欧美日韩亚洲高清精品| 久久精品人人爽人人爽视色| 91麻豆av在线| 女同久久另类99精品国产91| 欧美激情 高清一区二区三区| 久久午夜亚洲精品久久| 丁香六月欧美| 丝袜喷水一区| 超色免费av| 精品久久久精品久久久| a级片在线免费高清观看视频| 十分钟在线观看高清视频www| 久久精品亚洲熟妇少妇任你| 国产91精品成人一区二区三区 | 性色av乱码一区二区三区2| 汤姆久久久久久久影院中文字幕| √禁漫天堂资源中文www| 久久国产精品影院| a级片在线免费高清观看视频| 亚洲熟女精品中文字幕| 欧美久久黑人一区二区| 999精品在线视频| 五月开心婷婷网| 日本vs欧美在线观看视频| 无限看片的www在线观看| 国产又色又爽无遮挡免费看| av超薄肉色丝袜交足视频| 两个人看的免费小视频| 999久久久国产精品视频| 俄罗斯特黄特色一大片| 亚洲第一欧美日韩一区二区三区 | 天天影视国产精品| 狠狠狠狠99中文字幕| 高清在线国产一区| 美女视频免费永久观看网站| 国产精品.久久久| e午夜精品久久久久久久| 美女国产高潮福利片在线看| 国产精品国产av在线观看| 如日韩欧美国产精品一区二区三区| 啦啦啦视频在线资源免费观看| 91成人精品电影| a级毛片在线看网站| 亚洲欧美日韩高清在线视频 | 又大又爽又粗| 啦啦啦在线免费观看视频4| 男女午夜视频在线观看| 天天操日日干夜夜撸| 淫妇啪啪啪对白视频| 午夜免费成人在线视频| 精品福利永久在线观看| 色视频在线一区二区三区| 精品人妻1区二区| 中亚洲国语对白在线视频| 50天的宝宝边吃奶边哭怎么回事| 丝瓜视频免费看黄片| 国产成人精品久久二区二区91| 亚洲欧美日韩高清在线视频 | a级毛片在线看网站| 9191精品国产免费久久| 99国产精品免费福利视频| 丰满人妻熟妇乱又伦精品不卡| 波多野结衣av一区二区av| 中文欧美无线码| 黑人操中国人逼视频| 久久精品国产亚洲av香蕉五月 | 日韩欧美免费精品| 欧美中文综合在线视频| 亚洲国产欧美日韩在线播放| 中文字幕另类日韩欧美亚洲嫩草| 正在播放国产对白刺激| 黑人巨大精品欧美一区二区蜜桃| 交换朋友夫妻互换小说| 久久青草综合色| 国产精品麻豆人妻色哟哟久久| 交换朋友夫妻互换小说| 人人澡人人妻人| 91成人精品电影| 日韩大码丰满熟妇| 99久久99久久久精品蜜桃| 久久亚洲精品不卡| 69精品国产乱码久久久| 女性被躁到高潮视频| 99精品欧美一区二区三区四区| 性少妇av在线| 一区二区三区激情视频| 日韩视频一区二区在线观看| 久久久久精品国产欧美久久久| 91字幕亚洲| 久久久久久久久久久久大奶| 黄色毛片三级朝国网站| av在线播放免费不卡| 最黄视频免费看| 老熟妇乱子伦视频在线观看| 大香蕉久久网| 一级毛片电影观看| av天堂在线播放| 一区二区三区精品91| 日韩免费高清中文字幕av| 美女高潮喷水抽搐中文字幕| 一本—道久久a久久精品蜜桃钙片| 精品国产超薄肉色丝袜足j| 精品免费久久久久久久清纯 | 大码成人一级视频| 飞空精品影院首页| 亚洲av欧美aⅴ国产| 在线观看免费高清a一片| 日韩欧美一区二区三区在线观看 | 91麻豆精品激情在线观看国产 | 国产一区有黄有色的免费视频| 久久精品亚洲av国产电影网| 欧美性长视频在线观看| 午夜福利在线免费观看网站| 热re99久久国产66热| 日韩三级视频一区二区三区| 脱女人内裤的视频| 岛国毛片在线播放| 国精品久久久久久国模美| 在线永久观看黄色视频| 美女扒开内裤让男人捅视频| 欧美精品高潮呻吟av久久| 日本wwww免费看| 12—13女人毛片做爰片一| 中国美女看黄片| 不卡av一区二区三区| 91av网站免费观看| 9191精品国产免费久久| 黄色视频不卡| 免费在线观看日本一区| 精品乱码久久久久久99久播| 色尼玛亚洲综合影院| 天天影视国产精品| 色综合欧美亚洲国产小说| 国产一区有黄有色的免费视频| 夜夜夜夜夜久久久久| 午夜免费成人在线视频| 午夜老司机福利片| 999久久久国产精品视频| 欧美日韩福利视频一区二区| 精品国产超薄肉色丝袜足j| 国产精品 国内视频| www日本在线高清视频| 久久国产精品大桥未久av| xxxhd国产人妻xxx| 亚洲第一青青草原| 亚洲欧洲日产国产| 在线观看人妻少妇| 操出白浆在线播放| 精品一区二区三区视频在线观看免费 | 韩国精品一区二区三区| 成年人黄色毛片网站| 黑人巨大精品欧美一区二区mp4| 18禁美女被吸乳视频| 精品卡一卡二卡四卡免费| 欧美日本中文国产一区发布| 搡老乐熟女国产| 久久亚洲精品不卡| av又黄又爽大尺度在线免费看| 老熟妇仑乱视频hdxx| 中文欧美无线码| 在线观看免费视频日本深夜| 亚洲七黄色美女视频| 国产在视频线精品| 午夜福利在线免费观看网站| 亚洲 欧美一区二区三区| 欧美激情 高清一区二区三区| 亚洲国产中文字幕在线视频| 久久国产精品男人的天堂亚洲| 十分钟在线观看高清视频www| 伊人久久大香线蕉亚洲五| 一区在线观看完整版| 黄网站色视频无遮挡免费观看| a级毛片在线看网站| 757午夜福利合集在线观看| 欧美日韩亚洲综合一区二区三区_| 亚洲精品av麻豆狂野| 十八禁网站网址无遮挡| 亚洲情色 制服丝袜| 18禁国产床啪视频网站| av一本久久久久| 久久亚洲精品不卡| 欧美日韩亚洲国产一区二区在线观看 | 午夜福利,免费看| av天堂久久9| 久久毛片免费看一区二区三区| √禁漫天堂资源中文www| 午夜福利乱码中文字幕| 高清av免费在线| 亚洲国产看品久久| 久久久国产一区二区| 久久精品熟女亚洲av麻豆精品| 一级片'在线观看视频|