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

    申威26010眾核處理器上一維FFT實(shí)現(xiàn)與優(yōu)化?

    2020-01-02 03:45:44趙玉文敖玉龍超1劉芳芳尹萬(wàn)旺林蓉芬
    軟件學(xué)報(bào) 2020年10期
    關(guān)鍵詞:優(yōu)化

    趙玉文,敖玉龍,楊 超1,,劉芳芳,尹萬(wàn)旺,林蓉芬

    1(中國(guó)科學(xué)院 軟件研究所 并行軟件與計(jì)算科學(xué)實(shí)驗(yàn)室,北京 100190)

    2(北京大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,北京 100871)

    3(計(jì)算機(jī)科學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院 軟件研究所),北京 100190)

    4(中國(guó)科學(xué)院大學(xué),北京 100049)

    5(國(guó)家并行計(jì)算機(jī)工程技術(shù)研究中心,北京 100190)

    快速傅里葉變換(fast Fourier transform,簡(jiǎn)稱FFT)算法被列為“20 世紀(jì)十大算法[1]”之一,在數(shù)字信號(hào)處理、圖像處理、微分方程求解和分子動(dòng)力學(xué)等很多學(xué)科和科學(xué)計(jì)算領(lǐng)域具有重要地位.另外,FFT 作為 HPC Challenge 基準(zhǔn)測(cè)試程序的組成部分[2],可以用于評(píng)估超級(jí)計(jì)算機(jī)的體系結(jié)構(gòu)和整體性能.

    目前,超級(jí)計(jì)算機(jī)的體系結(jié)構(gòu)已經(jīng)從多核向眾核乃至異構(gòu)眾核發(fā)展,“神威·太湖之光”[3]是世界上首臺(tái)峰值運(yùn)算速度超過(guò)10 億億次量級(jí)、國(guó)內(nèi)首臺(tái)采用國(guó)產(chǎn)處理器構(gòu)建的世界第一的超級(jí)計(jì)算機(jī).截至2017 年11 月,已連續(xù)4 次榮登全球超級(jí)計(jì)算機(jī)500 強(qiáng)榜首.目前部署在國(guó)家超級(jí)計(jì)算無(wú)錫中心,使用的處理器是國(guó)產(chǎn)“申威26010”異構(gòu)眾核處理器.該處理器不同于現(xiàn)有的純CPU、CPU-MIC、CPU-GPU 等架構(gòu),其采用主-從核架構(gòu),單處理器峰值計(jì)算能力為3TFlops/s,訪存帶寬為130GB/s,相比計(jì)算能力,其訪存能力偏弱.然而,FFT 算法具有計(jì)算密集型和訪存密集型的特點(diǎn),需要根據(jù)處理器體系結(jié)構(gòu)的特點(diǎn)設(shè)計(jì)出適用于此處理器的并行算法和優(yōu)化策略,這就給FFT 的高效實(shí)現(xiàn)帶來(lái)了巨大挑戰(zhàn).

    本文根據(jù)申威26010 處理器體系結(jié)構(gòu)的特點(diǎn),提出了基于兩層分解的一維FFT 眾核并行算法.該算法基于迭代的Stockham FFT 計(jì)算框架,根據(jù)Cooley-Tukey FFT 算法進(jìn)行分解,將大規(guī)模FFT 分解成一系列的小規(guī)模FFT 來(lái)計(jì)算.其通過(guò)構(gòu)造合適的任務(wù)劃分方式,來(lái)滿足并行度要求和解決負(fù)載均衡問題,并采用寄存器通信、訪存計(jì)算重疊以及向量化等優(yōu)化方法進(jìn)行優(yōu)化,以有效提高FFT 的計(jì)算性能.

    1 申威26010 處理器

    國(guó)產(chǎn)申威26010 處理器[3]采用異構(gòu)眾核架構(gòu),每個(gè)芯片由4 個(gè)核組(core group,簡(jiǎn)稱CG)組成,每個(gè)核組由管理核心(management processing element,簡(jiǎn)稱MPE)、運(yùn)算核心陣列(computing processing elements cluster,簡(jiǎn)稱CPE cluster)、協(xié)議處理部件(PPU)和存儲(chǔ)控制器(memory controller,簡(jiǎn)稱MC)組成,核組間由片上網(wǎng)絡(luò)(Noc)連接,如圖1 所示.

    Fig.1 The general architecture of the Sunway 26010 processor圖1 申威26010 處理器的總體結(jié)構(gòu)

    管理核心又稱為主核,用于運(yùn)行操作系統(tǒng)和用戶程序,其采用自主指令集的64 位全功能RISC 核心,實(shí)現(xiàn)了SIMD 擴(kuò)展指令集.運(yùn)算核心陣列采用緊耦合的方式進(jìn)行管理,包含8×8 方式排列的64 個(gè)運(yùn)算核心和DMA 控制器(DMA controlller).每個(gè)運(yùn)算核心之間采用拓?fù)錇?×8 Mesh 的簇通信網(wǎng)絡(luò)連接.運(yùn)算核心又稱為從核,為精簡(jiǎn)的64 位RISC 核心,可提供強(qiáng)大的計(jì)算能力,支持256 位整數(shù)和浮點(diǎn)向量化操作.DMA 控制器用于解析和管理來(lái)自運(yùn)算核心的數(shù)據(jù)流傳輸命令,其可實(shí)現(xiàn)主存與LDM 間的快速數(shù)據(jù)傳輸.存儲(chǔ)層次上,主核采用一級(jí)數(shù)據(jù)和指令cache 分離、二級(jí)指令數(shù)據(jù)共享的兩級(jí)片上存儲(chǔ)層次,其中,L1 指令cache 為32KB,數(shù)據(jù)cache 為32KB,L2的cache 容量為256KB.每個(gè)從核采用了私有的16KB 的L1 指令Cache 和64KB 的SPM(scratch pad memory).SPM 可看作用戶可控的局部數(shù)據(jù)存儲(chǔ)LDM(local data memory),并利用DMA(direct memory access)控制器實(shí)現(xiàn)解析和管理主存與LDM 間的數(shù)據(jù)傳輸.此外,從核還提供高效的寄存器通信機(jī)制,能夠使核組內(nèi)同行/列的從核進(jìn)行數(shù)據(jù)交換,能夠讓每個(gè)從核向它的同行/列的其他從核發(fā)送(源方)或者接收(目標(biāo)方)數(shù)據(jù),源方和目標(biāo)方利用生產(chǎn)者-消費(fèi)者模式完成數(shù)據(jù)交換.寄存器通信由PUT 和GET 指令對(duì)組成,源方使用PUT 指令將通用寄存器中的一個(gè)向量長(zhǎng)度的數(shù)據(jù)經(jīng)過(guò)從核通信網(wǎng)絡(luò),送入一個(gè)或者多個(gè)目標(biāo)方的接收緩沖中.目標(biāo)方使用GET 指令從接收緩沖中讀取數(shù)據(jù)并送入本地通用寄存器.并行編程模型上,對(duì)于一個(gè)核組,應(yīng)用程序由主核啟動(dòng),借助高性能線程庫(kù)Athread 將計(jì)算任務(wù)異步加載到從核執(zhí)行,雙方通過(guò)同步接口協(xié)同.由于申威26010 處理器復(fù)雜的架構(gòu)特性,針對(duì)FFT 算法的特點(diǎn),我們主要從LDM、DMA 和寄存器通信機(jī)制這3 個(gè)體系結(jié)構(gòu)特性來(lái)提高帶寬的利用率,從而獲得較好的性能.

    2 相關(guān)工作

    近年來(lái),有很多研究工作致力于CPU、GPU 和MIC 等平臺(tái)上對(duì)FFT 算法進(jìn)行并行優(yōu)化,并開發(fā)出多個(gè)優(yōu)秀的軟件包.CPU 上比較著名的軟件包主要包括FFTW(fastest Fourier transform in the west)[4,5]、UHFFT[6]、SPIRAL[7]、ESSL 和MKL 等.FFTW 由MIT 的Frigo 和Johnson 開發(fā),是目前使用最為廣泛、運(yùn)算速度較快的離散傅立葉變換計(jì)算庫(kù).其不是采用固定算法計(jì)算變換,而是在運(yùn)行時(shí)根據(jù)具體硬件和變換參數(shù)自動(dòng)地選擇最佳的分解方案和不同算法,以期達(dá)到最佳效果.本文在測(cè)試算法的整體性能時(shí)會(huì)與FFTW 庫(kù)的性能進(jìn)行對(duì)比.GPU 上主要包括CUFFT、GPUFFTW、AccFFT、FFTE 和P3DFFT[8]等.其中,CUFFT 是由NVIDIA 提供的基于GPU 的快速傅里葉變換函數(shù)庫(kù),它基于Cooley-Tukey FFT 和Bluestein 算法并采用分治的算法.GPUFFTW 項(xiàng)目由美國(guó)北卡羅萊納大學(xué)提出,使用Stockham 的Autosort 方法實(shí)現(xiàn)了基于GPU 的一維傅立葉變換,運(yùn)算速度最高可達(dá)29GFlops.AccFFT 采用兩種數(shù)據(jù)分解方式并基于CUFFT 和FFTW 庫(kù)實(shí)現(xiàn)分布式FFT 計(jì)算,支持CPU和GPU.FFTE 是HPC challenge benchmark 的組成部分,主要利用了cache 分塊技術(shù)和Stockham 的自動(dòng)排序技術(shù).MIC 上主要是Intel 公司隨MIC 協(xié)處理器發(fā)布的MKL 數(shù)學(xué)庫(kù).

    目前,對(duì)FFT 算法的優(yōu)化策略主要包括兩種[9]:(1)數(shù)據(jù)分塊.利用分塊技術(shù)對(duì)數(shù)據(jù)進(jìn)行處理,將子塊的數(shù)據(jù)傳輸?shù)矫總€(gè)處理器(線程),一般針對(duì)三維FFT 計(jì)算;文獻(xiàn)[9]、AccFFT、PFFT[10]、P3DFFT[8]、Takahashi[11]、2DECOMP & FFT 和Song[12]等策略均利用數(shù)據(jù)分塊策略進(jìn)行并行優(yōu)化,其中,AccFFT、PFFT、2DECOMP & FFT和Song 考慮了通信優(yōu)化問題.另外,文獻(xiàn)[13,14]研究了天河1A 大型GPU 異構(gòu)集群系統(tǒng)上基于Parray 語(yǔ)言的數(shù)組維度類型程序設(shè)計(jì)方法.(2)算法分解.利用算法(如Cooley-Tukey FFT)將一個(gè)較大規(guī)模的一維FFT 分解成一系列較小規(guī)模的一維FFT,每個(gè)處理器(線程)并行地完成較小規(guī)模的FFT.文獻(xiàn)[15,16]嘗試著在IBM Cylops 64上使用Cooley-Tukey FFT 算法優(yōu)化FFT 計(jì)算,并且提出了一個(gè)針對(duì)該框架的性能模型.文獻(xiàn)[17]是在GPU 上基于Stockham FFT 框架和Cooley-Tukey FFT 算法實(shí)現(xiàn),并在文獻(xiàn)[18]中提出了一個(gè)用于生成GPU 上優(yōu)化的FFT內(nèi)核的自動(dòng)優(yōu)化框架.文獻(xiàn)[19]提出了一種基于Cooley-Tukey FFT 算法和一套高效小規(guī)模codelet 代碼的計(jì)算多維FFT 框架.文獻(xiàn)[20]在單線程MKL 的基礎(chǔ)上,利用Cooley-Tukey FFT 算法和Intel Cilk Plus 的計(jì)算框架實(shí)現(xiàn)多線程并行.Nukada 等人也在文獻(xiàn)[21-24]中對(duì)3D FFT 算法在GPU 架構(gòu)上進(jìn)行了一系列的研究.文獻(xiàn)[25]在單MIC 節(jié)點(diǎn)上基于Cooley-Tukey FFT 算法利用兩種分解算法和兩層并行方法實(shí)現(xiàn)了訪存高效的兩遍3D FFT算法.文獻(xiàn)[26]在Intel Xeon Phi 協(xié)處理器集群上實(shí)現(xiàn)了分布式1D FFT 的計(jì)算并進(jìn)行了訪存與計(jì)算的重疊優(yōu)化.另外,文獻(xiàn)[27]主要對(duì)FFT 的性能進(jìn)行了分析,也有一些文獻(xiàn)[28-32]對(duì)稀疏型的FFT 進(jìn)行了研究,文獻(xiàn)[33]采用快速多極子方法來(lái)減少通信需求,文獻(xiàn)[34]在FFT 算法的容錯(cuò)方面進(jìn)行了研究.

    在“神威·太湖之光”上已完成的各類運(yùn)算任務(wù)中,其優(yōu)化主要從LDM、DMA、向量化、計(jì)算訪存重疊和寄存器通信等方面進(jìn)行設(shè)計(jì),主要包括:楊超團(tuán)隊(duì)[35]的大氣動(dòng)力模擬應(yīng)用項(xiàng)目,其獲得了國(guó)際高性能計(jì)算應(yīng)用領(lǐng)域的最高獎(jiǎng)“戈登貝爾獎(jiǎng)”;付昊桓團(tuán)隊(duì)完成的“基于神威太湖之光的非線性地震模擬”[36],其獲得2017 年的“戈登貝爾獎(jiǎng)”;文獻(xiàn)[37]主要是對(duì)stencil 計(jì)算進(jìn)行了優(yōu)化,作者提出了一種求解歐拉大氣動(dòng)力學(xué)方程的有效數(shù)據(jù)流方法[38];文獻(xiàn)[39]主要是對(duì)CAM(community atmosphere model)進(jìn)行了重構(gòu)和優(yōu)化.

    3 算法背景

    離散傅里葉變換(discrete Fourier transform,簡(jiǎn)稱DFT)是傅里葉變換在時(shí)域和頻域上都呈離散的形式,將信號(hào)的時(shí)域采樣變換為其離散時(shí)間傅里葉變換的頻域采樣.使用離散傅里葉變換可以將自然科學(xué)和工程技術(shù)中連續(xù)而復(fù)雜的問題轉(zhuǎn)化為離散且簡(jiǎn)單的運(yùn)算.對(duì)于一維長(zhǎng)度為N的輸入序列x=[x0,x1,...,xN-1],其DFT 的計(jì)算公式為

    DFT 可以表示成矩陣向量乘的形式XT=FN xT,其中,

    DFT 的算法復(fù)雜度為O(N2),通常,x(n)和X(k)是復(fù)數(shù),當(dāng)已知時(shí),計(jì)算X(k)(k=0,1,...,N-1)需要N2次復(fù)數(shù)乘法和N(N-1)次復(fù)數(shù)加法,共需要8N2次浮點(diǎn)運(yùn)算.

    快速傅里葉變換FFT 是離散傅里葉變換的快速算法,其中,最經(jīng)典的是1965 年由Cooley 和Tukey 發(fā)表的Cooley-Tukey FFT 算法[40],首次將離散傅里葉變換的計(jì)算復(fù)雜度從O(N2)減少到O(NlogN),該算法主要依據(jù)旋轉(zhuǎn)因子的對(duì)稱性和周期性,采用分而治之的策略遞歸地進(jìn)行計(jì)算.

    Cooley-Tukey FFT算法.對(duì)于輸入長(zhǎng)度為N的序列,若N可以分解為N1和N2的乘積,即N=N1×N2,則可以把輸入數(shù)據(jù)按行優(yōu)先自然地映射成N1×N2二維矩陣的形式.根據(jù)索引映射,令n=(n1,n2)=n1?N2+n2,k=(k2,k1)=k1+k2?N1,則式(1)可表示為

    即輸出數(shù)據(jù)按行優(yōu)先映射到一個(gè)N2×N1的二維矩陣形式.因此,N點(diǎn)一維FFT 問題的計(jì)算可以分解成N1點(diǎn)和N2點(diǎn)的小規(guī)模一維FFT 問題來(lái)完成,具體計(jì)算步驟如圖2 所示.(1)N2個(gè)N1點(diǎn)一維FFT 計(jì)算;(2)每個(gè)元素乘旋轉(zhuǎn)因子;(3)N1個(gè)N2點(diǎn)一維FFT 計(jì)算;(4)二維數(shù)組轉(zhuǎn)置,得到正確且有序的計(jì)算結(jié)果.

    如果嚴(yán)格按照上述4 個(gè)步驟來(lái)執(zhí)行,總共需要對(duì)主存中數(shù)組讀寫4 次,即總訪存量為8N(不統(tǒng)計(jì)訪問旋轉(zhuǎn)因子所增加的訪存量).因而在實(shí)現(xiàn)中為了減少訪存量,通常把乘旋轉(zhuǎn)因子和全局?jǐn)?shù)組轉(zhuǎn)置分別合并到N1點(diǎn)FFT計(jì)算或者N2點(diǎn)FFT 計(jì)算中,使訪存量減少到4N.而N1點(diǎn)和N2點(diǎn)一維FFT 的計(jì)算通常遞歸地應(yīng)用Cooley-Tukey FFT 繼續(xù)分解,直到規(guī)模足夠小可以直接計(jì)算為止.

    Fig.2 Flowchart of the Cooley-Tukey FFT algorithm圖2 Cooley-Tukey FFT 算法流程圖

    對(duì)于Cooley-tukey FFT 算法中最后一步的轉(zhuǎn)置存回操作(對(duì)應(yīng)于基-2 Cooley-Tukey FFT 算法中的位倒序bit-reversal),其涉及到對(duì)輸入數(shù)據(jù)的全局轉(zhuǎn)置過(guò)程,雖然這個(gè)操作只需要O(n)時(shí)間,但仍然不可忽略,特別是對(duì)于變換規(guī)模較大的情況.我們利用Stockham FFT 框架進(jìn)行優(yōu)化,避免了轉(zhuǎn)置操作.

    Stockham FFT 計(jì)算框架.基于分解N=N1×...×Nr×...×Nm(1≤r≤m)使用迭代的方法將規(guī)模為N的一維FFT 轉(zhuǎn)化成一系列規(guī)模為Nr的一維FFT 計(jì)算.其算法流程如圖3 所示.

    Fig.3 The flow chart of Stockham FFT algorithm圖3 Stockham FFT 算法流程圖

    其通過(guò)在每步分解計(jì)算中穿插多維轉(zhuǎn)置,避免了一個(gè)顯式的全局轉(zhuǎn)置的過(guò)程.具體地,Nr點(diǎn)一維FFT 計(jì)算前后,數(shù)據(jù)在主存中的組織和維度為

    其中,Nr表示當(dāng)前需要計(jì)算的FFT 規(guī)模,P表示已經(jīng)完成的FFT 計(jì)算部分,T表示未計(jì)算的部分.舉例來(lái)說(shuō),若N可以分解為3 個(gè)因子的乘積,即N=N1×N2×N3,在計(jì)算每個(gè)Ni(1≤i≤3)點(diǎn)一維FFT 時(shí),需要對(duì)整個(gè)數(shù)據(jù)讀寫遍歷1 遍,3 次遍歷數(shù)組中數(shù)據(jù)維度的變化過(guò)程為

    4 基于兩層分解的一維FFT 眾核并行算法的設(shè)計(jì)與實(shí)現(xiàn)

    FFT 算法具有計(jì)算密集型和訪存密集型的特點(diǎn),其并行度有限、訪存局部性低,在26010 眾核平臺(tái)上很難充分利用眾多的計(jì)算資源.依據(jù)計(jì)算平臺(tái)的結(jié)構(gòu)特性和存儲(chǔ)層次特點(diǎn),本文提出了基于兩層分解的一維FFT 眾核并行算法.該算法基于迭代的Stockham FFT 計(jì)算框架,將大規(guī)模FFT 分解成一系列的小規(guī)模FFT 來(lái)計(jì)算,分解規(guī)則基于Cooley-Tukey FFT 算法.通過(guò)設(shè)計(jì)合理的任務(wù)劃分方案、數(shù)據(jù)重用機(jī)制和計(jì)算與訪存重疊的雙緩沖優(yōu)化來(lái)有效地解決并行度和訪存量等問題.本文主要致力于雙精度復(fù)數(shù)到復(fù)數(shù)的2 的冪次一維FFT 計(jì)算,其他情況不作為本文研究的重點(diǎn).

    4.1 并行方案設(shè)計(jì)和任務(wù)劃分

    基于兩層分解的一維FFT 眾核并行算法首先利用Cooley-Tukey FFT 算法對(duì)輸入數(shù)據(jù)規(guī)模為N(N=2n,n≥9)的一維FFT 進(jìn)行第1 層分解,N=N1×...×Nr×...×Nm(1≤r≤m),即將原N點(diǎn)的一維FFT 轉(zhuǎn)化成m個(gè)相互獨(dú)立的計(jì)算步驟,輸入數(shù)據(jù)按行優(yōu)先自然地映射成m維矩陣的形式,其中,第Nm維度的數(shù)據(jù)連續(xù)存儲(chǔ),其他維度非連續(xù)存儲(chǔ).所有的分解因子Nr(1≤r≤m)滿足其規(guī)模的相應(yīng)數(shù)據(jù)可以完全加載到從核整個(gè)核組的LDM 中.如果Nr的規(guī)模足夠小,則不對(duì)Nr進(jìn)行第2 次分解,直接計(jì)算Nr點(diǎn)FFT;如果Nr的規(guī)模較大,從高效的LDM 空間利用、DMA 傳輸方式和負(fù)載均衡3 個(gè)方面考慮,一般需要多個(gè)從核共同完成Nr點(diǎn)一維FFT 計(jì)算,此時(shí)利用Cooley-Tukey FFT 算法遞歸地對(duì)Nr進(jìn)行第2 層分解Nr=f1×f2[×f3](f3可選),將數(shù)據(jù)平均分布到8 個(gè)或者64 個(gè)從核上.算法中,不進(jìn)行第2 層分解的Nr點(diǎn)和fk(k=1,2,3)點(diǎn)一維FFT 直接調(diào)用底層高效的計(jì)算小因子FFT 的Codelets 庫(kù)完成.Codelets FFT 直接使用平臺(tái)特有的向量化指令編寫,并進(jìn)行循環(huán)展開、仔細(xì)規(guī)劃寄存器資源和指令流水等優(yōu)化,使代碼更高效且具有更少的浮點(diǎn)運(yùn)算量.另外,算法利用Stockham FFT 計(jì)算框架的自動(dòng)排序功能來(lái)優(yōu)化Cooley-Tukey FFT 算法中將結(jié)果轉(zhuǎn)置存回的問題.

    對(duì)于算法中m個(gè)相互獨(dú)立的計(jì)算步驟,每一步都需要利用DMA 將相應(yīng)數(shù)據(jù)傳輸?shù)胶私MLDM 中,并在核組內(nèi)完成Nr(1≤r≤m)點(diǎn)一維FFT 的計(jì)算.根據(jù)數(shù)據(jù)存儲(chǔ)是否連續(xù),可將m個(gè)計(jì)算步驟分成兩類.

    (1)數(shù)據(jù)非連續(xù)存儲(chǔ)Nr(1≤r≤m),其分解可簡(jiǎn)寫成P×Nr×T(1<r<m),P為已經(jīng)完成FFT 計(jì)算的部分(對(duì)于第N1維度,P=1),T為未計(jì)算的部分,此時(shí)將計(jì)算任務(wù)沿T的方向進(jìn)行分塊,每個(gè)任務(wù)塊的大小為V*Nr,任務(wù)塊個(gè)數(shù)為(P*T)/V,其可以滿足DMA 傳輸數(shù)據(jù)的連續(xù)度要求,從而使DMA 傳輸更高效.但是由于單個(gè)從核的LDM 空間有限,能夠獨(dú)立處理的任務(wù)塊一般較小,需要利用多個(gè)從核協(xié)作以完成一個(gè)任務(wù)塊,此時(shí)需要對(duì)Nr進(jìn)行第2 層分解Nr=f1×f2[×f3].如果Nr分解成Nr=f1×f2,則每個(gè)任務(wù)塊由一行/列從核完成;如果Nr分解成Nr=f1×f2×f3,則每個(gè)任務(wù)塊由整個(gè)核組共同完成.

    (2)數(shù)據(jù)連續(xù)存儲(chǔ)Nm(r=m),分解可以簡(jiǎn)寫成P×Nm,計(jì)算任務(wù)沿P的方向進(jìn)行分塊.當(dāng)Nm≤M(M為每個(gè)從核所能計(jì)算的最大數(shù)據(jù)量)時(shí),按行優(yōu)先方式讀取數(shù)據(jù),將Nm點(diǎn)一維FFT 計(jì)算所需的數(shù)據(jù)可以直接加載到一個(gè)從核的LDM 上,每個(gè)從核的計(jì)算量為V=M/Nm個(gè)Nm點(diǎn)FFT.但當(dāng)V較小時(shí),由于結(jié)果需要以轉(zhuǎn)置的形式存回到不連續(xù)的主存中,單個(gè)從核直接存回只能保證V個(gè)數(shù)的連續(xù)度,為了滿足高效的DMA 傳輸對(duì)傳輸數(shù)據(jù)的連續(xù)度要求,可以通過(guò)對(duì)一行/列中的8 個(gè)從核的數(shù)據(jù)進(jìn)行重排和轉(zhuǎn)置,從而保證存回的數(shù)據(jù)塊有8*V的連續(xù)度,此時(shí)需要將Nm進(jìn)一步分解成Nm=f1×f2,由一行/列從核共同完成.但當(dāng)Nm>M時(shí),單個(gè)從核不能容納Nm規(guī)模的數(shù)據(jù),需要多個(gè)從核協(xié)作完成計(jì)算任務(wù).一般由一行/列從核完成V=(8*M)/Nm個(gè)Nm點(diǎn)一維FFT 計(jì)算,此時(shí)需要將Nm進(jìn)一步分解成Nm=f1×f2×f3,其計(jì)算方式與Nm≤M類似.對(duì)于以上兩種情況中的數(shù)據(jù)重排操作一般借助寄存器通信機(jī)制完成,以進(jìn)一步減少訪存量.

    下面以4×4 的從核陣列來(lái)展示N=N1×N2的任務(wù)劃分方式,其中圖4 展示第N1維度,圖5 展示第N2維度,圖中×表示分解操作,*表示任務(wù)劃分中的乘法操作,Z方向表示數(shù)據(jù)連續(xù)存儲(chǔ),Y和X分別次之.圖4 中,計(jì)算任務(wù)沿N2的方向進(jìn)行分塊,每個(gè)任務(wù)塊大小為V*N1,任務(wù)塊個(gè)數(shù)為TN=N2/V=4,分別為T0、T1、T2 和T3,每個(gè)任務(wù)塊由一行/列從核完成.將N1分解為N1=f1×f2,首先計(jì)算f1點(diǎn)一維FFT,對(duì)每個(gè)任務(wù)塊從f2的方向進(jìn)行劃分得到4 個(gè)小任務(wù)塊,并將每個(gè)小任務(wù)塊分配給一個(gè)從核;然后計(jì)算f2點(diǎn)一維FFT,其任務(wù)劃分方式與計(jì)算f1點(diǎn)FFT 過(guò)程類似,但其任務(wù)劃分沿f1方向.從核中f1和f2的計(jì)算直接調(diào)用Codelets FFT 來(lái)完成.

    Fig.4 The diagram of two-layer decomposition 1-D FFT multi-core parallel algorithm (N1=f1×f2)圖4 基于兩層分解的一維FFT 眾核并行算法圖(N1=f1×f2)

    圖5 中,N2≤M,N2=f1×f2,其中,f1的取值一般與一行/列從核的個(gè)數(shù)相同,紅框部分表示一行/列從核的計(jì)算任務(wù).首先計(jì)算f1點(diǎn)一維FFT,將計(jì)算任務(wù)沿N1的方向進(jìn)行分塊,其任務(wù)的個(gè)數(shù)為TN=16,任務(wù)大小為V*N2.每個(gè)任務(wù)按行優(yōu)先方式讀取數(shù)據(jù)到單個(gè)從核LDM 中;然后計(jì)算f2點(diǎn)一維FFT,因計(jì)算結(jié)果需轉(zhuǎn)置后存回,計(jì)算前需要對(duì)數(shù)據(jù)進(jìn)行重排和轉(zhuǎn)置,以達(dá)到DMA 數(shù)據(jù)傳輸中f1*V的連續(xù)度.

    Fig.5 The diagram of two-layer decomposition 1-D FFT multi-core parallel algorithm (N2=f1×f2)圖5 基于兩層分解的一維FFT 眾核并行算法圖(N2=f1×f2)

    4.2 規(guī)模決策

    對(duì)于規(guī)模為N的一維FFT,按照基于兩層分解的一維FFT 眾核并行算法原理,其存在多種分解策略,但是并非所有的分解策略都能得到較好的計(jì)算性能.本文算法雖然具有很好的并行度,但其帶來(lái)的是訪存量的大幅增加.對(duì)于分解N=N1×N2×...×N m(m≥2),當(dāng)總數(shù)據(jù)規(guī)模大于LDM 空間時(shí),至少需要對(duì)主存數(shù)組讀寫m次,其訪存量為2mN.對(duì)于第2 層分解Nr=f1×f2[×f3](1≤r≤m),因遞歸地應(yīng)用Cooley-Tukey FFT,每一個(gè)分解又至少增加2N訪存量,因此在數(shù)據(jù)規(guī)模允許的情況下,m的取值應(yīng)盡量小,第2 層分解類似.

    對(duì)于分解規(guī)模的選取,本算法采用down-up 型兩層策略樹的方式進(jìn)行選取,其特點(diǎn)是首先考慮第2 層分解中Nr(1≤r≤m)的分解(down 方向),然后再考慮第1 層中N的分解(up 方向).算法中Nr的取值一般為64、128、256、512 和1024 等,目前可通過(guò)分析和實(shí)驗(yàn)的方式確定性能最優(yōu)的Nr分解結(jié)果.已知第2 層的分解結(jié)果后,根據(jù)具體規(guī)模得到性能最優(yōu)的第1 層的分解.具體內(nèi)容如圖6 所示,該圖僅用部分實(shí)例來(lái)描述down-up 型兩層策略樹,并不代表最優(yōu)的分解策略.圖中連接線的數(shù)字代表分解因子的個(gè)數(shù),例如節(jié)點(diǎn)64 與節(jié)點(diǎn)8 之間的數(shù)字2 表示64 分解為64=8×8.

    Fig.6 Down-up policy tree圖6 Down-up 型策略樹

    4.3 數(shù)據(jù)重用機(jī)制

    由第4.2 節(jié)可知,為了解決基于本文算法訪存量大幅增加的問題,還需考慮數(shù)據(jù)的重用問題.申威26010 處理器提供的寄存器通信機(jī)制可以實(shí)現(xiàn)核組內(nèi)同行/列從核之間的數(shù)據(jù)共享,能夠有效地減少利用主存進(jìn)行數(shù)據(jù)交換和數(shù)據(jù)共享帶來(lái)的數(shù)據(jù)移動(dòng)開銷.因此,本算法主要借助寄存器通信機(jī)制來(lái)避免對(duì)兩種訪存問題的開銷.(1)分解訪存開銷.對(duì)于第2 層分解Nr=f1×f2[×f3](1≤r≤m),在計(jì)算f1點(diǎn)一維FFT 時(shí),數(shù)據(jù)已通過(guò)DMA 由主存?zhèn)鬏數(shù)綇暮薒DM 中,借助寄存器通信機(jī)制,使一行/列從核的數(shù)據(jù)進(jìn)行交換,得到計(jì)算f2和f3點(diǎn)一維FFT 所需的數(shù)據(jù),以避免從主存讀取數(shù)據(jù),從而達(dá)到數(shù)據(jù)的重用.(2)數(shù)據(jù)重排.對(duì)于Nm點(diǎn)FFT 的計(jì)算,其結(jié)果需要以轉(zhuǎn)置的形式存回到不連續(xù)的主存中,如圖5 所示,故需借助寄存器通信機(jī)制完成對(duì)一行/列從核的數(shù)據(jù)重排,以保證DMA 寫回主存數(shù)據(jù)的連續(xù)度要求.

    實(shí)現(xiàn)時(shí)每個(gè)從核中的數(shù)據(jù)可以看作是一個(gè)m0×m1的矩陣,首先每個(gè)從核將本從核中已有的數(shù)據(jù)放到指定的位置中,然后使用PUT 指令向同行/列中其他7 個(gè)從核發(fā)送數(shù)據(jù),同時(shí)使用GET 指令接收其他從核發(fā)來(lái)的數(shù)據(jù).如圖7 所示,圖中僅顯示了一行寄存器通信的內(nèi)容,且m0=f1=16,m1一般為算法中的V,f2=8,threadnum=8.

    Fig.7 Row-wise register communication圖7 行寄存器通信

    4.4 雙緩沖優(yōu)化

    申威26010 處理器主從核之間的數(shù)據(jù)傳輸與從核上的計(jì)算可異步執(zhí)行,即DMA 訪存與計(jì)算重疊.本文算法在實(shí)現(xiàn)時(shí)利用了此特性,以提升性能.在從核函數(shù)中,其訪存與計(jì)算過(guò)程主要包括4 個(gè)操作,分別為從主存讀取數(shù)據(jù)(DMA read)、計(jì)算操作(computation)、寄存器通信(register communication)和將數(shù)據(jù)寫回主存(DMA write).對(duì)于分解N1=f1×f2,首先使用DMA Read 將數(shù)據(jù)從主存讀取到從核LDM 中,計(jì)算f1點(diǎn)FFT,寄存器通信完成同行/列從核的數(shù)據(jù)交換,計(jì)算f2點(diǎn)FFT,最后將計(jì)算結(jié)果寫回主存.當(dāng)寄存器通信完成之后從核就可以從主存中預(yù)取數(shù)據(jù),從而可以隱藏一部分計(jì)算操作.另外,對(duì)于DMA Write 操作,當(dāng)讀取操作完成時(shí),就可以進(jìn)行下一個(gè)循環(huán)的計(jì)算操作,而不需要等到DMA Write 操作完成后再執(zhí)行,也可隱藏一部分計(jì)算操作.具體如圖8 所示.

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

    本節(jié)利用申威26010 眾核的一個(gè)核組測(cè)試本文提出的算法的總體性能與訪存帶寬,并對(duì)其性能進(jìn)行分析.具體信息見第1 節(jié).

    5.1 總體性能

    本節(jié)主要測(cè)試基于兩層分解的一維FFT 眾核并行算法的總體性能,并且與在申威26010 處理器單主核上運(yùn)行的FFTW3.3.4 庫(kù)的性能進(jìn)行對(duì)比.其中,Basic 是基于兩層分解的一維FFT 眾核并行算法的基礎(chǔ)版本,其沒有進(jìn)行寄存器通信、SIMD 向量化和雙緩沖等優(yōu)化,Basic+Register 是在Basic 版本上進(jìn)行寄存器通信優(yōu)化的版本,Basic+Register+Simd 是在 Basic+Register 版進(jìn)行向量化優(yōu)化的版本,xMathFFT 為最終版本,其在 Basic+Register+Simd 基礎(chǔ)上進(jìn)行了雙緩沖的優(yōu)化,其性能結(jié)果如圖9 所示.

    總體來(lái)說(shuō),本文算法獲得了較好的性能,相比FFTW 獲得了平均44.53x 的加速比,最高加速比可達(dá)56.33x,最低加速比可達(dá)24.67x.另外,Basic 版獲得了平均13.76x 的加速比,Basic+Register 版獲得了平均24.94x 的加速比,Basic+Register+Simd 版獲得了平均33.52 的加速比.

    5.2 訪存帶寬

    因本文算法在申威26010 異構(gòu)眾核處理器上的訪存時(shí)間和計(jì)算時(shí)間(計(jì)算已采用向量化等技術(shù)充分優(yōu)化)相當(dāng),訪存時(shí)間略長(zhǎng),故采用帶寬利用率作為評(píng)價(jià)指標(biāo).本節(jié)測(cè)試了基于兩層分解的一維FFT 眾核并行算法的訪存帶寬情況.假設(shè)對(duì)于雙精度復(fù)數(shù)的一維FFT 計(jì)算,DMA 傳輸?shù)臄?shù)據(jù)量為td×N+tw(單位:雙精度復(fù)數(shù)),其中,N為一維FFT 的數(shù)據(jù)規(guī)模,td為整個(gè)計(jì)算過(guò)程中需要對(duì)主存中數(shù)據(jù)遍歷的次數(shù),tw表示旋轉(zhuǎn)因子的傳輸量.td和tw的結(jié)果均與本文算法中的分解結(jié)果有關(guān),若有分解N=N1×...×Nm,則有

    對(duì)于第2 層分解,Nr=f1×f2[×f3](1≤r≤m),tw=max{N1,N2,...,Nm}.圖10 給出了各數(shù)據(jù)規(guī)模的訪存帶寬以及與帶寬利用率(總帶寬按照實(shí)測(cè)帶寬27.5Gb/s 計(jì)算),最高可達(dá)83.45%,最低為48.41%,平均帶寬利用率為68.78%.

    Fig.10 The memory bandwidth of two-layer decomposition 1-D FFT multi-core parallel algorithm圖10 基于兩層分解的一維FFT 眾核并行算法的訪存帶寬

    5.3 性能分析

    FFT 算法將DFT 計(jì)算的時(shí)間復(fù)雜度由O(N2)降到了O(Nlog2N),FFT 性能通常由如下公式計(jì)算獲得:

    其中,N為一維FFT 變換的規(guī)模;runtime為計(jì)算花費(fèi)的時(shí)間,以秒(s)為單位.在申威26010 眾核上,從核計(jì)算可以與DMA 傳輸異步進(jìn)行.一般來(lái)說(shuō),運(yùn)行時(shí)間由計(jì)算時(shí)間和DMA 傳輸時(shí)間構(gòu)成,但是,由于FFT 是一種典型的帶寬密集型算法,好的算法設(shè)計(jì)方案可以將從核計(jì)算與DMA 傳輸重疊起來(lái),從而隱藏從核計(jì)算的開銷.因而,我們可以根據(jù)申威26010 眾核的DMA 傳輸帶寬參數(shù)來(lái)估計(jì)實(shí)現(xiàn)能達(dá)到的性能上限.

    由第5.2 節(jié)可知,DMA 傳輸?shù)臄?shù)據(jù)量為td×N+tw,由于所需加載的旋轉(zhuǎn)因子數(shù)組的規(guī)模與變換規(guī)模N以及其分解方案存在很大的關(guān)系,因此只考慮第1 層分解中的旋轉(zhuǎn)因子傳輸部分,即取td=N.

    理想情況下,雙精度復(fù)數(shù)到復(fù)數(shù)FFT 的性能上限可由如下公式來(lái)計(jì)算:

    表2 根據(jù)上述設(shè)計(jì)方案,對(duì)典型一維雙精度復(fù)數(shù)到復(fù)數(shù)2 的冪次FFT 的性能上限進(jìn)行了估計(jì).

    Table 2 Comparison of ideal performance with actual performance at various scales表2 各規(guī)模理想性能與實(shí)際性能對(duì)比

    從表2 可知,本文算法獲得了較好的性能,相比理想的Gflops 性能,其實(shí)際性能占比平均為78.5%,最高占比可達(dá)95.4%,最低占比為65.5%.

    6 總結(jié)和下一步工作

    FFT 算法具有計(jì)算密集型和訪存密集型的特點(diǎn),其并行度有限、訪存局部性低,在申威26010 眾核處理器上很難充分利用眾多的計(jì)算和訪存資源.本文首先對(duì)DFT、Cooley-Tukey FFT 算法和Stockham FFT 計(jì)算框架以及申威26010 眾核處理器等進(jìn)行了較為詳盡的介紹.然后根據(jù)申威26010 眾核處理器的結(jié)構(gòu)特點(diǎn)和存儲(chǔ)層次特點(diǎn),提出了基于兩層分解的一維FFT 眾核并行算法.該算法采用迭代的Stockham FFT 計(jì)算框架,將大規(guī)模FFT分解成一系列的小規(guī)模FFT 來(lái)計(jì)算,而分解規(guī)則基于Cooley-Tukey FFT 算法.該算法利用寄存器通信、訪存計(jì)算重疊以及SIMD 向量化等優(yōu)化手段來(lái)有效地提高整體性能.最后對(duì)本文算法的性能和帶寬進(jìn)行了測(cè)試并對(duì)其性能進(jìn)行了剖析,其性能相比于單主核上運(yùn)行的FFTW3.3.4 庫(kù),獲得了平均44.53x 的加速比,最高加速比可達(dá)56.33x,且其帶寬利用率最高可達(dá)83.45%.本文雖然以申威26010 平臺(tái)來(lái)開展研究,但本文提出的算法對(duì)其他異構(gòu)眾核系統(tǒng)架構(gòu),如GPU 也具有很大的借鑒意義.

    下一步工作可以從以下兩方面展開:一方面,可以對(duì)本文的工作進(jìn)行擴(kuò)展,功能上實(shí)現(xiàn)支持非2 的冪次一維FFT 計(jì)算以及任意規(guī)模的多維FFT;另一方面,將本文提出的算法移植到其他計(jì)算平臺(tái).

    猜你喜歡
    優(yōu)化
    超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
    PEMFC流道的多目標(biāo)優(yōu)化
    能源工程(2022年1期)2022-03-29 01:06:28
    民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
    關(guān)于優(yōu)化消防安全告知承諾的一些思考
    一道優(yōu)化題的幾何解法
    由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
    圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
    事業(yè)單位中固定資產(chǎn)會(huì)計(jì)處理的優(yōu)化
    4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
    幾種常見的負(fù)載均衡算法的優(yōu)化
    電子制作(2017年20期)2017-04-26 06:57:45
    精品国产乱码久久久久久男人| 国产主播在线观看一区二区| 成人av一区二区三区在线看| 国产精品影院久久| 99国产极品粉嫩在线观看| 精品久久久久久,| 欧美黑人精品巨大| 51午夜福利影视在线观看| 欧美乱妇无乱码| 校园春色视频在线观看| 欧美性长视频在线观看| 波多野结衣av一区二区av| 成年人免费黄色播放视频| 亚洲精华国产精华精| 国产国语露脸激情在线看| 国产高清videossex| 天天躁日日躁夜夜躁夜夜| 亚洲精品国产区一区二| 日本精品一区二区三区蜜桃| 久久久久久久久久久久大奶| 欧美国产精品一级二级三级| 无限看片的www在线观看| 老熟妇仑乱视频hdxx| 91麻豆精品激情在线观看国产 | 亚洲黑人精品在线| 成人黄色视频免费在线看| 18禁裸乳无遮挡免费网站照片 | 亚洲精品中文字幕在线视频| 大码成人一级视频| 欧美午夜高清在线| 中文字幕制服av| 天天影视国产精品| 99re6热这里在线精品视频| 亚洲人成77777在线视频| 电影成人av| 两性夫妻黄色片| 人人妻人人澡人人看| √禁漫天堂资源中文www| svipshipincom国产片| 少妇的丰满在线观看| 国产精品秋霞免费鲁丝片| tocl精华| 亚洲性夜色夜夜综合| 国产真人三级小视频在线观看| 欧美日韩精品网址| 亚洲av第一区精品v没综合| tube8黄色片| 一区二区三区激情视频| 婷婷丁香在线五月| 69精品国产乱码久久久| 国产免费现黄频在线看| 国产三级黄色录像| 一进一出好大好爽视频| 在线观看免费视频网站a站| 一区福利在线观看| 午夜福利欧美成人| 日本欧美视频一区| 亚洲国产看品久久| 午夜福利欧美成人| 久久久精品免费免费高清| 美女高潮喷水抽搐中文字幕| 精品人妻熟女毛片av久久网站| 国产亚洲欧美在线一区二区| 国产精品成人在线| 看免费av毛片| 妹子高潮喷水视频| 亚洲av成人av| 国产成人一区二区三区免费视频网站| 99国产精品99久久久久| 伊人久久大香线蕉亚洲五| 日本欧美视频一区| 精品乱码久久久久久99久播| 十八禁网站免费在线| 国产一区二区三区在线臀色熟女 | 亚洲精品乱久久久久久| 成熟少妇高潮喷水视频| 男女高潮啪啪啪动态图| xxxhd国产人妻xxx| 亚洲精品av麻豆狂野| 日日夜夜操网爽| 正在播放国产对白刺激| 久久国产精品人妻蜜桃| 欧美日韩黄片免| 人妻一区二区av| 亚洲五月天丁香| 婷婷丁香在线五月| 少妇 在线观看| 久久精品熟女亚洲av麻豆精品| 性色av乱码一区二区三区2| x7x7x7水蜜桃| 高清欧美精品videossex| 国产精品影院久久| 91av网站免费观看| 欧洲精品卡2卡3卡4卡5卡区| 亚洲三区欧美一区| 亚洲男人天堂网一区| 亚洲五月婷婷丁香| 黄色怎么调成土黄色| 精品一区二区三区视频在线观看免费 | 免费一级毛片在线播放高清视频 | 一级黄色大片毛片| 亚洲精品美女久久久久99蜜臀| 香蕉国产在线看| 国产在线精品亚洲第一网站| 婷婷成人精品国产| 国产成人精品在线电影| 老司机午夜福利在线观看视频| 亚洲专区字幕在线| 久久精品国产亚洲av香蕉五月 | 12—13女人毛片做爰片一| 国产精品免费一区二区三区在线 | 亚洲一区二区三区不卡视频| 午夜福利视频在线观看免费| 精品福利永久在线观看| 黄片播放在线免费| 婷婷精品国产亚洲av在线 | 欧美不卡视频在线免费观看 | 满18在线观看网站| 国产aⅴ精品一区二区三区波| 满18在线观看网站| 亚洲综合色网址| 精品福利观看| 妹子高潮喷水视频| 精品视频人人做人人爽| 久久亚洲精品不卡| ponron亚洲| 欧美日韩av久久| 精品一区二区三区av网在线观看| 国产av又大| 亚洲精品国产精品久久久不卡| 久久久国产欧美日韩av| 黑人巨大精品欧美一区二区mp4| 国产成+人综合+亚洲专区| 亚洲情色 制服丝袜| 国产成人欧美在线观看 | 首页视频小说图片口味搜索| 1024视频免费在线观看| 婷婷精品国产亚洲av在线 | 国产成人影院久久av| 电影成人av| 男人的好看免费观看在线视频 | 免费少妇av软件| 99热只有精品国产| 精品免费久久久久久久清纯 | 久久久精品区二区三区| 日本五十路高清| 91麻豆精品激情在线观看国产 | 久久久久久久精品吃奶| 99精品久久久久人妻精品| 欧洲精品卡2卡3卡4卡5卡区| 精品卡一卡二卡四卡免费| 欧美日韩黄片免| 成年人免费黄色播放视频| 老司机午夜十八禁免费视频| 成人永久免费在线观看视频| 在线免费观看的www视频| 欧美日韩视频精品一区| 看黄色毛片网站| 亚洲欧美色中文字幕在线| 国产精品久久视频播放| 免费观看精品视频网站| 精品久久久久久,| 一级片免费观看大全| 黑人欧美特级aaaaaa片| 精品久久久久久,| 老鸭窝网址在线观看| 精品一区二区三区av网在线观看| 亚洲国产精品sss在线观看 | 夜夜夜夜夜久久久久| 老熟妇乱子伦视频在线观看| 高清视频免费观看一区二区| 老司机午夜福利在线观看视频| 黄色成人免费大全| 免费高清在线观看日韩| 正在播放国产对白刺激| 国产野战对白在线观看| av超薄肉色丝袜交足视频| 精品第一国产精品| 免费黄频网站在线观看国产| 大香蕉久久成人网| 欧美性长视频在线观看| 日本精品一区二区三区蜜桃| 大码成人一级视频| 国产精品综合久久久久久久免费 | 十八禁高潮呻吟视频| cao死你这个sao货| 免费一级毛片在线播放高清视频 | 日韩制服丝袜自拍偷拍| a级毛片在线看网站| 91麻豆av在线| 精品国产乱子伦一区二区三区| 一级毛片高清免费大全| 少妇 在线观看| 久久狼人影院| 亚洲av电影在线进入| 丝袜人妻中文字幕| 99久久综合精品五月天人人| 国产成人免费无遮挡视频| 一级a爱视频在线免费观看| av天堂在线播放| 十八禁网站免费在线| 最新的欧美精品一区二区| 国产精品亚洲av一区麻豆| 怎么达到女性高潮| 国产乱人伦免费视频| 99久久人妻综合| 亚洲精品美女久久av网站| 十八禁人妻一区二区| svipshipincom国产片| 热re99久久精品国产66热6| 女性生殖器流出的白浆| 亚洲精品乱久久久久久| 精品国产亚洲在线| 国产伦人伦偷精品视频| 国产成人av激情在线播放| 十八禁高潮呻吟视频| 母亲3免费完整高清在线观看| 黄片播放在线免费| 99re在线观看精品视频| 欧美日韩成人在线一区二区| 国产1区2区3区精品| 亚洲美女黄片视频| 69精品国产乱码久久久| 手机成人av网站| 欧美黑人欧美精品刺激| 欧美另类亚洲清纯唯美| 丝瓜视频免费看黄片| 满18在线观看网站| 丝袜美足系列| 国产不卡一卡二| 国产精品久久久久久人妻精品电影| 9色porny在线观看| 亚洲国产看品久久| 美女 人体艺术 gogo| 激情在线观看视频在线高清 | 中文字幕高清在线视频| 久久精品国产亚洲av香蕉五月 | 国产又色又爽无遮挡免费看| 国产黄色免费在线视频| 黑人欧美特级aaaaaa片| 好男人电影高清在线观看| 免费观看人在逋| 91大片在线观看| 亚洲 国产 在线| 亚洲一码二码三码区别大吗| 日日夜夜操网爽| 国产不卡一卡二| 国产av又大| 美国免费a级毛片| 18禁国产床啪视频网站| 狂野欧美激情性xxxx| 丰满饥渴人妻一区二区三| 精品国产一区二区三区久久久樱花| 国产高清videossex| av线在线观看网站| 国产av又大| 一级毛片女人18水好多| 精品亚洲成国产av| 欧美精品一区二区免费开放| 欧美 亚洲 国产 日韩一| 日韩欧美一区视频在线观看| 操美女的视频在线观看| 国产一区二区三区视频了| 18禁美女被吸乳视频| 黄色怎么调成土黄色| 国产xxxxx性猛交| 亚洲熟女精品中文字幕| 一边摸一边抽搐一进一出视频| 亚洲精品粉嫩美女一区| 黄色丝袜av网址大全| 日韩欧美国产一区二区入口| a级毛片在线看网站| 丁香六月欧美| 宅男免费午夜| av网站在线播放免费| ponron亚洲| 亚洲精品自拍成人| 99久久99久久久精品蜜桃| 亚洲熟妇中文字幕五十中出 | 欧美国产精品va在线观看不卡| 啦啦啦 在线观看视频| 免费av中文字幕在线| 极品少妇高潮喷水抽搐| 久久性视频一级片| 亚洲专区国产一区二区| av超薄肉色丝袜交足视频| 搡老熟女国产l中国老女人| 天堂动漫精品| 淫妇啪啪啪对白视频| 久久精品aⅴ一区二区三区四区| 国产麻豆69| 国产亚洲一区二区精品| 中亚洲国语对白在线视频| 亚洲欧美一区二区三区久久| 久久久精品免费免费高清| 日本撒尿小便嘘嘘汇集6| 久久婷婷成人综合色麻豆| av超薄肉色丝袜交足视频| 欧美 亚洲 国产 日韩一| 午夜福利免费观看在线| 少妇猛男粗大的猛烈进出视频| 男女床上黄色一级片免费看| 最新美女视频免费是黄的| 美女午夜性视频免费| 黄色片一级片一级黄色片| 在线观看www视频免费| 久久久久久久久久久久大奶| 国产精品国产高清国产av | 精品一区二区三区av网在线观看| 在线免费观看的www视频| svipshipincom国产片| 亚洲第一av免费看| 精品久久蜜臀av无| 免费看a级黄色片| 欧美日韩福利视频一区二区| 国产99白浆流出| 色精品久久人妻99蜜桃| 久久国产精品影院| 国产精品久久视频播放| 欧美日韩精品网址| 亚洲av欧美aⅴ国产| 亚洲专区字幕在线| 久久国产精品大桥未久av| 免费一级毛片在线播放高清视频 | 亚洲国产精品sss在线观看 | 成年人免费黄色播放视频| 欧美日韩视频精品一区| 精品国产超薄肉色丝袜足j| 一级片免费观看大全| 国产成人精品久久二区二区免费| 老熟女久久久| 亚洲欧美一区二区三区黑人| 看片在线看免费视频| 亚洲av成人av| 亚洲精品久久午夜乱码| 久久人人97超碰香蕉20202| 成人黄色视频免费在线看| av电影中文网址| 免费高清在线观看日韩| 中文字幕最新亚洲高清| 好男人电影高清在线观看| 一级作爱视频免费观看| 美女国产高潮福利片在线看| 亚洲国产精品一区二区三区在线| 亚洲精品久久午夜乱码| 亚洲国产看品久久| svipshipincom国产片| 国产高清视频在线播放一区| 成人黄色视频免费在线看| 99国产精品一区二区三区| 欧美黑人欧美精品刺激| 国产成人av激情在线播放| 欧美av亚洲av综合av国产av| 两性夫妻黄色片| 激情视频va一区二区三区| 欧美黑人精品巨大| 免费不卡黄色视频| 新久久久久国产一级毛片| 免费看十八禁软件| 日日夜夜操网爽| 每晚都被弄得嗷嗷叫到高潮| 亚洲精品中文字幕一二三四区| 超碰成人久久| 黄色视频不卡| 日韩欧美在线二视频 | 麻豆国产av国片精品| 亚洲国产欧美网| 午夜福利在线免费观看网站| 搡老乐熟女国产| 丰满的人妻完整版| 18禁裸乳无遮挡动漫免费视频| 中文亚洲av片在线观看爽 | 99国产精品一区二区三区| 国产有黄有色有爽视频| 久久久久精品国产欧美久久久| av天堂在线播放| e午夜精品久久久久久久| 热re99久久精品国产66热6| 亚洲九九香蕉| 免费日韩欧美在线观看| www.999成人在线观看| 一级毛片女人18水好多| 搡老岳熟女国产| 亚洲色图 男人天堂 中文字幕| 国产aⅴ精品一区二区三区波| 18禁观看日本| 国产精品美女特级片免费视频播放器 | 欧美性长视频在线观看| 精品亚洲成a人片在线观看| 午夜老司机福利片| 天堂俺去俺来也www色官网| 超色免费av| 欧美激情久久久久久爽电影 | 免费日韩欧美在线观看| 狠狠婷婷综合久久久久久88av| 王馨瑶露胸无遮挡在线观看| 免费在线观看完整版高清| 高潮久久久久久久久久久不卡| 另类亚洲欧美激情| 校园春色视频在线观看| 少妇被粗大的猛进出69影院| 99久久综合精品五月天人人| 一区二区日韩欧美中文字幕| 亚洲免费av在线视频| 久久久国产欧美日韩av| 人人妻人人澡人人看| 极品少妇高潮喷水抽搐| 日韩有码中文字幕| 国产野战对白在线观看| 99精品久久久久人妻精品| 亚洲av成人不卡在线观看播放网| 国产精品成人在线| 一进一出抽搐gif免费好疼 | 91国产中文字幕| 日本黄色视频三级网站网址 | av免费在线观看网站| 国产免费现黄频在线看| 成人精品一区二区免费| 国产免费av片在线观看野外av| 首页视频小说图片口味搜索| 国产欧美日韩一区二区三区在线| 亚洲人成伊人成综合网2020| 精品一区二区三区视频在线观看免费 | 波多野结衣一区麻豆| 免费久久久久久久精品成人欧美视频| 国精品久久久久久国模美| 亚洲欧美激情在线| 捣出白浆h1v1| 国产欧美日韩综合在线一区二区| 午夜91福利影院| 久久精品国产a三级三级三级| 久久香蕉国产精品| 国产黄色免费在线视频| 精品国产乱子伦一区二区三区| 老熟女久久久| 亚洲一码二码三码区别大吗| 制服人妻中文乱码| 国产精品一区二区精品视频观看| 黄色视频,在线免费观看| 精品午夜福利视频在线观看一区| 欧美国产精品va在线观看不卡| 亚洲中文av在线| 两人在一起打扑克的视频| 欧美日韩瑟瑟在线播放| 视频区欧美日本亚洲| 老司机午夜十八禁免费视频| 欧美性长视频在线观看| 国产精品自产拍在线观看55亚洲 | 高潮久久久久久久久久久不卡| 亚洲欧美色中文字幕在线| av有码第一页| 757午夜福利合集在线观看| 久久狼人影院| 精品免费久久久久久久清纯 | 视频区欧美日本亚洲| 好看av亚洲va欧美ⅴa在| 亚洲男人天堂网一区| 美女福利国产在线| 黄片小视频在线播放| 欧美最黄视频在线播放免费 | 免费在线观看完整版高清| 人妻久久中文字幕网| 丰满的人妻完整版| 亚洲综合色网址| a级片在线免费高清观看视频| 操美女的视频在线观看| 日本欧美视频一区| 久久人妻av系列| 精品一品国产午夜福利视频| 亚洲在线自拍视频| 久久亚洲精品不卡| 国产精品电影一区二区三区 | 国产精品一区二区在线不卡| 亚洲第一青青草原| 精品第一国产精品| 国产成人精品在线电影| 精品国内亚洲2022精品成人 | 欧美日韩成人在线一区二区| 午夜精品国产一区二区电影| 久9热在线精品视频| 精品亚洲成a人片在线观看| 18禁黄网站禁片午夜丰满| 国产精品久久久av美女十八| 女人被狂操c到高潮| 久久精品aⅴ一区二区三区四区| 久久草成人影院| 久久精品国产清高在天天线| 中文字幕最新亚洲高清| 亚洲国产精品sss在线观看 | 女性被躁到高潮视频| 国产精品国产av在线观看| av超薄肉色丝袜交足视频| 黄片播放在线免费| 他把我摸到了高潮在线观看| 如日韩欧美国产精品一区二区三区| 久久久久精品国产欧美久久久| 日韩成人在线观看一区二区三区| 免费在线观看黄色视频的| 欧美不卡视频在线免费观看 | 天天影视国产精品| 在线av久久热| 亚洲欧美激情在线| 桃红色精品国产亚洲av| 黑人操中国人逼视频| 午夜精品国产一区二区电影| 1024视频免费在线观看| 黄色毛片三级朝国网站| cao死你这个sao货| 欧美 亚洲 国产 日韩一| 视频在线观看一区二区三区| 久久久久久久国产电影| 人人妻人人澡人人看| 欧美成人免费av一区二区三区 | 人成视频在线观看免费观看| a级毛片黄视频| 国产精品成人在线| 久久久久久久国产电影| 日本一区二区免费在线视频| 免费少妇av软件| 国产成人欧美在线观看 | 国产精品偷伦视频观看了| 好男人电影高清在线观看| x7x7x7水蜜桃| 欧美+亚洲+日韩+国产| 91麻豆av在线| 啦啦啦免费观看视频1| 黄色a级毛片大全视频| 他把我摸到了高潮在线观看| 王馨瑶露胸无遮挡在线观看| 亚洲精品美女久久av网站| 亚洲精品av麻豆狂野| 成在线人永久免费视频| 黑人操中国人逼视频| 日韩人妻精品一区2区三区| 午夜福利影视在线免费观看| 国产一区在线观看成人免费| 成年女人毛片免费观看观看9 | 欧美日本中文国产一区发布| 久久精品亚洲熟妇少妇任你| 国产亚洲精品久久久久5区| 天堂俺去俺来也www色官网| 久久九九热精品免费| 成人国产一区最新在线观看| 国产极品粉嫩免费观看在线| 亚洲片人在线观看| 夫妻午夜视频| 亚洲av电影在线进入| 一本综合久久免费| 成人亚洲精品一区在线观看| 侵犯人妻中文字幕一二三四区| 人成视频在线观看免费观看| 大型黄色视频在线免费观看| av片东京热男人的天堂| 欧美黄色片欧美黄色片| 精品少妇久久久久久888优播| 久久精品国产亚洲av高清一级| 精品少妇久久久久久888优播| 亚洲成av片中文字幕在线观看| 9色porny在线观看| 久久中文字幕一级| 成年人午夜在线观看视频| 亚洲av美国av| 一级毛片精品| 亚洲aⅴ乱码一区二区在线播放 | 黄色片一级片一级黄色片| 午夜福利一区二区在线看| 国产高清videossex| 99国产综合亚洲精品| 国产亚洲精品一区二区www | 人成视频在线观看免费观看| 亚洲欧美精品综合一区二区三区| av超薄肉色丝袜交足视频| 亚洲欧美日韩另类电影网站| 亚洲国产欧美一区二区综合| 欧美日韩精品网址| 如日韩欧美国产精品一区二区三区| 国产日韩欧美亚洲二区| 亚洲人成伊人成综合网2020| 日韩成人在线观看一区二区三区| 成人三级做爰电影| 国产xxxxx性猛交| 操出白浆在线播放| ponron亚洲| av一本久久久久| 十八禁高潮呻吟视频| 亚洲情色 制服丝袜| 99在线人妻在线中文字幕 | 国产精品九九99| 少妇 在线观看| 91国产中文字幕| 国产一区在线观看成人免费| 黑人猛操日本美女一级片| 日韩欧美一区视频在线观看| 人人澡人人妻人| 黄频高清免费视频| 中文字幕精品免费在线观看视频| 免费观看a级毛片全部| av天堂在线播放| 国产成人av激情在线播放| 久久香蕉国产精品| 国产亚洲av高清不卡| 后天国语完整版免费观看| 欧美黑人精品巨大| 9色porny在线观看| cao死你这个sao货| 久久久久久免费高清国产稀缺| 熟女少妇亚洲综合色aaa.| 宅男免费午夜| 欧美日韩瑟瑟在线播放| 高清毛片免费观看视频网站 | 国产在线一区二区三区精| e午夜精品久久久久久久| 亚洲精品美女久久av网站| 变态另类成人亚洲欧美熟女 | 视频区欧美日本亚洲|