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

    基于申威1600的3級BLAS GEMM函數優(yōu)化①

    2016-02-20 06:52:24劉芳芳蔣麗娟中國科學院軟件研究所北京0090中國科學院大學北京0090
    計算機系統(tǒng)應用 2016年12期
    關鍵詞:重排線程寄存器

    劉 昊, 劉芳芳, 張 鵬, 楊 超, 蔣麗娟(中國科學院 軟件研究所, 北京 0090)(中國科學院大學, 北京 0090)

    基于申威1600的3級BLAS GEMM函數優(yōu)化①

    劉 昊1,2, 劉芳芳1, 張 鵬1,2, 楊 超1, 蔣麗娟1,21(中國科學院 軟件研究所, 北京 100190)2(中國科學院大學, 北京 100190)

    BLAS是當前科學計算領域重要的底層支持數學庫之一, 其中的3級BLAS函數應用最為廣泛. 本文基于國產申威1600平臺, 提出了一種基礎線性代數庫BLAS的三級函數通用矩陣乘GEMM的高性能實現方法. 在單核上, 使用乘加指令、循環(huán)展開、軟件流水線指令重排、SIMD向量化運算、寄存器分塊技術等與平臺架構相關的技術手段, 實現匯編級手工優(yōu)化; 在多核上, 提出了適用于該平臺的多線程加速方案. 實驗結果顯示, 在單核串行性能測試中, 與知名開源數學庫GotoBLAS相比, 我們實現了平均4.72倍的加速效果; 在多核并行擴展測試中, 4線程版的性能則平均達到了單線程版性能的3.02倍.

    申威1600; 三級BLAS; GEMM; 高性能計算; 多核

    1 引言

    1.1 背景介紹

    BLAS(Basic Linear Algebra Subprograms)是一個線性代數核心子程序的集合,主要包括向量和矩陣的基本操作. 它是最基本和最重要的數學庫之一, 廣泛應用于科學工程計算. 目前世界上有關矩陣運算的軟件幾乎都調用BLAS數學庫; 重要的稠密線性代數算法軟件包(如EISPACK、LINPACK、LAPACK和ScaLAPACK等)的底層都是以BLAS為支撐. BLAS目前已成為線性代數領域的一個標準API庫.

    BLAS分成三個等級:

    1級: 進行向量-向量操作;

    2級: 進行向量-矩陣操作;

    3級: 進行矩陣-矩陣操作.

    本文主要研究BLAS 3級中的通用矩陣相乘GEMM函數, 如公式(1)所示, 其中A, B, C表示矩陣,α,β為標量因子.

    針對特定的體系結構進行BLAS庫的優(yōu)化, 特別是GEMM函數的優(yōu)化工作, 國內外已有相當多的研究成果, 例如Goto等人所提出的矩陣乘法實現算法, 通過對矩陣A和B進行劃分, 矩陣乘法細分為一組panel-panel的乘法操作(GEBP), 分析矩陣計算三重循環(huán)順序與cache緩存之間的關系模型并提出最優(yōu)算法[1][2]. 基于該模型的開源高性能BLAS數學庫有Texas大學超級計算中心高性能計算組開發(fā)的GotoBLAS[3].近幾年來, 針對BLAS的自動調優(yōu)技術日漸成熟, ATLAS數學庫可以針對通用CPU平臺進行自動調優(yōu),通過自動調整矩陣分塊、監(jiān)測cache利用率、調整寄存器使用策略等方式, 生成最合適平臺架構的代碼[4].

    近年來隨著CPU+GPU異構并行計算的興起, 基礎線性代數庫在這些異構平臺上的高性能實現也出現大量優(yōu)秀科研成果[5,6]. 與本文所述的基于稠密矩陣的BLAS優(yōu)化工作不同, 很多基于STENCIL計算而出現的稀疏矩陣若以稠密方式進行計算則明顯效率低下,面向這些稀疏矩陣實現高性能的BLAS庫是近年來該領域的另一個重要方向[7].

    神威藍光國產超級計算機是由國家并行計算機工程研究中心開發(fā)研制的首臺全部采用國產CPU構建的千萬億次超級計算機系統(tǒng), 處理器采用自主設計生產的申威1600 CPU, 于2011年10月份在國家超級計算濟南中心投入使用, 其布局按照MPP萬萬億次架構設計, 主頻975MHz-1.1GHz, 單CPU 16核心[8], CPU總數為8704, CPU核心總數接近14萬, 峰值計算速度達到每秒1100萬億次浮點計算, 持續(xù)計算能力為738萬億次.

    隨著高性能計算需求的日益增大, 越來越多的應用開始部署在以申威處理器為代表的國產高性能計算平臺上. 這些應用中, 無論是在傳統(tǒng)的科學計算、氣象預報、金融統(tǒng)計等領域, 亦或是現今新興的機器學習等, 均嚴重依賴底層BLAS庫的實現以獲得較高的計算性能. 而現有的開源BLAS庫, 均無法有效的利用國產平臺的硬件特性, 實際性能較低, 迫切需要針對國產平臺進行優(yōu)化實現的BLAS庫出現. 因此, 結合神威藍光等當前國產多核處理器體系結構特征, 研究BLAS數學庫, 特別是3級BLAS函數的高性能實現方法具有重要意義.

    1.2 本文組織結構

    本文主要針對國家超級計算濟南中心的申威1600平臺進行BLAS數學庫三級函數的優(yōu)化研究工作,以通用矩陣相乘函數GEMM為例進行表述. 其中第一章是引言, 介紹平臺信息與BLAS庫優(yōu)化現狀以及本文工作的意義; 第二章以GEMM為例, 介紹三級BLAS函數特點; 第三章介紹基于單核的GEMM優(yōu)化設計; 第四章介紹基于多核的GEMM優(yōu)化設計; 第五章為實驗, 與開源的GotoBLAS數學庫進行性能比較;最后是總結與展望.

    2 三級BLAS GEMM函數概述

    一般來說, 1級BLAS函數計算復雜度為O(N), 2級BLAS函數計算復雜度為O(N2), 3級BLAS函數計算復雜度為O(N3), 評價一套BLAS數學庫性能高低, 3級BLAS的性能是最重要的指標, 而通用矩陣乘法函數GEMM作為3級BLAS最常用的函數, 其性能指標往往也最被關注.

    GEMM實現公式1所述的矩陣相乘計算, 其本質是K-N-M的三重循環(huán)計算, 計算復雜度為O(N3). 考慮其訪存特性, GEMM函數讀取A、B、C矩陣各一次,寫回C矩陣一次, 復雜度可表述為O(2MN+MK+KN),整體為O(N2)復雜度, 在矩陣的K、N、M三維足夠大的情況下, 計算復雜度遠大于訪存復雜度, 將訪存開銷隱藏在計算過程中是完全可行的, 理論上GEMM函數性能應可以接近平臺性能峰值.

    目前的通用編譯器往往只能進行普適性的優(yōu)化,例如循環(huán)展開, 利用硬件流水線進行加速, 而不能針對GEMM函數特性, 分析數據依賴情況, 實現最優(yōu)化的計算與訪存延遲互相掩蓋. 例如著名的NETLIB BLAS, 一種通用的, 使用FORTRAN語言實現的BLAS庫(一般作為正確性與性能的基準測試程序, http://www.netlib.org/blas/). 該BLAS庫中的GEMM使用最樸素的三重循環(huán)實現, 可以認為除了編譯器優(yōu)化外不存在其它任何形式優(yōu)化. 該版本BLAS在本文所述的申威1600平臺上性能為280 MFLOPS, 僅僅相當于平臺性能峰值的3.5%, 遠不能滿足應用對GEMM的性能要求[9], 故需要設計高效的分塊算法, 結合核心段的需要手工匯編來實現.

    3 基于單核的串行優(yōu)化設計

    針對申威1600平臺單核, 基于其平臺的擴展ALPHA指令集, 本節(jié)提出了GEMM函數的高性能優(yōu)化方案. 該方案基于本文第2章所述的GEMM函數的計算密集型特征, 充分考慮申威1600平臺特性, 最大程度發(fā)揮該平臺計算能力, 實現該平臺上的高性能GEMM函數, 合理利用平臺的寄存器等硬件資源, 實現計算與訪存延遲互相掩蓋.

    3.1 乘加指令

    GEMM函數實現的計算如公式1所示, 對C矩陣元素進行乘加操作. GotoBLAS針對ALPHA架構的核心函數的匯編實現中沒有實現乘加操作, 乘法與加法分別進行. 在寄存器分塊為4*4的情況下, 讀取A、B矩陣各4份數據, 計算16份C矩陣的部分解, 計算訪存比達到4比1, 在內層循環(huán)充分循環(huán)展開后, 平均每4條計算指令中插入一條通信指令. 高達4比1 的計算通信會增加寄存器的消耗, 不利于軟件流水線的排布.

    申威1600平臺提供SIMD乘加指令, 每次計算指令可以實現加法和乘法在一個指令周期完成. 在同樣4*4的寄存器分塊情況下, 計算通信比降低為2比1[10],計算指令總數減少一半, 理論上可達到2倍的性能加速, 內層循環(huán)中的中間變量數減少, 對寄存器的消耗降低, 利于軟件流水線的排布.

    3.2 256位的SIMD向量運算

    一般而言, 在不考慮編譯優(yōu)化的情況下, 我們可以使用intrinsic函數進行手工向量化, 基于C代碼就可以取得不錯的性能提升. 但是對于性能要求較高的任務, 比如本文討論的GEMM函數, intrinsic函數并不能勝任, 因為intrinsic函數不能控制指令的調度和寄存器分配, 所以我們需要在核心函數中編寫向量化的匯編代碼[9].

    申威1600平臺提供了256位的SIMD向量擴展支持. 以實數雙精度為例, 每個元素為8字節(jié)、64位, 進行向量化擴展后, 配合長度為256位的浮點向量化寄存器, 每次順序讀取4個A矩陣元素, 同時對4個C矩陣元素進行運算, 理論上性能可實現4倍加速.

    3.3 循環(huán)展開與軟件流水線

    循環(huán)展開是編譯器經常使用的優(yōu)化策略之一, 循環(huán)展開后, 最內層循環(huán)的單次循環(huán)內指令數增加, 從硬件角度看, 更多的指令可以用于亂序發(fā)射與亂序執(zhí)行, 利于硬件流水線發(fā)揮作用, CPU保留站等硬件資源也可更充分得以利用; 從軟件角度看, 更多的指令可以用于指令重排, 有助于避免“訪存-計算”的數據依賴關系. 一般而言, 訪問主存往往有較高的延遲, 要求多次的循環(huán)展開, 將訪存操作的延遲隱藏于運算操作中.

    在實際的核心函數實現中, 我們仍然采用了經典的N-M-K的計算順序, 內層循環(huán)的部分代碼如下, 其中VMAX為乘加指令:

    圖1 核心匯編代碼舉例

    在核心函數設計過程中, 以下幾點比較重要: (1)硬件提供兩條流水線, 無數據依賴的計算與訪存可同時發(fā)射, 則指令排布應盡量保證一條計算指令和一條取數指令共同出現, 使得兩條流水線都占滿; (2)最內層循環(huán)需展開足夠的次數, 掩蓋掉所有的本地訪存指令, 考慮實際申威1600平臺數據從cache到寄存器的延遲, 最內層的K層循環(huán)展開兩次即可.

    3.4 寄存器分塊

    寄存器分塊的目的是合理安排核心函數中矩陣分塊的大小, 在不超過硬件限制的情況下盡可能充分利用寄存器等硬件資源, 實現性能優(yōu)化.

    寄存器的數量決定了寄存器分塊的大小. 申威1600是擴展的ALPHA架構平臺, 每個CPU擁有F0到F31, 共32個邏輯浮點寄存器, 本文選擇4*4的寄存器分塊. 在此分塊下, 每輪使用4個浮點向量寄存器, 取4個256位向量長度的A矩陣元素, 共16個A矩陣元素; 使用4個浮點向量寄存器, 每個寄存器取1個B陣元素并擴展成4份, 則4個寄存器處理4個B矩陣元素, 計算16個256位向量長度的C矩陣元素,即64個C矩陣雙精元素的部分解, 由此共使用了24個浮點向量寄存器. 此外, F31寄存器固定存儲0值,剩余7個邏輯寄存器存儲中間變量或用作循環(huán)變量,寄存器資源使用合理且高效.

    3.5 數據預取與數據重排

    申威1600提供特定的預取指令fetchd, 支持將內存中的數據預取至cache中, 每次預取一個cache行的數據量. 若不使用預取指令, 每當一個cache行的數據使用完畢, 硬件都需要等待數據從內存加載至cache中,造成流水線停頓, 且這種停頓以百拍來衡量, 對于追求高性能的GEMM來說是無法容忍的. 在實測中, 若矩陣A拷貝過程不使用預取指令, 總體性能下降14.1%,若矩陣B拷貝過程不用預取指令, 總體性能下降43.6%.

    使用fetchd預取指令的位置及預取跨步的大小需謹慎設計, 若跨步太小, 會造成數據還未完成預取就需要使用, 造成流水線停頓; 若跨步太大, 會造成預取數據完成后長時間沒有使用, 再次被替換出去. 申威1600 CPU使用的cache替換順序為FIFO, 即先進先出的策略, 這對GEMM函數的設計而言是有利的, cache數據的替換是可控的, 因此只要測試出合適的跨步, 性能可以保證穩(wěn)定.

    數據的預取僅考慮到指令位置與跨步大小是不夠的. 按照Goto等人的分析[1,11], GEMM核心函數三重循環(huán)的最優(yōu)順序應是N-M-K, 且最內層循環(huán), 即K層循環(huán)應保證足夠高的性能, 盡量減少延遲, 最大程度利用好cache和寄存器等硬件資源, 否則函數整體性能無從談起[12].

    我們以列主元矩陣為例進行說明, 若矩陣數據不進行任何處理直接按照N-M-K的順序進行計算, 使用前文所述的4*4寄存器分塊, 不考慮SIMD向量化影響, 且假設分塊矩陣的M維足夠大, 則每次cache行只有前4個元素能夠使用, 沿K維進行的下一次計算需要的數據一定不在該cache行中, cache資源被極大浪費, 且極易因cache不命中造成流水線停頓.

    為此, 需考慮將A矩陣和B矩陣沿K維方向進行重排, 每次cache行所取數據都被完全利用, 重排效果如圖2所示.

    圖2 A矩陣和B矩陣重排示意圖

    4 基于多核的優(yōu)化設計

    考慮計算任務的劃分, 各線程對矩陣進行等份劃分, 計算各自對應的C矩陣部分解即可, 理論上講, 線程之間沒有數據依賴關系, 可以說GEMM函數具有天然的多線程負載均衡特性. 對于GEMM函數而言, 進行多核并行化優(yōu)化實施并不復雜, 每個計算核心運行一個線程, 每個線程之上的優(yōu)化設計仍采用上一章所述的基于單核的優(yōu)化設計方案即可.

    直觀來看, 任務劃分可以按照A矩陣的M維進行劃分或按照B矩陣的N維進行劃分, 本文使用了行方向, 即沿著A矩陣的M維進行劃分的方法, 4線程并行化的數據劃分, 如圖3所示, 每個線程計算對應的C矩陣部分解.

    如圖3所示, 4個線程各自擁有私有的部分A矩陣,線程間共享整個B矩陣, 計算對應的C矩陣的部分解.由于申威1600架構支持多線程共享內存, 理論上4線程對一個內存地址具有相同的訪存延遲, 不會發(fā)生某個線程需要等待其他線程訪存的情況.

    正如前文所述, GEMM具有天然的負載均衡特性,在矩陣規(guī)模合理, 不考慮特殊規(guī)?;蜻吔绲那闆r下,可以做到所有線程計算規(guī)模完全或近似相等. 然而,由于每個線程內部的計算仍然按照單核進行, 仍需采用寄存器分塊、軟件流水線等技術, 每個線程需各自進行A、B矩陣的數據重排, 我們對A、B矩陣的重排情況分別進行討論.

    圖3 線程間數據劃分

    首先考察A矩陣, 由于每個線程私有部分A矩陣元素, 線程內部進行的矩陣重排不會影響到其他線程,多個線程可以同時進行各自A矩陣的數據重排.

    接下來考察B矩陣, 我們已知所有線程共享B矩陣的所有元素, 一種簡單有效的方案是所有線程等待1號線程完成B矩陣的數據重排, 然后再并發(fā)進行計算. 但是這種方案破壞了GEMM本身具有的負載均衡特性, 在1號線程進行數據重排的過程中, 其他線程將進行等待; 另一方面講, B矩陣的劃分工作從直觀上講是完全可以并發(fā)執(zhí)行的. 因此, 我們實際也需要將B矩陣劃分于各個線程之中, 如圖4所示, 將B矩陣按列劃分于每個線程之中.

    圖4 B矩陣劃分

    考慮到B矩陣需要共享, 我們設計了一種二維數組的線程間共享的數據結構working[i], 表示第j個線程為第i個線程準備的重排后的B矩陣元素, working[i]中的每個元素為一個指針, 指向對應的重排后的B矩陣元素頭指針. 換言之, 重排后的B矩陣數據被各個線程私有, 但這些數據指針卻是共享的, 基于申威1600的平臺多線程共享內存架構, 各線程可以相同的延遲共享這些數組.

    該共享的數據結構內的元素為指針, 可用于線程間同步而無需另外設計線程間的鎖機制, 當working[i]為空時, 表示此時的對應B矩陣還未重排準備就緒,不能用于計算, 該線程應該等待; 反之, 表示該B矩陣已重排準備完畢, 第i個線程可以獲取第j個線程的B元素進行計算, 計算完畢后working[i]置為空, 等待下一輪的第j個B矩陣重排完畢. 同時, 只有working[all]都為空時, 第j個線程的B矩陣才算使用完畢, 沒有其他線程需要這部分數據可以釋放并進行下一輪的B矩陣數據重排.

    5 性能測試與評價

    申威1600平臺作為國產高性能多核平臺, 性能指標優(yōu)異, 已被國家超級計算濟南中心等國內超算中心使用, 該平臺即為本文實驗的測試平臺. 該平臺使用了擴展的ALPHA架構指令集, 每個CPU支持乘加指令與256位向量化運算, 支持計算指令與訪存指令同步發(fā)射, 具體硬件參數如表1所示.

    表1 申威1600主要參數

    表2統(tǒng)計了統(tǒng)計基于單核的單線程方案, 數據規(guī)模分別為1024、2048、4096、8192, 申威1600 GEMM函數性能和GotoBLAS GEMM性能, 如圖5所示. 實驗涵蓋了如上四種規(guī)模的實數單精、實數雙精、復數單精、復數雙精共計16組測試用例, 平均加速比為4.72, 最高加速比為5.61. 為說明基于申威多核的4線程設計方案加速效果, 表3統(tǒng)計了基于多核的4線程方案, 包含了數據規(guī)模與數據類型的同上的16組測試用例, 與申威平臺單核的單線程方案相較, 平均加速比為3.02, 最高加速比為3.18. 對比圖如圖6所示.

    表2 申威單核與GotoBLAS單核性能對比

    表3 申威多核4線程與申威單核性能對比

    6 總結與展望

    本文首先說明了三級BLAS GEMM函數的計算密集型的特征, 接下來介紹了國產申威1600多核平臺的特征. 基于該平臺擴展的ALPHA架構, 提出了基于該平臺的高性能BLAS三級函數實現方案. 本方案首先分析了基于單核的單線程優(yōu)化方案, 提出了矩陣數據重排、軟件流水線、寄存器分塊等基于該平臺的優(yōu)化技術;接著分析了基于多核的多線程優(yōu)化方案, 提出了矩陣劃分的方式與多線程同步機制. 在性能測試中, 基于申威1600平臺優(yōu)化過的GEMM函數性能, 在單核情況下對比GotoBLAS的平均加速比為4.72, 多核4線程方案的平均加速比為3.02, 達到了預期的效果.

    圖5 申威單核與GotoBLAS對比

    圖6 申威4線程與單核對比

    申威1600作為新興的國產高性能計算平臺, 我們期待著該平臺系列的后續(xù)機型, 針對該系列平臺未來將可能出現的新特性, 這對這些特性又會對高性能的BLAS數學庫提出怎樣的要求, 我們拭目以待.

    1 Goto K, Geijn RA. Anatomy of high-performance matrix multiplication. ACM Trans. on Mathematical Software (TOMS), 2008, 34(3): 12.

    2 Goto K, Van De Geijn R. High-performance implementation of the level-3 BLAS. ACM Trans. on Mathematical Software (TOMS), 2008, 35(1): 4.

    3 蔣孟奇,張云泉,宋剛,等.GOTOBLAS一般矩陣乘法高效實現機制的研究.計算機工程,2008,34(7):84–86,103.

    4 Whaley RC, Petitet A, Dongarra JJ. Automated empirical optimizations of software and the ATLAS project. Parallel Computing, 2001, 27(1-2): 3–35.

    5 張帥,李濤,王藝峰,等.細粒度任務并行GPU通用矩陣乘.計算機工程與科學,2015,37(5):847–856.

    6 Kurzak J.Preliminary results of autotuning GEMM kernels for the NVIDIA Kepler architecture-GeForce GTX 680 [z3.I, APACK Working Note 267,2014

    7 李佳佳,張秀霞,譚光明,等.選擇稀疏矩陣乘法最優(yōu)存儲格式的研究.計算機研究與發(fā)展,2014,51(4):882–894.

    8 申威1600處理器的細枝末節(jié).黑龍江科技信息,2011, (34):I0004–I0004.

    9 張先軼.若干線性解法器多核和眾核性能優(yōu)化關鍵技術研究[學位論文].北京:中國科學院大學,2014.

    10 李毅,何頌頌,李愷等.多核龍芯3A上二級BLAS庫的優(yōu)化.計算機系統(tǒng)應用,2011,20(1):163–167.

    11 張先軼,王茜,張云泉,等.OpenBLAS:龍芯3A CPU的高性能BLAS庫.2011年全國高性能計算學術年會(HPC china2011)論文集,2011.

    12 陳少虎.BLAS庫在龍芯3A上的實現與優(yōu)化[學位論文].北京:中國科學院研究生院,2011.

    Optimization of BLAS Level 3 Functions on SW1600

    LIU Hao1,2, LIU Fang-Fang1, ZHANG Peng1,2, YANG Chao1, JIANG Li-Juan1,212
    (Institute of Software, Chinese Academy of Sciences, Beijing 100190, China ) (University of Chinese Academy of Sciences, Beijing 100190, China)

    BLAS is one of the most important basic underlying math library for scientific computing, in which the level 3 BLAS functions are most widely used. In this paper, we provide a high-performance method to implement Level 3 BLAS functions based on domestic Sunway 1600 platform. To make it clear, we take GEMM as an example. For the implementation on single-core, we apply many tuning techniques related to the specific platform, such as multiply-add instructions, loop unrolling, software pipelining and instruction rearrangement, SIMD operations, and register blocking to push up the performance. For the multi-core implementation, we propose an efficient multi-threaded method. Compared with GotoBLAS, one of the famous open-source BLAS, the experiments show that our serial single-threaded method achieves a speedup of 4.72. What’s more, the average speedup of 4-threaded execution towards the single-threaded one can also reach 3.02.

    Sunway 1600; level 3 BLAS; GEMM; HPC; multi-core

    國家自然科學基金(91530103,91530323)

    2016-03-16;收到修改稿時間:2016-04-27

    10.15888/j.cnki.csa.005456

    猜你喜歡
    重排線程寄存器
    大學有機化學中的重排反應及其歸納教學實踐
    大學化學(2021年7期)2021-08-29 12:21:30
    Lite寄存器模型的設計與實現
    計算機應用(2020年5期)2020-06-07 07:06:44
    重排濾波器的實現結構*
    通信技術(2019年8期)2019-09-03 08:57:08
    EGFR突變和EML4-ALK重排雙陽性非小細胞肺癌研究進展
    分簇結構向量寄存器分配策略研究*
    淺談linux多線程協(xié)作
    基于像素重排比對的灰度圖彩色化算法研究
    Linux線程實現技術研究
    高速數模轉換器AD9779/AD9788的應用
    一種可重構線性反饋移位寄存器設計
    通信技術(2010年8期)2010-08-06 09:29:16
    天堂动漫精品| 国产黄a三级三级三级人| 男女做爰动态图高潮gif福利片| 真人做人爱边吃奶动态| 丝袜人妻中文字幕| 国产黄色小视频在线观看| 亚洲狠狠婷婷综合久久图片| 亚洲av电影在线进入| 五月玫瑰六月丁香| 久久精品影院6| 哪里可以看免费的av片| 综合色av麻豆| 在线观看午夜福利视频| 成熟少妇高潮喷水视频| 亚洲欧美日韩东京热| 大型黄色视频在线免费观看| 99在线人妻在线中文字幕| 亚洲精华国产精华精| 国产麻豆成人av免费视频| 精品无人区乱码1区二区| 亚洲专区国产一区二区| 日本黄色视频三级网站网址| 日本五十路高清| 午夜福利在线在线| 在线永久观看黄色视频| 中文字幕熟女人妻在线| 黄片大片在线免费观看| 色av中文字幕| 国产av一区在线观看免费| 人妻丰满熟妇av一区二区三区| 中文字幕久久专区| 国产免费男女视频| 亚洲国产高清在线一区二区三| 午夜视频精品福利| 在线观看舔阴道视频| 成人欧美大片| 国产精品野战在线观看| 欧美极品一区二区三区四区| 免费在线观看日本一区| 国产精品1区2区在线观看.| 成人av一区二区三区在线看| 男人舔女人下体高潮全视频| 88av欧美| 亚洲aⅴ乱码一区二区在线播放| 色精品久久人妻99蜜桃| 亚洲五月天丁香| 亚洲欧美一区二区三区黑人| 久久久久九九精品影院| 免费在线观看亚洲国产| 国产人伦9x9x在线观看| 成人永久免费在线观看视频| 亚洲熟女毛片儿| 伊人久久大香线蕉亚洲五| 国产野战对白在线观看| 欧美在线黄色| 一a级毛片在线观看| 哪里可以看免费的av片| 狠狠狠狠99中文字幕| 高清毛片免费观看视频网站| x7x7x7水蜜桃| 亚洲人成网站高清观看| 亚洲va日本ⅴa欧美va伊人久久| 亚洲av片天天在线观看| 一二三四在线观看免费中文在| 亚洲 国产 在线| 五月伊人婷婷丁香| 国产精品一区二区三区四区久久| 黄频高清免费视频| 男人和女人高潮做爰伦理| 成人亚洲精品av一区二区| 小蜜桃在线观看免费完整版高清| 亚洲色图av天堂| 99国产极品粉嫩在线观看| 人人妻人人澡欧美一区二区| 免费av毛片视频| 琪琪午夜伦伦电影理论片6080| 性色av乱码一区二区三区2| 两性夫妻黄色片| 蜜桃久久精品国产亚洲av| 级片在线观看| 欧美中文综合在线视频| 黑人欧美特级aaaaaa片| 天堂网av新在线| 一级黄色大片毛片| 我的老师免费观看完整版| 久久中文看片网| 91麻豆精品激情在线观看国产| 搡老岳熟女国产| 听说在线观看完整版免费高清| 国产精品精品国产色婷婷| 国模一区二区三区四区视频 | 女警被强在线播放| 亚洲五月婷婷丁香| 亚洲精华国产精华精| 可以在线观看的亚洲视频| 91麻豆av在线| 精品久久久久久久人妻蜜臀av| 无限看片的www在线观看| 大型黄色视频在线免费观看| 在线永久观看黄色视频| 99国产综合亚洲精品| 黄频高清免费视频| 欧美成人性av电影在线观看| 精品一区二区三区视频在线 | 99久久精品一区二区三区| 中文亚洲av片在线观看爽| 国产三级在线视频| 亚洲熟女毛片儿| 在线永久观看黄色视频| 国产精品久久久久久精品电影| 亚洲性夜色夜夜综合| 这个男人来自地球电影免费观看| 婷婷丁香在线五月| 国产成人精品久久二区二区免费| 色老头精品视频在线观看| 色哟哟哟哟哟哟| 午夜免费成人在线视频| avwww免费| 中文字幕熟女人妻在线| bbb黄色大片| 亚洲av成人精品一区久久| 好看av亚洲va欧美ⅴa在| 999久久久国产精品视频| 美女黄网站色视频| 一个人观看的视频www高清免费观看 | 黑人操中国人逼视频| 一级黄色大片毛片| 国产精品av视频在线免费观看| 国产亚洲欧美在线一区二区| 国产精品精品国产色婷婷| 99在线视频只有这里精品首页| 国产v大片淫在线免费观看| 欧美日本视频| 少妇的逼水好多| 午夜福利视频1000在线观看| 亚洲人成电影免费在线| 国产成人一区二区三区免费视频网站| 中文在线观看免费www的网站| 黑人操中国人逼视频| 亚洲成人久久性| 少妇丰满av| 琪琪午夜伦伦电影理论片6080| 成人av在线播放网站| 国产午夜福利久久久久久| 熟女少妇亚洲综合色aaa.| 久久久久国产一级毛片高清牌| 国产欧美日韩精品一区二区| 两个人的视频大全免费| 亚洲av成人av| 在线免费观看的www视频| 成人特级av手机在线观看| 精品欧美国产一区二区三| 中文字幕最新亚洲高清| 激情在线观看视频在线高清| 久久久久国产精品人妻aⅴ院| 亚洲av成人不卡在线观看播放网| 久久天堂一区二区三区四区| 欧美性猛交黑人性爽| 久久性视频一级片| 国产av一区在线观看免费| 亚洲精品一卡2卡三卡4卡5卡| 久久久成人免费电影| а√天堂www在线а√下载| xxxwww97欧美| 中文在线观看免费www的网站| 国产精品一区二区精品视频观看| 人人妻人人澡欧美一区二区| 国产精品av久久久久免费| 亚洲色图 男人天堂 中文字幕| 久久草成人影院| 99精品在免费线老司机午夜| 日韩中文字幕欧美一区二区| 人人妻,人人澡人人爽秒播| 国产精品影院久久| 免费电影在线观看免费观看| 亚洲精品色激情综合| 色精品久久人妻99蜜桃| av片东京热男人的天堂| 欧美最黄视频在线播放免费| 国产视频一区二区在线看| 日韩欧美国产一区二区入口| 97超视频在线观看视频| 亚洲五月婷婷丁香| 在线播放国产精品三级| 亚洲国产精品合色在线| 日韩精品青青久久久久久| 亚洲av免费在线观看| 久久天躁狠狠躁夜夜2o2o| 后天国语完整版免费观看| 久久久久精品国产欧美久久久| 黄色成人免费大全| 国产免费av片在线观看野外av| 日韩欧美免费精品| 丝袜人妻中文字幕| 首页视频小说图片口味搜索| 日本黄色片子视频| 成熟少妇高潮喷水视频| 国产高清三级在线| 免费在线观看日本一区| 中文亚洲av片在线观看爽| 久久精品夜夜夜夜夜久久蜜豆| 国产精品女同一区二区软件 | 亚洲一区二区三区色噜噜| 亚洲一区二区三区色噜噜| 精品国产三级普通话版| 欧美激情在线99| av片东京热男人的天堂| 在线观看舔阴道视频| 亚洲成人精品中文字幕电影| 狠狠狠狠99中文字幕| 国产 一区 欧美 日韩| 成人国产一区最新在线观看| 露出奶头的视频| av片东京热男人的天堂| 白带黄色成豆腐渣| 国产私拍福利视频在线观看| 欧美乱妇无乱码| 搡老熟女国产l中国老女人| 国产精品av视频在线免费观看| 青草久久国产| 亚洲在线观看片| av天堂在线播放| 国产成人精品久久二区二区91| 黄色丝袜av网址大全| 国产乱人视频| 日本免费a在线| 女人被狂操c到高潮| 国产精品国产高清国产av| 他把我摸到了高潮在线观看| 99久久国产精品久久久| 特级一级黄色大片| 久久婷婷人人爽人人干人人爱| 麻豆av在线久日| 久久人人精品亚洲av| 夜夜看夜夜爽夜夜摸| 国产高潮美女av| 国产私拍福利视频在线观看| 国产成人影院久久av| 日韩大尺度精品在线看网址| 大型黄色视频在线免费观看| 精品免费久久久久久久清纯| 午夜久久久久精精品| 一区二区三区激情视频| 90打野战视频偷拍视频| 成人三级做爰电影| 一二三四在线观看免费中文在| 天堂√8在线中文| 97超级碰碰碰精品色视频在线观看| 国产毛片a区久久久久| 亚洲美女视频黄频| 色精品久久人妻99蜜桃| 中文字幕久久专区| 午夜免费成人在线视频| 天天添夜夜摸| 国产单亲对白刺激| 亚洲精品一卡2卡三卡4卡5卡| 亚洲精品色激情综合| 色视频www国产| 久久精品亚洲精品国产色婷小说| 美女高潮喷水抽搐中文字幕| 91久久精品国产一区二区成人 | 特大巨黑吊av在线直播| 午夜a级毛片| 18禁国产床啪视频网站| 精品福利观看| 婷婷精品国产亚洲av在线| 亚洲精品粉嫩美女一区| 久久久国产成人精品二区| 国产精品99久久99久久久不卡| 国产伦精品一区二区三区视频9 | 一夜夜www| 成年女人永久免费观看视频| 成人三级做爰电影| 国内精品久久久久精免费| 亚洲乱码一区二区免费版| 天天躁日日操中文字幕| 免费观看精品视频网站| 国产熟女xx| 两个人的视频大全免费| 久久精品综合一区二区三区| 亚洲色图 男人天堂 中文字幕| 久久久久免费精品人妻一区二区| 精品电影一区二区在线| 男女做爰动态图高潮gif福利片| 别揉我奶头~嗯~啊~动态视频| 亚洲 欧美一区二区三区| 亚洲成人免费电影在线观看| 欧美精品啪啪一区二区三区| 国内少妇人妻偷人精品xxx网站 | 曰老女人黄片| 免费电影在线观看免费观看| 一二三四社区在线视频社区8| 欧美乱妇无乱码| 亚洲一区二区三区不卡视频| 国产精品1区2区在线观看.| 欧美日韩中文字幕国产精品一区二区三区| 91久久精品国产一区二区成人 | 天天躁狠狠躁夜夜躁狠狠躁| 99热只有精品国产| 两个人视频免费观看高清| 99热这里只有是精品50| 白带黄色成豆腐渣| 日韩三级视频一区二区三区| 午夜成年电影在线免费观看| 成人一区二区视频在线观看| 又粗又爽又猛毛片免费看| 国产一区二区在线av高清观看| 国产精品亚洲av一区麻豆| 成人18禁在线播放| 免费大片18禁| 伦理电影免费视频| 久久国产精品人妻蜜桃| 女人高潮潮喷娇喘18禁视频| 一个人观看的视频www高清免费观看 | 神马国产精品三级电影在线观看| 我要搜黄色片| xxx96com| 欧美日韩黄片免| 国产高潮美女av| 久久中文字幕一级| 日韩三级视频一区二区三区| 久久久久九九精品影院| 精品无人区乱码1区二区| 成人18禁在线播放| www.www免费av| 欧美另类亚洲清纯唯美| 精品一区二区三区视频在线观看免费| 亚洲,欧美精品.| 久久这里只有精品19| 中文字幕最新亚洲高清| 少妇的丰满在线观看| 精品日产1卡2卡| 日本五十路高清| 国产欧美日韩一区二区精品| 91老司机精品| 午夜福利欧美成人| 国产成人影院久久av| 一级毛片女人18水好多| av中文乱码字幕在线| 成年人黄色毛片网站| 日韩大尺度精品在线看网址| 国产精品久久久av美女十八| 性色avwww在线观看| 欧美成人免费av一区二区三区| 日本成人三级电影网站| 久久精品国产清高在天天线| 可以在线观看的亚洲视频| 日本三级黄在线观看| 神马国产精品三级电影在线观看| 国产三级黄色录像| 久久伊人香网站| 999久久久精品免费观看国产| 18禁美女被吸乳视频| 国产高清三级在线| 国内精品美女久久久久久| 91av网站免费观看| 欧美3d第一页| 国产精品亚洲一级av第二区| 在线观看一区二区三区| 精品国产美女av久久久久小说| 免费在线观看成人毛片| 国产精品99久久久久久久久| 一区福利在线观看| 亚洲美女视频黄频| 老司机午夜十八禁免费视频| 黄色日韩在线| 窝窝影院91人妻| 亚洲国产精品999在线| 青草久久国产| 成人永久免费在线观看视频| 亚洲午夜精品一区,二区,三区| 亚洲国产精品999在线| av在线天堂中文字幕| 高清毛片免费观看视频网站| 国产69精品久久久久777片 | 可以在线观看的亚洲视频| 亚洲va日本ⅴa欧美va伊人久久| 国产三级黄色录像| 老司机午夜十八禁免费视频| 亚洲中文日韩欧美视频| 老汉色∧v一级毛片| 国产一区二区三区在线臀色熟女| 日本a在线网址| 一夜夜www| 老司机午夜十八禁免费视频| 国产精品久久电影中文字幕| 免费在线观看日本一区| 久久草成人影院| 天堂影院成人在线观看| 亚洲第一欧美日韩一区二区三区| 色尼玛亚洲综合影院| 亚洲欧洲精品一区二区精品久久久| 中文字幕高清在线视频| 国产精品一区二区精品视频观看| 国产精品久久久av美女十八| 91字幕亚洲| 最新中文字幕久久久久 | 精品99又大又爽又粗少妇毛片 | 国产一级毛片七仙女欲春2| 嫩草影视91久久| 男女之事视频高清在线观看| www.www免费av| 桃色一区二区三区在线观看| 精品久久久久久久久久久久久| 国产成人精品久久二区二区免费| 午夜福利在线观看免费完整高清在 | 精品国产乱子伦一区二区三区| 美女 人体艺术 gogo| 亚洲精品美女久久av网站| 国产av不卡久久| av在线天堂中文字幕| 国产一区二区在线av高清观看| 免费人成视频x8x8入口观看| 国产成人av教育| 国产精品亚洲一级av第二区| 亚洲18禁久久av| 在线观看一区二区三区| 麻豆av在线久日| www.熟女人妻精品国产| 精品电影一区二区在线| 亚洲无线在线观看| 亚洲人成电影免费在线| 亚洲av成人精品一区久久| h日本视频在线播放| 男女床上黄色一级片免费看| 国产一区二区三区在线臀色熟女| 美女 人体艺术 gogo| 国产亚洲精品一区二区www| 亚洲精品一卡2卡三卡4卡5卡| 黄色 视频免费看| 亚洲国产精品成人综合色| 一区二区三区国产精品乱码| 久久中文看片网| 色尼玛亚洲综合影院| 精品久久久久久,| 国产伦精品一区二区三区视频9 | 国产成人av激情在线播放| 可以在线观看的亚洲视频| 老汉色av国产亚洲站长工具| 国产三级中文精品| 亚洲精品色激情综合| 夜夜爽天天搞| 成在线人永久免费视频| 欧美av亚洲av综合av国产av| 欧美激情在线99| 中文亚洲av片在线观看爽| 国产伦人伦偷精品视频| 国产在线精品亚洲第一网站| 国产精品影院久久| 免费观看的影片在线观看| 精品99又大又爽又粗少妇毛片 | 日日干狠狠操夜夜爽| 国产欧美日韩精品一区二区| 欧美又色又爽又黄视频| 欧美日韩一级在线毛片| 日日摸夜夜添夜夜添小说| 日韩 欧美 亚洲 中文字幕| 视频区欧美日本亚洲| 真实男女啪啪啪动态图| 黄色女人牲交| 色av中文字幕| 中文资源天堂在线| 美女高潮喷水抽搐中文字幕| 一进一出抽搐动态| 999久久久精品免费观看国产| www.999成人在线观看| 久久久久久大精品| 亚洲精品美女久久久久99蜜臀| 国产aⅴ精品一区二区三区波| 精品一区二区三区av网在线观看| 日本成人三级电影网站| 国产精品av久久久久免费| 在线免费观看不下载黄p国产 | 亚洲专区字幕在线| 九色国产91popny在线| 日本熟妇午夜| 欧美一区二区精品小视频在线| 久久精品影院6| 精品国产美女av久久久久小说| 日本三级黄在线观看| 久久热在线av| 熟妇人妻久久中文字幕3abv| 床上黄色一级片| 午夜激情欧美在线| 夜夜看夜夜爽夜夜摸| 88av欧美| 99久久国产精品久久久| 99国产精品一区二区三区| 欧美黄色片欧美黄色片| 国产精品精品国产色婷婷| 黑人欧美特级aaaaaa片| 久久亚洲精品不卡| 亚洲五月天丁香| 99久久精品国产亚洲精品| 欧美日本亚洲视频在线播放| 国产精品九九99| 精品一区二区三区av网在线观看| 在线免费观看的www视频| 巨乳人妻的诱惑在线观看| 91麻豆av在线| 国产成人系列免费观看| 精品免费久久久久久久清纯| 超碰成人久久| 嫩草影视91久久| 色精品久久人妻99蜜桃| 丁香六月欧美| 男女做爰动态图高潮gif福利片| 99热精品在线国产| 国产91精品成人一区二区三区| 操出白浆在线播放| 国产成人啪精品午夜网站| 搡老熟女国产l中国老女人| 一级毛片女人18水好多| 欧美黄色片欧美黄色片| 一本精品99久久精品77| 亚洲av日韩精品久久久久久密| 曰老女人黄片| 成人性生交大片免费视频hd| 一级毛片精品| 免费大片18禁| 国产极品精品免费视频能看的| 最新在线观看一区二区三区| www.熟女人妻精品国产| 噜噜噜噜噜久久久久久91| 黄色成人免费大全| 在线视频色国产色| 久久午夜综合久久蜜桃| 草草在线视频免费看| 久久热在线av| 欧美日韩乱码在线| 成年人黄色毛片网站| 国产精品久久久久久亚洲av鲁大| 香蕉丝袜av| 久久伊人香网站| 国产成人福利小说| 成人欧美大片| 天天躁日日操中文字幕| 亚洲人成伊人成综合网2020| 丰满的人妻完整版| 国产亚洲精品综合一区在线观看| 国产精品av久久久久免费| 亚洲中文字幕日韩| 在线观看午夜福利视频| 日本与韩国留学比较| a级毛片在线看网站| 国产三级中文精品| 国内毛片毛片毛片毛片毛片| 网址你懂的国产日韩在线| 99久久国产精品久久久| 午夜福利高清视频| 欧美另类亚洲清纯唯美| 宅男免费午夜| 久久久精品大字幕| 嫩草影院精品99| 中文字幕久久专区| 99久久无色码亚洲精品果冻| 国产探花在线观看一区二区| 99热只有精品国产| 丰满人妻熟妇乱又伦精品不卡| 男女做爰动态图高潮gif福利片| 日韩欧美在线乱码| 国产精品av视频在线免费观看| 啦啦啦韩国在线观看视频| 好看av亚洲va欧美ⅴa在| 久久九九热精品免费| 色尼玛亚洲综合影院| 国产精品精品国产色婷婷| 中文亚洲av片在线观看爽| 夜夜爽天天搞| 精品人妻1区二区| 一a级毛片在线观看| av片东京热男人的天堂| 国产精品一区二区三区四区久久| 国产97色在线日韩免费| 亚洲熟妇中文字幕五十中出| 国产精品一区二区三区四区免费观看 | av欧美777| 国产成人系列免费观看| 狂野欧美白嫩少妇大欣赏| 亚洲国产看品久久| 色精品久久人妻99蜜桃| 91九色精品人成在线观看| 中文字幕人妻丝袜一区二区| 免费av毛片视频| 久久久精品大字幕| 国产高清有码在线观看视频| 久久精品亚洲精品国产色婷小说| 国产伦人伦偷精品视频| 日本免费一区二区三区高清不卡| 国产成人aa在线观看| 三级国产精品欧美在线观看 | 国产成人一区二区三区免费视频网站| 久久精品国产清高在天天线| 中文字幕久久专区| 久久久久久大精品| 精品国产超薄肉色丝袜足j| 天天躁狠狠躁夜夜躁狠狠躁| 日日摸夜夜添夜夜添小说| 村上凉子中文字幕在线| 成人欧美大片| 欧美zozozo另类| 欧美精品啪啪一区二区三区| 美女 人体艺术 gogo| 欧美一区二区精品小视频在线| 一卡2卡三卡四卡精品乱码亚洲| 国产不卡一卡二| 久久精品国产综合久久久| 欧美在线黄色| 亚洲国产欧美网| 亚洲av成人av| 国产黄片美女视频| 日本黄色片子视频| 欧美+亚洲+日韩+国产| 免费大片18禁| 国产成人欧美在线观看|