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

    面向新一代國產(chǎn)異構眾核處理器的數(shù)據(jù)流計算系統(tǒng)

    2023-10-27 02:51:10趙美佳李名凡陳俊仕周文浩
    計算機研究與發(fā)展 2023年10期
    關鍵詞:數(shù)據(jù)流異構處理器

    肖 謙 趙美佳 李名凡 沈 莉 陳俊仕 周文浩 王 飛 安 虹

    1(中國科學技術大學計算機科學與技術學院 合肥 230026)

    2(國家超級計算無錫中心 江蘇無錫 214100)

    3(清華大學計算機科學與技術系 北京 100084)

    一直以來,高性能計算機(high performance computer,HPC)都是解決科學研究各領域實際問題的重要工具,依靠HPC 的強大計算能力,能使很多求解空間極大的科研問題在現(xiàn)實可見的時間內(nèi)完成解算.

    最近20 年,科學研究已經(jīng)從計算科學時代進入數(shù)據(jù)科學范式時代,科學家需要從海量的數(shù)據(jù)中去探索科學規(guī)律和突破科學發(fā)展瓶頸,這就意味著傳統(tǒng)的用高密度計算去模擬復雜現(xiàn)象進行科學研究的方法需要創(chuàng)新發(fā)展,用高性能計算與人工智能相融合的新方法(HPC+AI)去解決實際問題,正逐漸成為一種行之有效的科研方法,例如2020 年的戈登貝爾高性能計算應用獎就頒發(fā)給基于深度學習實現(xiàn)1 億原子分子動力學的應用[1].

    人工智能應用的開發(fā)和運行,往往依賴于人工智能編程框架,如TensorFlow[2],Pytorch[3]等,這些框架在本質上均是數(shù)據(jù)流計算系統(tǒng),它們將神經(jīng)網(wǎng)絡模型組織成數(shù)據(jù)流圖,并利用圖節(jié)點融合、圖剪枝、常量傳播等技術進行圖優(yōu)化,然后再通過運行系統(tǒng)將圖節(jié)點調(diào)度到實際的計算資源上執(zhí)行.換言之,數(shù)據(jù)流計算系統(tǒng)是支撐人工智能應用的重要基礎軟件,但是,要在國產(chǎn)高性能計算機上支持高效的數(shù)據(jù)流系統(tǒng),則面臨著嚴峻的挑戰(zhàn).

    從底層硬件的角度來說,國產(chǎn)異構眾核處理器具有獨特的復雜結構,新一代國產(chǎn)異構處理器sw26010pro[4-5]具有多級計算資源、多層次存儲和多級互聯(lián)網(wǎng)絡結構,在體系架構上與傳統(tǒng)的多核CPU、眾核GPU 以及專用的人工智能處理器相比有著本質的區(qū)別.

    要在sw26010pro 上高效執(zhí)行數(shù)據(jù)流系統(tǒng),需重點解決2 個問題:

    1)如何充分利用sw26010pro 的眾核計算資源.計算核心陣列是國產(chǎn)異構眾核處理器的性能來源,具有眾多的精簡核心和強大算力,但也存在著訪存效率低、片上緩存小和管理復雜等實際問題.為實現(xiàn)數(shù)據(jù)流圖的高效執(zhí)行,就需要實現(xiàn)自適應的眾核陣列加速方法,能夠自動加速數(shù)據(jù)流圖中的關鍵節(jié)點,充分利用眾核計算資源.

    2)如何設計高效的兩級并行策略,充分利用國產(chǎn)異構眾核處理器的全片計算資源.sw26010pro 采用全片多核組集成的體系結構,每個核組都是同構的眾核陣列,多核組之間可以共享全局存儲,數(shù)據(jù)流圖中的節(jié)點執(zhí)行以單核組為基本單元.要充分結合硬件結構特性,實現(xiàn)兩級并行策略,通過相應的圖優(yōu)化和調(diào)度方法,確保多核組能夠并行執(zhí)行數(shù)據(jù)流圖,提升系統(tǒng)性能.

    對于上層用戶而言,傳統(tǒng)高性能計算機的軟件環(huán)境也很難滿足HPC+AI 領域應用的動態(tài)化和智能化需求,并且,用戶更希望將重心放在上層算法設計上,而非底層體系結構相關的優(yōu)化上.

    為此,本文提出了一種面向國產(chǎn)異構眾核處理器的數(shù)據(jù)流計算系統(tǒng)swFLOWpro,支持使用TensorFlow接口構建數(shù)據(jù)流計算和深度學習典型模型,并實現(xiàn)了對用戶透明的眾核并行加速,可以支持數(shù)據(jù)流程序的高效開發(fā),在運行時充分利用國產(chǎn)異構眾核處理器的硬件能力.

    本文的主要貢獻有4 點:

    1)在國產(chǎn)異構眾核處理器上構建了功能完備的數(shù)據(jù)流計算系統(tǒng)swFLOWpro,能夠支持以深度學習為代表的數(shù)據(jù)流應用的開發(fā)和運行;

    2)設計并實現(xiàn)了一種專門針對國產(chǎn)異構眾核處理器的核心計算加速引擎swHMAE,將之與數(shù)據(jù)流計算系統(tǒng)松耦合,實現(xiàn)自動化的眾核并行加速及算子分析、調(diào)試功能;

    3)針對sw26010pro 的多核組共享內(nèi)存結構,設計了一種面向異構融合體系結構的兩級并行策略,結合圖分裂技術,能充分利用全片核組的計算資源;

    4)基于swFLOWpro 進行Alexnet,ResNet,VGG,Inception 等典型CNN 神經(jīng)網(wǎng)絡模型訓練測試,實驗結果表明本文設計的數(shù)據(jù)流計算系統(tǒng)能夠獲得很好的異構眾核并行加速效果.

    1 相關工作

    1.1 數(shù)據(jù)流計算

    傳統(tǒng)的馮·諾依曼計算機以控制流為執(zhí)行模型,而數(shù)據(jù)流計算則采用了不同的思路,將程序組織成有向圖,每個圖節(jié)點表示一個算子,邊則代表節(jié)點之間的依賴關系,數(shù)據(jù)在邊上流動,當一個節(jié)點的所有輸入數(shù)據(jù)均已就緒時,該節(jié)點就會被啟動.數(shù)據(jù)流計算由程序本身的數(shù)據(jù)依賴關系來激活計算,更有利于充分發(fā)揮其天然的可并行性.

    20 世紀90 年代,麻省理工大學提出一種基于數(shù)據(jù)流思想的處理器設計方案,該方案沒有共享存儲和寄存器的設計,數(shù)據(jù)直接在計算部件之間流動.當一條指令所有操作數(shù)均已就緒時,即可以進入執(zhí)行狀態(tài).這種體系架構能夠充分挖掘程序的指令級可并行性,但也存在著運行開銷大、并行粒度過小等實際問題,與傳統(tǒng)計算機系統(tǒng)的天淵之別也限制了其進一步發(fā)展.

    相關研究[6]還提出了一種硬件集成數(shù)據(jù)流芯片和馮·諾依曼架構芯片的體系結構設計,程序在編譯系統(tǒng)的支持下,可以在運行過程中動態(tài)調(diào)度到不同的芯片架構上去.這種處理器架構設計比較新穎,但對編譯和硬件實現(xiàn)的環(huán)境要求比較高.

    純硬件的數(shù)據(jù)流計算系統(tǒng)面臨著諸多問題,最本質的問題在于其與傳統(tǒng)計算機軟硬件生態(tài)無法兼容,發(fā)展嚴重受限.于是,數(shù)據(jù)流計算機逐漸向與馮·諾依曼架構融合的方向發(fā)展,出現(xiàn)了“類數(shù)據(jù)流”計算機,這一類計算機融合了控制流和數(shù)據(jù)流的思想,將程序組織成一系列的宏指令或者代碼塊,每個宏指令或代碼塊內(nèi)部采用數(shù)據(jù)流執(zhí)行模式,而在宏指令和代碼塊之間依然采用傳統(tǒng)的控制流思想進行組織管理,該類計算機包括TRIPS[7],T3,EVX 等.類數(shù)據(jù)流計算機將數(shù)據(jù)流的思想用于最底層的指令層面,在程序層面則保持著和傳統(tǒng)架構相同的程序邏輯,例如EDGE[8]架構執(zhí)行模型,就是將程序編譯成由超塊組成的控制流圖,將超塊內(nèi)部的代碼編譯成數(shù)據(jù)流指令,數(shù)據(jù)直接在計算部件之間流動而不通過寄存器,但EDGE 架構必須運行在專門的類數(shù)據(jù)流處理器架構上,通用性較差.目前,最常見的數(shù)據(jù)流系統(tǒng)是在傳統(tǒng)馮·諾依曼架構上實現(xiàn)的軟件數(shù)據(jù)流系統(tǒng).

    Codelet[9-10]執(zhí)行模型由特拉華大學提出,它是一種針對E 級計算機的需求而進行設計的細粒度并行、事件驅動的程序執(zhí)行模型.Codelet 模型從數(shù)據(jù)流執(zhí)行模型中得到啟發(fā),結合傳統(tǒng)的馮·諾依曼體系架構,形成了一種在通用計算機上運行的數(shù)據(jù)流程序執(zhí)行系統(tǒng).

    TensorFlow 是一款具有數(shù)據(jù)流思想的軟件計算系統(tǒng),該系統(tǒng)運行于通用處理器架構上,并對眾核GPU和人工智能專用芯片TPU 有后端支持.TensorFlow 是人工智能領域非常熱門的編程框架,它將人工智能的算法模型組織成數(shù)據(jù)流圖,并通過運行支持數(shù)據(jù)流圖的高效映射和資源分配.TensorFlow 給用戶提供了豐富的API 接口來構建數(shù)據(jù)流計算,對深度學習的支持也比較完善,不過缺乏對于國產(chǎn)異構眾核架構的后端支持.

    1.2 在國產(chǎn)異構眾核處理器上的數(shù)據(jù)流計算系統(tǒng)

    在國產(chǎn)異構眾核處理器上,關于數(shù)據(jù)流計算系統(tǒng)的研究也一直在進行中.

    SunwayFlow[11]是基于神威太湖之光高性能計算機系統(tǒng)開發(fā)的數(shù)據(jù)流計算系統(tǒng),該系統(tǒng)將Codelet 執(zhí)行模型移植到國產(chǎn)處理器上,并使用高性能共軛梯度基準測試(HPCG)作為測試數(shù)據(jù),獲得10.32 倍的加速效果.但SunwayFlow 支持的Codelet 模型適用范圍有限,特別是對深度學習的支持嚴重不足.

    swCaffe[12-13]是面向國產(chǎn)異構眾核處理器的深度學習編程框架,它在底層通過swDNN 庫支持眾核加速,針對VGG-16 有4 倍的加速效果.但是Caffe 框架[14]的編程接口已逐漸被淘汰,而swCaffe 要實現(xiàn)眾核加速,對模型的參數(shù)也有嚴格的限制,已無法適應數(shù)據(jù)流計算和深度學習應用的實際需求.

    swFLOW[15]是2021 年推出的針對國產(chǎn)異構眾核處理器的數(shù)據(jù)流計算系統(tǒng),該系統(tǒng)重構了TensorFlow框架,支持在sw26010 處理器上執(zhí)行數(shù)據(jù)流計算,針對典型神經(jīng)網(wǎng)絡模型有10.42 倍的加速.不過,swFLOW在功能上只支持TensorFlow 的C++接口,在優(yōu)化設計上重點考慮面向大規(guī)模計算資源的分布式訓練,缺乏針對單進程的深度優(yōu)化,也沒有針對全片多核組運行模式的優(yōu)化支持,實際使用效果有待增強.

    針對上述多款數(shù)據(jù)流計算系統(tǒng)軟件的缺陷,本文設計并實現(xiàn)了面向國產(chǎn)異構眾核處理器sw26010pro的新一代數(shù)據(jù)流計算系統(tǒng)swFLOWpro.該系統(tǒng)在編程接口支持上復用了TensorFlow 的前端模塊,可以完全兼容TensorFlow 的Python 和C++編程接口,提升系統(tǒng)易用性,在后端則通過獨立的核心計算加速引擎模塊來提供針對數(shù)據(jù)流圖節(jié)點的執(zhí)行加速,除此之外,還針對sw26010pro 的多核組共享內(nèi)存設計,開發(fā)了一種面向異構融合的兩級并行方法,從而提升全片計算資源的應用效率.

    1.3 面向數(shù)據(jù)流計算的相關研究

    Megatron-LM[16]主要討論如何在大規(guī)模GPU 集群上通過tensor/pipline/data 等多種并行模式高效實現(xiàn)大模型的訓練,通過并行模式的混合能夠提升10%的數(shù)據(jù)吞吐量,在3 072 個GPU 上訓練1 萬億參數(shù)模型,單GPU 峰值效率達到52%.

    Gspmd[17]提出一種基于編譯器的自動化機器學習并行系統(tǒng),可以在單節(jié)點代碼上通過添加編譯指示實現(xiàn)自動化并行代碼生成,在2 048 塊TPUv3 上達到了50%~62%的計算利用率.

    DAPPL[18]面向大模型提出了結合數(shù)據(jù)并行和流水線并行方法的并行訓練框架,主要解決的問題是針對模型結構和硬件配置決策最優(yōu)并行策略,如何調(diào)度數(shù)據(jù)流計算的不同流水線階段.

    Alpa[19]針對分布式深度學習訓練提出了算子內(nèi)和算子間并行策略,通過系統(tǒng)化的方式將分布式并行策略的優(yōu)化空間結構化,并在這個優(yōu)化空間中尋找最優(yōu)策略并實現(xiàn)自動化.Alpa 以計算圖為輸入,輸出并行方案,主要考慮如何劃分子圖和計算任務調(diào)度.

    目前,面向數(shù)據(jù)流計算的相關研究大多是針對大模型和大規(guī)模并行系統(tǒng),專注于如何切割數(shù)據(jù)流圖并將其調(diào)度到各計算節(jié)點上,本文則主要針對sw26010pro的異構眾核結構和普通深度學習模型,專注于單處理器內(nèi)部的計算流程,通過算子內(nèi)和算子間的兩級并行策略,高效利用單處理器計算能力.在后續(xù)工作中,swFLOWpro 會在尋找最優(yōu)并行策略以及調(diào)度模型的優(yōu)化上加強研究.

    2 swFLOWpro:新一代數(shù)據(jù)流計算系統(tǒng)

    本節(jié)主要介紹國產(chǎn)異構眾核處理器sw26010pro的結構特點,以及swFLOWpro 的整體架構和工作流程.

    2.1 sw26010pro 架構

    sw26010pro 是一款國產(chǎn)異構眾核處理器,它包含6 個核組(core group,CG),核組之間通過片上環(huán)網(wǎng)互連,每個核組包含2 種異構核心,一種是管理核心(management processing element,MPE),另一種是計算核心(computing processing elements,CPE),1 個MPE 和1 個8×8 的CPE 組成1 個異構計算陣列.一般而言,MPE 主要負責計算任務、全局內(nèi)存和運算核心的管理;CPE 負責計算任務的執(zhí)行,每個CPE 通過一個軟件管理的片上便簽存儲器(LDM)來提升訪存效率.sw26010pro 結構如圖1 所示.

    Fig.1 The structure of sw26010pro圖1 sw26010pro 結構

    sw26010pro 采用SW64 自主指令集設計.其中,MPE具有32 KB L1 指令緩存、32 KB L1 數(shù)據(jù)高速緩存和512 KB L2 高速緩存;CPE 支持512 b 的SIMD 運算,支持雙精度、單精度和半精度浮點及整數(shù)等多種數(shù)據(jù)類型的向量運算,每個CPE 具有獨立的指令緩存和片上LDM 存儲,其中LDM 可以配置為L1 數(shù)據(jù)緩存,也可以配置為用戶管理的局存空間,支持通過DMA方式實現(xiàn)LDM 和全局內(nèi)存之間的數(shù)據(jù)傳輸;支持通過RMA 方式實現(xiàn)不同CPE 之間的LDM 存儲傳輸.

    sw26010pro 全處理器包含6 個同構的核組,6 核組之間可以共享全局內(nèi)存.通常情況下,1 個進程運行在1 個核組上,多個核組之間通過MPI 消息進行通信,但這樣會導致單進程可用的內(nèi)存空間和計算能力都較小,頻繁的MPI 通信也會造成性能損失.事實上,通過多核組的共享全局內(nèi)存,可以結合多線程管理和核組資源分配,實現(xiàn)全片視角的統(tǒng)一編程,這樣能大幅度提升單進程的可用內(nèi)存空間和計算能力,減少進程間通信造成的性能損失.

    與常規(guī)的處理器設計不同,sw26010pro 將更多的硬件邏輯用于計算,從而最大程度地提升計算密度,精簡的CPE 核心設計導致了其計算能力很強,但訪存能力較弱.sw26010pro 提供了用戶可以顯式管理的LDM 存儲來彌補訪存與計算能力不匹配的問題,從而支持用戶充分挖掘異構眾核的計算能力.不過,這種設計模式就意味著程序的高效運行需要更加復雜的優(yōu)化策略和更加全面的算法改造.

    對于數(shù)據(jù)流計算和深度學習領域的編程用戶來說,他們更關注的是數(shù)據(jù)流圖的結構、模型的構造以及訓練模型的超參數(shù)調(diào)整等上層算法設計,而非底層硬件細節(jié)和體系結構相關優(yōu)化技術.

    為此,swFLOWpro 的主要設計目標就是構建國產(chǎn)異構眾核處理器與用戶之間的橋梁,提供可移植性強、功能豐富的編程接口,并將底層硬件細節(jié)對用戶透明,實現(xiàn)自動化的眾核并行加速.

    2.2 swFLOWpro 結構設計

    swFLOWpro 數(shù)據(jù)流計算系統(tǒng)的整體架構圖如圖2所示.swFLOWpro 系統(tǒng)可以劃分為2 個子模塊:前端模塊和后端模塊.中間層由C-API 橋接.

    Fig.2 The overall architecture of swFLOWpro圖2 swFLOWpro 整體架構

    前端模塊是一個支持多語言的編程環(huán)境,它提供基于數(shù)據(jù)流圖的編程模型,方便用戶使用TensorFlow的Python 和C++編程接口構造各種復雜的計算圖,從而實現(xiàn)各種形態(tài)的模型搭建.

    C-API 是橋接前端模塊和后端模塊的中間層次,主要是通過SWIG(simplified wrapper and interface generator)機制支持前端多語言編程環(huán)境與C++實現(xiàn)的后端模塊之間的通道.

    為保證系統(tǒng)的易用性和提升深度學習程序的可移植性,swFLOWpro 框架的前端模塊和C-API 復用了TensorFlow 框架的相應模塊,主要是為了保持對TensorFlow 編程的兼容性.

    后端模塊則是體系結構相關的運行模塊,也是swFLOWpro 針對sw26010pro 架構特點重點開發(fā)的模塊.swFLOWpro 的后端模塊主要包括數(shù)據(jù)流圖優(yōu)化、運行時系統(tǒng)、算子(OP)實現(xiàn)層等子模塊.其中,數(shù)據(jù)流圖優(yōu)化模塊支持面向異構眾核處理器的混合精度訓練優(yōu)化和節(jié)點融合優(yōu)化,混合精度訓練優(yōu)化在數(shù)據(jù)流圖中插入數(shù)據(jù)類型轉化節(jié)點,將單精度運算轉換為效率更高、精度更低的半精度運算,而在更新參數(shù)節(jié)點等對精度要求更高的節(jié)點之前,再將半精度轉化為單精度,從而支持混合精度訓練;圖節(jié)點融合優(yōu)化則將多個圖節(jié)點融合,形成更大的計算單元,減少內(nèi)存管理開銷,提升運行效率.運行時系統(tǒng)主要負責計算圖節(jié)點的管理、調(diào)度、執(zhí)行以及內(nèi)存分配,根據(jù)圖中依賴關系依次執(zhí)行各個節(jié)點.OP 實現(xiàn)層則是針對sw26010pro 的存儲層次和結構特點,將OP 的定義和執(zhí)行解耦,通過獨立的異構眾核加速引擎(swHMAE)實現(xiàn)對關鍵性能OP 的眾核加速,這一部分將在2.3 節(jié)中詳細介紹.

    2.3 異構眾核加速引擎(swHMAE)

    swHMAE 是一個獨立于swFLOWpro 系統(tǒng)之外的獨立模塊,其設計目的是為數(shù)據(jù)流計算系統(tǒng)提供一個松耦合的、體系結構相關深度優(yōu)化的核心計算加速框架.框架整體結構如圖3 所示.

    Fig.3 The structure of swHMAE圖3 swHMAE 結構

    swHMAE 提供了一系列性能關鍵計算的調(diào)用接口,這些接口在swFLOWpro 的算子實現(xiàn)層進行調(diào)用,而其真正實現(xiàn)則集成于一個獨立的動態(tài)庫中.

    swHMAE 提供的這些接口是完全虛擬化的,僅用來描述要完成哪種運算和需要哪些參數(shù),swHMAE 可以向上支持不同的人工智能編程框架或數(shù)據(jù)流系統(tǒng)的圖節(jié)點實現(xiàn)模塊,向下則可以調(diào)用多種眾核加速算法庫,也可以集成用戶自定義的眾核算法,具有很好的可擴展性.

    在swHMAE 中,針對不同的計算類型,主要完成2 方面的工作:1)收集核心計算的參數(shù).2)根據(jù)參數(shù)類型、參數(shù)特性及輸入規(guī)模,判斷是否適合使用眾核加速,如不適合,則該API 返回失敗,swFLOWpro將調(diào)用默認的實現(xiàn)算法;否則,swHMAE 將根據(jù)不同的參數(shù)類型和規(guī)模自適應地選擇最優(yōu)的異構眾核加速算法.

    swHMAE 支持的核心計算類型涵蓋了數(shù)據(jù)流計算常見的計算類型,核心計算類型既有深度學習領域的常見計算,例如卷積、矩陣乘、激活、歸一化等,這類計算的眾核加速主要是通過swDNN,swBLAS,Sw_OPs 等第三方庫來支持,又有一些更通用的數(shù)據(jù)流計算節(jié)點類型,如批量數(shù)據(jù)的基礎運算、數(shù)據(jù)的Padding,tile,slice 等訪存操作,以及其他一些定制的計算類型.

    swHMAE 的工作原理算法如算法1 所示:

    算法1.swHMAE 工作原理算法.

    swHMAE 是面向國產(chǎn)異構眾核處理器的數(shù)據(jù)流計算后端,作為一個獨立模塊,它將關鍵計算的眾核加速與數(shù)據(jù)流系統(tǒng)的整體框架解耦,既能夠高效利用swDNN,swBLAS,sw_OPs 等眾核計算庫,由于本身也集成了一系列眾核優(yōu)化算子,也能夠對更多的核心計算進行眾核加速.

    swHMAE 針對非計算密集類運算實現(xiàn)了眾核加速算法,其主要思想是通過數(shù)據(jù)分割將運算任務分配到各CPE 上執(zhí)行,通過DMA 數(shù)據(jù)傳輸機制將具有局部性的數(shù)據(jù)顯式地搬運到CPE 的片上內(nèi)存LDM中,并通過2 個數(shù)據(jù)傳輸緩沖的動態(tài)切換,實現(xiàn)數(shù)據(jù)傳輸與數(shù)據(jù)計算的并行操作,其算法思想如圖4 所示.

    Fig.4 Double buffer algorithm idea for CPE圖4 CPE 雙緩沖算法思想

    除此之外,swHMAE 還可以通過多種方式對關鍵計算進行調(diào)試、錯誤定位和性能分析,進一步提升易用性.

    swHMAE 的松耦合和模塊化設計使得用戶可以更加方便地集成新的眾核計算到swFLOWpro 系統(tǒng)中去.事實上,swHMAE 還可以支持其他的數(shù)據(jù)流計算系統(tǒng),其僅需要在原始系統(tǒng)中做極少量的修改.

    3 面向異構融合的兩級并行策略

    在異構融合的眾核處理器上執(zhí)行數(shù)據(jù)流圖的基本流程為:MPE 負責數(shù)據(jù)流圖的生成、優(yōu)化和調(diào)度管理;在執(zhí)行過程中,將已滿足執(zhí)行需求的圖節(jié)點分配到眾核陣列上執(zhí)行.

    有2 種任務分配方法可以考慮:1)將每個節(jié)點調(diào)度到1 個CPE 上,CPE 陣列協(xié)同完成整個數(shù)據(jù)流圖的執(zhí)行過程;2)將CPE 陣列視為一個整體部件,所有計算核心共同完成數(shù)據(jù)流圖中的一個節(jié)點.

    第1 種任務分配方法與異構融合眾核架構的適應性并不好,其主要原因有3 點:1)單CPE 的訪存能力有限,其LDM 的容量大小也很難承載一個完整的圖節(jié)點計算邏輯,比如卷積、矩陣乘等常用算子,在單CPE 上執(zhí)行效率較差;2)數(shù)據(jù)流圖的可并行性有限,考慮某些具有強相關性的數(shù)據(jù)流圖,每個節(jié)點都依賴于上一個節(jié)點的計算結果,則程序在這種模式下執(zhí)行的效率就會很差,因為大部分時間內(nèi)CPE 可能因為依賴另一個CPE 的計算結果而處于等待狀態(tài);3)負載均衡問題,由于每個數(shù)據(jù)流圖節(jié)點運算量相差較大,保證各計算核心的負載均衡也是個難以解決的問題.

    本文主要采用第2 種任務分配方法,也就是將CPE 陣列視為整體部件,所有CPE 協(xié)同完成一個圖節(jié)點的執(zhí)行過程,這樣每個CPE 的計算任務量都在可以接受的范圍之內(nèi),而在每個圖節(jié)點內(nèi)部,主要通過數(shù)據(jù)分割的方式將輸入數(shù)據(jù)映射到各個CPE 上,這樣能保證LDM 空間夠用和保證各計算節(jié)點的負載均衡性.并且,由于并行發(fā)生在圖節(jié)點內(nèi)部,整體效率不會受限于數(shù)據(jù)流圖本身的可并行性.

    圖5 是在sw26010pro 的單核組上運行一個數(shù)據(jù)流圖的示例.

    Fig.5 Dataflow scheduling example for single CG圖5 面向單核組的數(shù)據(jù)流調(diào)度示例

    輸入數(shù)據(jù)的后繼圖節(jié)點是Reshape,該節(jié)點是為了改變輸入形狀,屬于功能類算子,所以將其調(diào)度到MPE 上執(zhí)行即可;其后的Matmul,Biasadd,Softmax 都是計算密集的圖節(jié)點,需要調(diào)度到CPE 陣列上進行眾核并行計算,例如,CPE 在執(zhí)行Matmul 圖節(jié)點的時候,首先將矩陣進行分塊,每個CPE 執(zhí)行子矩陣乘法運算,再通過CPE 陣列內(nèi)部的RMA 操作進行全局通信,獲得原始矩陣的乘法運算結果.

    sw26010pro 異構眾核芯片采用多核組設計,處理器內(nèi)部包含6 個同構的核組,每個核組都有一個MPE和一個8×8 的CPE 陣列.因此,要在6 核組結構上實現(xiàn)更高層次的并行.

    在單核組內(nèi)部,我們將1 個圖節(jié)點分配到1 個MPE或者1 個CPE 陣列上執(zhí)行,實現(xiàn)了低層次的圖節(jié)點內(nèi)并行;在基于全片視角的多核組上,利用6 個等價隊列分別維護由上層圖計算過程產(chǎn)生的計算任務;在運行核組選擇過程中采用Round-Robin 的輪詢調(diào)度策略;在計算任務選擇中采用先入先出(FIFO)方法,進而支持高層次的圖節(jié)點間并行.這就是本節(jié)提出的兩級并行策略,該策略能夠充分適應sw26010pro的異構融合架構.

    值得注意的是,圖節(jié)點間的并行要求圖節(jié)點之間沒有數(shù)據(jù)依賴關系,但實際上一般單輸入的數(shù)據(jù)流計算圖可并行性并不高,如果將不同的圖節(jié)點調(diào)度到不同核組上,由于圖節(jié)點之間的數(shù)據(jù)依賴關系,會導致部分核組處于空閑狀態(tài),需要等待其他核組的計算結果才能開始計算.

    為此,本文設計了一種圖分裂優(yōu)化方法,首先將輸入數(shù)據(jù)進行平均分割,分割之后的每個輸入都進行相同的數(shù)據(jù)流圖執(zhí)行流程,在輸出結果時再進行歸并,從而生成并行性更好的數(shù)據(jù)流計算圖.

    以圖5 的數(shù)據(jù)流圖為例,將split值設置為2,經(jīng)過圖分裂之后的數(shù)據(jù)流圖如圖6 所示.

    Fig.6 Dataflow scheduling example after graph splitting圖6 經(jīng)過圖分裂之后的數(shù)據(jù)流調(diào)度示例

    經(jīng)過圖分裂之后,數(shù)據(jù)并行輸入到不同的數(shù)據(jù)流子圖中,每個子圖都是原數(shù)據(jù)流圖的一個復制,各個子圖之間沒有強相關性,從而具有很好的可并行性,可以映射到不同的處理器分區(qū)上執(zhí)行.

    圖分裂是一種與體系結構無關的圖變換技術,分裂值split可以調(diào)整,以適應不同的硬件體系結構.如果眾核處理器集成更多的核組數(shù),只需要提升分裂值,無需改變整體算法就能充分利用硬件計算資源.

    在具體實現(xiàn)上,本文采用多線程機制來管理圖節(jié)點的調(diào)度,根據(jù)核組數(shù)來確定線程個數(shù).在sw26010pro上會啟動6 個線程來執(zhí)行數(shù)據(jù)流圖,每個線程綁定在1 個核組上運行,這樣能保證各線程不存在資源沖突問題.

    調(diào)度器將所有圖節(jié)點組織成任務池,并記錄每個節(jié)點的前繼節(jié)點.在執(zhí)行過程中,一個圖節(jié)點可能處于不可用、可用、執(zhí)行中、完成中這4 種狀態(tài)的一種.每種狀態(tài)對應一個任務池.

    初始情況下,將沒有前繼節(jié)點的圖節(jié)點狀態(tài)設置為“待命”,其余節(jié)點狀態(tài)均設置為“不可用”.線程函數(shù)從任務池里通過搶占方式獲取一個圖節(jié)點任務,如果該圖節(jié)點的已處于可用狀態(tài)(所有前繼節(jié)點均已完成),則執(zhí)行該節(jié)點,并將該節(jié)點狀態(tài)設置為“執(zhí)行中”,完成后則設置狀態(tài)為“完成”.值得注意的是,線程選擇下一個執(zhí)行節(jié)點時,優(yōu)先從該節(jié)點的后繼節(jié)點中選取,如果后繼節(jié)點不可用,則從該節(jié)點前繼節(jié)點的其他后繼節(jié)點中選擇.這種搜索方法可以使得單個相對獨立的數(shù)據(jù)流子圖在一個線程內(nèi)部完成.

    圖節(jié)點狀態(tài)變換關系如圖7 所示.

    Fig.7 Graph node state transformation diagram圖7 圖節(jié)點狀態(tài)變換圖

    4 實驗

    本文選擇6 種典型神經(jīng)網(wǎng)絡模型作為數(shù)據(jù)流計算的輸入,通過TensorFlow 編程接口編寫數(shù)據(jù)流程序,實現(xiàn)這些模型的訓練過程,這些模型及其變種也是HPC+AI 領域應用經(jīng)常使用的模型.具體模型信息如表1 所示.

    Table 1 Six Typical Neural Network Models表1 6 種典型神經(jīng)網(wǎng)絡模型

    測試硬件平臺為sw26010pro 處理器,其包含6個核組,6 個MPE 和384 個CPE,全片主存空間大小為96 GB,每個CPE 的片上高速緩存LDM 大小為256 KB.

    軟件環(huán)境為swFLOWpro 數(shù)據(jù)流計算系統(tǒng)、swHMAE核心計算加速引擎,以及swPython 編程環(huán)境.

    本文選擇眾核加速比ManyAccRatio作為主要的性能評價指標,其定義為:

    其中MPE_time表示在MPE 主核上的運行時間,CPE_time表示在單核組陣列上的運行時間.由于sw26010-pro 結構的特殊性,其與GPU,TPU 等人工智能專用芯片的性能對比意義不大,通過眾核加速比可以體現(xiàn)SwFlowpro 在sw26010pro 獨特的異構融合結構上的適配性和優(yōu)化效果.

    4.1 swHMAE 針對典型模型核心計算的眾核加速效果

    本文使用swFLOWpro 構建了6 種典型模型,并統(tǒng)計了模型中所有核心計算(數(shù)據(jù)流圖節(jié)點)類型,選擇7 種典型核心計算類型,通過swHMAE 引擎進行眾核加速.具體統(tǒng)計信息如表2 所示.其中Conv2D,Conv2DBackpropFilter,Conv2DBackpropInput 都是卷積類計算,Matmul 是矩陣乘計算,Relu是激活類計算,Poolmax 是池化類計算,ApplyGradientDescent 是訓練更新參數(shù)計算.

    Table 2 Typical Core Computing表2 典型核心計算

    在表1 的6 種典型模型中,統(tǒng)計了典型核心計算在sw26010pro 的單核組CPE 上的運行時間,通過對比swFLOWpro 未經(jīng)眾核優(yōu)化的MPE 運行時間,并獲得眾核加速比.詳細測試數(shù)據(jù)如表3 所示.通過計算,獲得的各類型的典型核心計算眾核加速比如圖8 所示.

    Table 3 Test Time of Typical Core Computing in Typical Models表3 典型模型中的典型核心計算測試時間 ms

    Fig.8 The many-core acceleration ratios of convolutional core computing for different typical models圖8 不同典型模型的卷積類核心計算眾核加速比

    卷積類運算是實驗的6 種典型模型的關鍵,也是swHMAE 實現(xiàn)眾核加速的重點運算.swHMAE 會根據(jù)輸入規(guī)模和相關參數(shù),自適應選擇swDNN 庫中最優(yōu)的算法實現(xiàn).由圖8 實驗結果可以看出,Conv2D的眾核加速比達250~545,Conv2DBackpropFilter 的眾核加速比達107~583,Conv2DBackpropInput 的眾核加速比達90~310,加速效果良好.

    其他核心計算類型的眾核加速比測試數(shù)據(jù)如圖9所示.

    Fig.9 The many-core acceleration ratios of other core computing for different typical models圖9 不同典型模型的其他核心計算眾核加速比

    針對矩陣乘類核心計算,swHMAE 從swBLAS庫中自適應選擇眾核算法.測試表明,矩陣乘核心計算的眾核加速比僅有26.1~38.7,由表3 可以看出,本文選擇的典型模型都是卷積類神經(jīng)網(wǎng)絡,矩陣乘的計算量很小,不能充分發(fā)揮CPE 從核陣列的全部計算能力.除此之外,swBLAS 庫中矩陣是按列優(yōu)先模式存儲,在接入模型時還需要先進行矩陣轉置.所以,矩陣乘的實際眾核加速比效果遠低于卷積類算子,在后續(xù)工作中可以針對矩陣轉置進行優(yōu)化.

    針對Relu 激活類運算,swHMAE 通過swDNN 庫進行加速,眾核加速比達到26.1~38.7.

    除了計算密集類運算之外,模型中也會用到一些其他算子,這類算子雖然計算量小,但如果不進行眾核優(yōu)化,則會成為性能瓶頸.如本文實驗選擇的更新參數(shù)操作(ApplyGradientDescent),是模型訓練中常見的算子類型,但缺乏專屬的算法庫支持.本文選擇在swHMAE 中直接集成其眾核優(yōu)化算法,實驗表明眾核加速比達13.9~25.2.

    測試結果表明,在sw26010pro 上,卷積類運算的眾核加速比要遠高于其他運算類型,這主要是因為國產(chǎn)異構眾核的架構設計對于卷積這類計算密集類運算的適應性更好.

    4.2 swFLOWpro+swHMAE 針對典型模型訓練的眾核加速效果

    本文使用swFLOWpro+swHMAE 運行6 種典型模型的訓練過程,單步訓練batch大小統(tǒng)一設置為32.

    實驗分別測試在sw26010pro 的單MPE 和單CPE 陣列上的單步訓練時間,并計算眾核加速比.測試數(shù)據(jù)如表4 所示.

    Table 4 Single Step Training Test Data of Typical Models表4 典型模型的單步訓練測試數(shù)據(jù)

    由圖10 可見,VGG16 模型的眾核加速比最高,達到346,其余的模型加速比相差不大,在115~155之間.

    Fig.10 Muti-core acceleration ratios of typical models圖10 典型模型的眾核加速比

    模型的性能與模型中各類型核心計算的性能緊密相關,由4.1 節(jié)測試結果可知,在sw26010pro 上,卷積類運算的眾核加速比要遠高于其他運算,所以卷積類運算占比較高的模型,在sw26010pro 上的整體加速比也更高.

    本文統(tǒng)計了在6 種典型模型中,卷積類和非卷積類核心計算的運行時間占比,如表5 所示.這6 種典型模型都屬于卷積神經(jīng)網(wǎng)絡,它們的卷積類運算占比為82.5%~97.4%.

    Table 5 Core Computing Proportion of Convolutional and Non-Convolutional of Typical Models表5 典型模型的卷積類和非卷積類核心運算占比 %

    表5 中,VGG16 的卷積類運算占比最高,達到了97.4%(11.1%+37.2%+49.1%),所以這個模型的眾核加速比也最高,Alexnet 的卷積類運算雖然占比高達93.5%(11.5%+27.2%+54.8%),但由于其卷積類運算的計算量較小,不能充分發(fā)揮sw26010pro 的計算能力,所以整體眾核加速比只有123.

    實驗表明,針對典型模型的訓練過程,swFLOWpro+swHMAE 比原始運行模型,特別是卷積類計算占比較高的模型(如實驗中的VGG16)有顯著的眾核加速效果.

    4.3 兩級并行優(yōu)化效果

    我們將sw26010pro 的單處理器(包含6 個核組)作為一個執(zhí)行單元,測試6 種典型模型經(jīng)過面向全片的兩級并行優(yōu)化之后的加速效果.

    首先,測試不使用圖分裂技術的6 個核組并行加速效果,在這種模式下,6 個核組的利用效率受限于不同模型構建出的數(shù)據(jù)流圖本身的可并行性,測試數(shù)據(jù)如圖11 所示.

    Fig.11 Full chip acceleration ratios of typical models without graph splitting technology圖11 不使用圖分裂技術的典型模型全片加速比

    加速比最高的是Inception4 模型,達1.49;最低的是Alexnet 模型,達1.19.這是因為,Inception 模型本身的數(shù)據(jù)流圖具有不錯的可并行性,而模型結構簡單的Alexnet 模型可并行性并不好.

    整體而言,在不使用圖分裂的情況下,6 核組的加速比較低,這是因為計算圖的核心計算節(jié)點之間存在依賴關系,導致高層次的節(jié)點間并行不能同時進行計算,限制了并行效果,這也是本文提出圖分裂技術的主要原因.

    然后,使用圖分裂技術進行優(yōu)化,將split值分別設為2,4,6,并測試典型模型在全片6 核組上運行對比單核組(split=1)運行的加速比,測試數(shù)據(jù)如圖12所示.

    Fig.12 Full chip acceleration ratios of typical models with graph splitting圖12 典型模型使用圖分裂技術后的全片加速比

    圖12 中加速效果最好的是ResNet50(split=6),加速比達4.96,并行效率達到了82.6%.通過使用圖分裂技術,選擇合適的參數(shù)split,典型模型全片加速比能達到1.78~4.96.

    圖分裂技術結合面向異構融合的兩級并行策略,在sw26010pro 的多核組異構眾核結構上取得了很好的并行效果,測試表明,圖分裂技術針對典型模型的性能提升效果最高達到246%(ResNet50),最低也能達到50%(AlexNet).

    值得一提的是,從實驗數(shù)據(jù)中也可以看出2 個問題:1)sw26010pro 的眾核結構對模型和核心計算的計算量要求較高,一些輕量級的模型無法充分利用眾核資源,所以Alexnet 的單核組和6 核組加速比都不理想.2)圖分裂結束也會帶來圖節(jié)點數(shù)量的大幅度增長,會增大內(nèi)存需求,對于Inception 這種本身就具有一定并行性的計算圖,會出現(xiàn)圖節(jié)點膨脹的現(xiàn)象,進而增大節(jié)點調(diào)度和分配的開銷,所以其6 核組并行加速比只有2.54~2.88,這也是圖分裂技術目前存在的缺陷.

    5 結論

    本文提出了一種面向新一代國產(chǎn)異構眾核處理器的數(shù)據(jù)流計算系統(tǒng)swFLOWpro,該系統(tǒng)通過核心計算加速引擎swHMAE 支持在國產(chǎn)異構眾核處理器上的并行加速,并提出面向異構融合的兩級并行策略,支持面向國產(chǎn)異構眾核處理器全芯片視角的調(diào)度和并行方法.實驗表明,swHMAE 針對卷積類核心計算,眾核加速比達90~545,針對其他核心計算,眾核加速比達13.9~38.7;swFLOWpro+swHMAE 支持典型模型在sw26010pro 上的高效執(zhí)行,VGG16 模型眾核加速比可達346;通過面向異構融合的數(shù)據(jù)流調(diào)度策略,全片ResNet50 加速比達4.96 倍,6 核組并行效率達到82.6%.

    未來的工作主要包括3 個方面:1)繼續(xù)拓展swHMAE 支持的核心計算類型;2)優(yōu)化面向全片多核組的兩級并行策略,優(yōu)化圖分裂算法,探索更高效的數(shù)據(jù)流調(diào)度算法,提升圖節(jié)點間并行效率;3)完善系統(tǒng),支持更多種類的神經(jīng)網(wǎng)絡模型高效運行,并引入新的優(yōu)化算法.

    作者貢獻聲明:肖謙提出了技術方案,實現(xiàn)系統(tǒng)和撰寫論文;趙美佳和李名凡負責核心計算眾核優(yōu)化實現(xiàn)和論文完善;沈莉和陳俊仕負責數(shù)據(jù)流調(diào)度算法實現(xiàn)和優(yōu)化;周文浩和王飛負責部分實驗代碼編寫;安虹提出指導意見并修改論文.

    猜你喜歡
    數(shù)據(jù)流異構處理器
    試論同課異構之“同”與“異”
    汽車維修數(shù)據(jù)流基礎(下)
    一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
    overlay SDN實現(xiàn)異構兼容的關鍵技術
    電信科學(2016年11期)2016-11-23 05:07:56
    LTE異構網(wǎng)技術與組網(wǎng)研究
    基于數(shù)據(jù)流聚類的多目標跟蹤算法
    Imagination的ClearCallTM VoIP應用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
    在新興異構SoCs上集成多種系統(tǒng)
    北醫(yī)三院 數(shù)據(jù)流疏通就診量
    ADI推出新一代SigmaDSP處理器
    汽車零部件(2014年1期)2014-09-21 11:41:11
    АⅤ资源中文在线天堂| 国产高清激情床上av| 国产真人三级小视频在线观看| 久久这里只有精品中国| 免费av毛片视频| 免费高清视频大片| 我要搜黄色片| 搡老妇女老女人老熟妇| 国产黄色小视频在线观看| 欧美激情在线99| 日本 欧美在线| 欧美色视频一区免费| 很黄的视频免费| 午夜福利成人在线免费观看| 日本免费a在线| 国产欧美日韩精品亚洲av| 岛国视频午夜一区免费看| 草草在线视频免费看| 国产一区二区在线观看日韩 | 老汉色av国产亚洲站长工具| 国产亚洲欧美在线一区二区| 黄色视频,在线免费观看| 69人妻影院| 老鸭窝网址在线观看| 亚洲精品久久国产高清桃花| 午夜福利在线观看吧| 国产精品 国内视频| 欧美xxxx黑人xx丫x性爽| 国产精品 国内视频| 最后的刺客免费高清国语| 欧美成人性av电影在线观看| www.www免费av| 在线观看免费午夜福利视频| 校园春色视频在线观看| 啦啦啦观看免费观看视频高清| 亚洲一区二区三区不卡视频| 在线观看免费视频日本深夜| 欧美+亚洲+日韩+国产| 草草在线视频免费看| 国产黄a三级三级三级人| 91久久精品国产一区二区成人 | 色播亚洲综合网| 久久天躁狠狠躁夜夜2o2o| 久99久视频精品免费| 午夜福利成人在线免费观看| 国产激情欧美一区二区| 国产毛片a区久久久久| 欧美日韩综合久久久久久 | 在线免费观看不下载黄p国产 | 亚洲黑人精品在线| 女警被强在线播放| 国产精品久久电影中文字幕| 丁香六月欧美| 国产精品99久久99久久久不卡| 精品电影一区二区在线| av欧美777| 欧美一区二区国产精品久久精品| 国产精品久久久久久人妻精品电影| 99精品久久久久人妻精品| 欧美极品一区二区三区四区| 美女被艹到高潮喷水动态| h日本视频在线播放| 又粗又爽又猛毛片免费看| 亚洲美女视频黄频| 午夜福利免费观看在线| 老鸭窝网址在线观看| 老司机午夜十八禁免费视频| 中文在线观看免费www的网站| 免费一级毛片在线播放高清视频| 天天一区二区日本电影三级| 亚洲 欧美 日韩 在线 免费| 久久欧美精品欧美久久欧美| 国产蜜桃级精品一区二区三区| 有码 亚洲区| 国产伦人伦偷精品视频| 国产亚洲精品久久久com| 婷婷丁香在线五月| 九色国产91popny在线| 午夜精品一区二区三区免费看| 久久精品国产综合久久久| 国产精品亚洲美女久久久| 欧美最新免费一区二区三区 | 精品不卡国产一区二区三区| 又粗又爽又猛毛片免费看| 久久婷婷人人爽人人干人人爱| 久久精品综合一区二区三区| 日本 欧美在线| 可以在线观看的亚洲视频| 亚洲欧美激情综合另类| 特大巨黑吊av在线直播| 天堂影院成人在线观看| 亚洲国产欧美网| 老司机深夜福利视频在线观看| 夜夜看夜夜爽夜夜摸| 午夜福利18| 床上黄色一级片| 成人无遮挡网站| 性欧美人与动物交配| 啦啦啦韩国在线观看视频| 成人国产综合亚洲| 国产男靠女视频免费网站| 久久人妻av系列| 国产精品爽爽va在线观看网站| 久久6这里有精品| 国产视频内射| 脱女人内裤的视频| av福利片在线观看| 在线视频色国产色| 久久精品综合一区二区三区| 亚洲五月婷婷丁香| 欧美黄色淫秽网站| 人妻丰满熟妇av一区二区三区| 伊人久久精品亚洲午夜| 人妻夜夜爽99麻豆av| 一级a爱片免费观看的视频| 韩国av一区二区三区四区| 久久精品91蜜桃| 18禁黄网站禁片免费观看直播| 香蕉av资源在线| 午夜福利免费观看在线| 午夜福利在线观看吧| 国产精品精品国产色婷婷| 母亲3免费完整高清在线观看| 叶爱在线成人免费视频播放| 欧美黑人巨大hd| 免费在线观看亚洲国产| 脱女人内裤的视频| 久久国产精品影院| 无遮挡黄片免费观看| 亚洲熟妇熟女久久| 一边摸一边抽搐一进一小说| 99热6这里只有精品| 人妻久久中文字幕网| 亚洲在线观看片| 99国产精品一区二区三区| 午夜福利在线观看免费完整高清在 | 香蕉丝袜av| 午夜激情欧美在线| 99久久精品一区二区三区| 国产精品综合久久久久久久免费| 亚洲av免费在线观看| 少妇熟女aⅴ在线视频| 久9热在线精品视频| 国内精品久久久久久久电影| 99热精品在线国产| 欧美日韩综合久久久久久 | 99久久精品国产亚洲精品| 国产又黄又爽又无遮挡在线| 久久精品国产亚洲av涩爱 | 又紧又爽又黄一区二区| 国产高潮美女av| 少妇人妻一区二区三区视频| 在线免费观看的www视频| 国内毛片毛片毛片毛片毛片| 久9热在线精品视频| 男女那种视频在线观看| 亚洲精品一卡2卡三卡4卡5卡| 成人三级黄色视频| 国产精品爽爽va在线观看网站| 成人av在线播放网站| 一本精品99久久精品77| 国产精品乱码一区二三区的特点| 国产一区二区三区视频了| 国产av在哪里看| 久久这里只有精品中国| 欧美性感艳星| 国产亚洲精品久久久com| 亚洲第一电影网av| 国产精品99久久99久久久不卡| 91av网一区二区| 欧美日韩乱码在线| 欧美色欧美亚洲另类二区| 国产亚洲精品综合一区在线观看| 神马国产精品三级电影在线观看| 国产一区二区在线av高清观看| 国产亚洲精品久久久com| 日韩欧美国产在线观看| 一卡2卡三卡四卡精品乱码亚洲| 欧美高清成人免费视频www| 日韩免费av在线播放| 国产一区二区亚洲精品在线观看| 久久久色成人| 亚洲在线自拍视频| 国产极品精品免费视频能看的| 久久精品国产清高在天天线| www.www免费av| 国产又黄又爽又无遮挡在线| 熟女电影av网| 美女黄网站色视频| 成年人黄色毛片网站| 怎么达到女性高潮| 99久久久亚洲精品蜜臀av| 十八禁网站免费在线| 国产精品嫩草影院av在线观看 | 国产精品,欧美在线| 成人无遮挡网站| 中文在线观看免费www的网站| 中文亚洲av片在线观看爽| 免费电影在线观看免费观看| 18禁裸乳无遮挡免费网站照片| 久久久久精品国产欧美久久久| 欧美最新免费一区二区三区 | 美女大奶头视频| а√天堂www在线а√下载| www国产在线视频色| 亚洲最大成人中文| avwww免费| 亚洲av熟女| 法律面前人人平等表现在哪些方面| 免费av不卡在线播放| 国产精品久久久久久精品电影| 男女视频在线观看网站免费| 无人区码免费观看不卡| 制服人妻中文乱码| 精品国产亚洲在线| 99在线人妻在线中文字幕| 久久欧美精品欧美久久欧美| 精品久久久久久久久久久久久| 免费人成在线观看视频色| 老熟妇仑乱视频hdxx| 免费看美女性在线毛片视频| 欧美中文综合在线视频| 三级国产精品欧美在线观看| 久久久久久久午夜电影| 18美女黄网站色大片免费观看| 亚洲av成人精品一区久久| 亚洲av五月六月丁香网| 嫩草影视91久久| 亚洲av第一区精品v没综合| 国产v大片淫在线免费观看| 国产黄片美女视频| 精品乱码久久久久久99久播| 日韩有码中文字幕| 亚洲一区二区三区不卡视频| 97人妻精品一区二区三区麻豆| 偷拍熟女少妇极品色| 亚洲第一电影网av| 悠悠久久av| 日本a在线网址| 最新美女视频免费是黄的| 精品人妻1区二区| 亚洲黑人精品在线| 制服人妻中文乱码| 熟女电影av网| 亚洲18禁久久av| 18禁黄网站禁片午夜丰满| 757午夜福利合集在线观看| 国产精品香港三级国产av潘金莲| 国产伦人伦偷精品视频| 国产单亲对白刺激| 欧美激情久久久久久爽电影| 国产男靠女视频免费网站| 搡老妇女老女人老熟妇| 国产高清三级在线| 无遮挡黄片免费观看| 欧美成人一区二区免费高清观看| 日韩大尺度精品在线看网址| 最好的美女福利视频网| 岛国在线免费视频观看| 两个人看的免费小视频| 精品一区二区三区人妻视频| 五月玫瑰六月丁香| 在线观看免费午夜福利视频| 国产免费男女视频| 国产精品一及| 在线观看美女被高潮喷水网站 | 欧美xxxx黑人xx丫x性爽| 亚洲人成网站高清观看| 亚洲专区中文字幕在线| 舔av片在线| 精品午夜福利视频在线观看一区| 欧美日韩国产亚洲二区| 一进一出抽搐gif免费好疼| 两个人视频免费观看高清| 日韩欧美在线二视频| 欧美一区二区精品小视频在线| 51午夜福利影视在线观看| 老司机福利观看| 少妇的逼水好多| 久久久久久九九精品二区国产| 亚洲七黄色美女视频| 在线播放国产精品三级| 久久久久久人人人人人| 一个人免费在线观看的高清视频| e午夜精品久久久久久久| av福利片在线观看| 丰满乱子伦码专区| 少妇的丰满在线观看| 岛国在线观看网站| 亚洲成人中文字幕在线播放| 男人的好看免费观看在线视频| 国产精品野战在线观看| 亚洲精品成人久久久久久| 免费观看人在逋| 免费看日本二区| 午夜福利在线观看免费完整高清在 | 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 国产成人a区在线观看| 嫩草影视91久久| 丝袜美腿在线中文| 中文字幕久久专区| 亚洲国产高清在线一区二区三| 久久精品综合一区二区三区| a级一级毛片免费在线观看| 日韩欧美一区二区三区在线观看| 男人的好看免费观看在线视频| a级一级毛片免费在线观看| 午夜两性在线视频| 日韩欧美三级三区| 日韩高清综合在线| www.熟女人妻精品国产| 成年版毛片免费区| 国产探花在线观看一区二区| 欧洲精品卡2卡3卡4卡5卡区| 亚洲精品成人久久久久久| 无人区码免费观看不卡| 91字幕亚洲| 久久久色成人| 1000部很黄的大片| 午夜精品久久久久久毛片777| 女同久久另类99精品国产91| www.www免费av| 亚洲色图av天堂| 免费看美女性在线毛片视频| 欧美乱色亚洲激情| 观看美女的网站| 91在线观看av| 女人被狂操c到高潮| 欧美+亚洲+日韩+国产| 精品一区二区三区视频在线 | 俺也久久电影网| 欧美最新免费一区二区三区 | 久9热在线精品视频| 成人特级黄色片久久久久久久| 精品久久久久久久末码| 国产精品1区2区在线观看.| 国产国拍精品亚洲av在线观看 | avwww免费| 亚洲欧美精品综合久久99| 无遮挡黄片免费观看| 老司机午夜十八禁免费视频| 2021天堂中文幕一二区在线观| 少妇人妻精品综合一区二区 | 日韩 欧美 亚洲 中文字幕| 97超级碰碰碰精品色视频在线观看| 又粗又爽又猛毛片免费看| 精品熟女少妇八av免费久了| 又粗又爽又猛毛片免费看| 精品熟女少妇八av免费久了| 嫩草影视91久久| bbb黄色大片| 日本免费一区二区三区高清不卡| 18禁黄网站禁片午夜丰满| 久久久久久人人人人人| 三级毛片av免费| 日韩人妻高清精品专区| 别揉我奶头~嗯~啊~动态视频| 精品国产超薄肉色丝袜足j| 一边摸一边抽搐一进一小说| 女同久久另类99精品国产91| 亚洲最大成人手机在线| 日韩欧美 国产精品| 别揉我奶头~嗯~啊~动态视频| 1000部很黄的大片| 三级毛片av免费| 波多野结衣高清无吗| 亚洲成人久久爱视频| 两个人的视频大全免费| 熟女人妻精品中文字幕| 伊人久久大香线蕉亚洲五| 51国产日韩欧美| 波多野结衣高清无吗| x7x7x7水蜜桃| 2021天堂中文幕一二区在线观| 国产视频内射| 亚洲精品成人久久久久久| 黄色片一级片一级黄色片| 国产精品99久久久久久久久| 一级a爱片免费观看的视频| 欧美xxxx黑人xx丫x性爽| 麻豆一二三区av精品| 2021天堂中文幕一二区在线观| 亚洲国产精品成人综合色| 一级毛片女人18水好多| 性欧美人与动物交配| 久久久国产成人精品二区| 我的老师免费观看完整版| 桃红色精品国产亚洲av| 老汉色∧v一级毛片| 国产淫片久久久久久久久 | 此物有八面人人有两片| av片东京热男人的天堂| 美女免费视频网站| 亚洲久久久久久中文字幕| 久久精品国产亚洲av香蕉五月| 成人18禁在线播放| 美女黄网站色视频| 成人欧美大片| 极品教师在线免费播放| 成人高潮视频无遮挡免费网站| 91在线精品国自产拍蜜月 | 麻豆国产av国片精品| 精品一区二区三区人妻视频| 午夜激情欧美在线| 亚洲国产精品999在线| 欧美一级毛片孕妇| 久久婷婷人人爽人人干人人爱| 精品人妻一区二区三区麻豆 | 国产久久久一区二区三区| 他把我摸到了高潮在线观看| 亚洲欧美日韩高清在线视频| 国产精品爽爽va在线观看网站| 国产亚洲精品一区二区www| 18禁美女被吸乳视频| 99久久九九国产精品国产免费| 色精品久久人妻99蜜桃| 身体一侧抽搐| 国产日本99.免费观看| 少妇人妻一区二区三区视频| 成人18禁在线播放| 一二三四社区在线视频社区8| 成人欧美大片| 少妇裸体淫交视频免费看高清| 日韩国内少妇激情av| 母亲3免费完整高清在线观看| 九九在线视频观看精品| 欧美日韩一级在线毛片| 国产精品影院久久| 国产v大片淫在线免费观看| 久久这里只有精品中国| 夜夜躁狠狠躁天天躁| 亚洲熟妇熟女久久| 在线观看日韩欧美| 99国产极品粉嫩在线观看| 狂野欧美激情性xxxx| 日韩 欧美 亚洲 中文字幕| 黄色丝袜av网址大全| 丰满人妻一区二区三区视频av | 久久这里只有精品中国| 国产成人av激情在线播放| 亚洲av日韩精品久久久久久密| 91在线观看av| 夜夜爽天天搞| 日本黄大片高清| 熟女人妻精品中文字幕| 丁香欧美五月| 国产在视频线在精品| 哪里可以看免费的av片| 成人永久免费在线观看视频| 国产精品 国内视频| 成年女人看的毛片在线观看| 女警被强在线播放| 亚洲成人中文字幕在线播放| 国产aⅴ精品一区二区三区波| 少妇的逼好多水| 搡老熟女国产l中国老女人| 欧美zozozo另类| 全区人妻精品视频| 三级毛片av免费| 搡老岳熟女国产| 精品久久久久久久久久久久久| 亚洲av成人av| 欧美+日韩+精品| 国产精品 国内视频| 国产一区二区三区视频了| 国产中年淑女户外野战色| 国产成人系列免费观看| 亚洲精品乱码久久久v下载方式 | 好看av亚洲va欧美ⅴa在| 成人午夜高清在线视频| 亚洲中文字幕一区二区三区有码在线看| 狂野欧美白嫩少妇大欣赏| 91av网一区二区| 中文字幕人妻熟人妻熟丝袜美 | www日本在线高清视频| 免费看十八禁软件| 又粗又爽又猛毛片免费看| 中出人妻视频一区二区| 岛国视频午夜一区免费看| 少妇的逼水好多| 欧美激情在线99| 精品一区二区三区视频在线观看免费| 国产日本99.免费观看| 久久精品夜夜夜夜夜久久蜜豆| 亚洲av成人精品一区久久| 天天添夜夜摸| 在线a可以看的网站| 成人av在线播放网站| 少妇人妻一区二区三区视频| 九色国产91popny在线| 欧美性猛交黑人性爽| 色老头精品视频在线观看| 成年人黄色毛片网站| 国产av在哪里看| 日本三级黄在线观看| 免费高清视频大片| 两性午夜刺激爽爽歪歪视频在线观看| 美女cb高潮喷水在线观看| 久久久久亚洲av毛片大全| 欧洲精品卡2卡3卡4卡5卡区| 女生性感内裤真人,穿戴方法视频| 日本熟妇午夜| 亚洲最大成人手机在线| 美女高潮喷水抽搐中文字幕| 亚洲国产精品久久男人天堂| 日韩 欧美 亚洲 中文字幕| 亚洲第一欧美日韩一区二区三区| 999久久久精品免费观看国产| 男女之事视频高清在线观看| 国产激情偷乱视频一区二区| 亚洲精品日韩av片在线观看 | 亚洲午夜理论影院| 九色成人免费人妻av| 99热精品在线国产| 床上黄色一级片| 国产欧美日韩精品一区二区| 狂野欧美白嫩少妇大欣赏| 级片在线观看| 丰满乱子伦码专区| 波野结衣二区三区在线 | 国产精品一区二区三区四区免费观看 | 高清在线国产一区| 露出奶头的视频| 国语自产精品视频在线第100页| 精品欧美国产一区二区三| 国产三级在线视频| 一本精品99久久精品77| 极品教师在线免费播放| 午夜两性在线视频| 夜夜夜夜夜久久久久| 日韩欧美一区二区三区在线观看| 人人妻人人看人人澡| 嫩草影院入口| 欧美又色又爽又黄视频| 亚洲国产中文字幕在线视频| 亚洲精品粉嫩美女一区| 欧美不卡视频在线免费观看| 18禁黄网站禁片午夜丰满| 亚洲片人在线观看| 少妇的逼水好多| 18美女黄网站色大片免费观看| 国产精品久久久久久亚洲av鲁大| 日本三级黄在线观看| 亚洲无线在线观看| 欧美日韩综合久久久久久 | 深爱激情五月婷婷| 久久久久国产精品人妻aⅴ院| 色精品久久人妻99蜜桃| 黄色成人免费大全| 丰满人妻一区二区三区视频av | 亚洲五月天丁香| 两性午夜刺激爽爽歪歪视频在线观看| 一个人免费在线观看电影| 香蕉久久夜色| 精品免费久久久久久久清纯| 老熟妇乱子伦视频在线观看| 中亚洲国语对白在线视频| 全区人妻精品视频| 在线观看日韩欧美| 2021天堂中文幕一二区在线观| 亚洲av不卡在线观看| 日韩欧美一区二区三区在线观看| 国产在线精品亚洲第一网站| 国产一区二区在线av高清观看| 欧美高清成人免费视频www| www.www免费av| 日韩成人在线观看一区二区三区| 中文字幕久久专区| 母亲3免费完整高清在线观看| 午夜福利在线在线| 亚洲人成网站高清观看| 久久6这里有精品| 国产乱人视频| 内地一区二区视频在线| 国产精品自产拍在线观看55亚洲| 国产午夜福利久久久久久| 狂野欧美激情性xxxx| 19禁男女啪啪无遮挡网站| 亚洲专区国产一区二区| 欧美丝袜亚洲另类 | 久久久久亚洲av毛片大全| 久久九九热精品免费| 国产精品综合久久久久久久免费| 狂野欧美白嫩少妇大欣赏| 欧美+亚洲+日韩+国产| 老司机午夜十八禁免费视频| 在线视频色国产色| 午夜激情福利司机影院| 激情在线观看视频在线高清| 日韩高清综合在线| 亚洲 国产 在线| 桃色一区二区三区在线观看| 色噜噜av男人的天堂激情| 看黄色毛片网站| 久久性视频一级片| 男女下面进入的视频免费午夜| 麻豆一二三区av精品| 俺也久久电影网| 日韩 欧美 亚洲 中文字幕| 少妇的逼水好多| 久久性视频一级片| 国内揄拍国产精品人妻在线| 中文资源天堂在线| 午夜精品久久久久久毛片777| 国产免费av片在线观看野外av| 特级一级黄色大片| 欧美日韩福利视频一区二区| 国产蜜桃级精品一区二区三区| 熟妇人妻久久中文字幕3abv| 欧美日韩一级在线毛片| 18禁国产床啪视频网站| 国产亚洲精品一区二区www| 男人的好看免费观看在线视频| 欧美av亚洲av综合av国产av| 波多野结衣巨乳人妻|