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

    國產(chǎn)神威環(huán)境下Athread代碼生成工具的設(shè)計與開發(fā)

    2024-02-22 08:02:20劉加偉張海紅曾云輝
    計算機工程與設(shè)計 2024年2期
    關(guān)鍵詞:制導(dǎo)語句代碼

    劉加偉,郭 強,莊 園,張海紅,王 利,曾云輝+

    (1.齊魯工業(yè)大學(xué)(山東省科學(xué)院) 計算機科學(xué)與技術(shù)學(xué)部,山東 濟南 250014;2.齊魯工業(yè)大學(xué)(山東省科學(xué)院) 山東省計算中心(國家超級計算濟南中心),山東 濟南 250103)

    0 引 言

    國產(chǎn)神威系列超級計算機系統(tǒng)支持多種常見的編程模型和并行標準,常用的有消息傳遞接口(message passing interface,MPI)、異構(gòu)系統(tǒng)并行編程模型(open accelerators,OpenACC)、加速線程庫(acceleration thread library)等。當前程序員在神威超級計算機上進行眾核化加速時會面臨編程模型選擇的問題。雖然OpenACC執(zhí)行方便,但是并行粒度和并行化效率不高。OpenACC通過導(dǎo)語及子語就可以隱式的實現(xiàn)并行編程[1,2],即使是針對神威異構(gòu)眾核處理器的結(jié)構(gòu)特點而改進的OpenACC*[1]也不能對核組內(nèi)的線程進行靈活的控制和調(diào)度,程序優(yōu)化的思想也大多是設(shè)法提高數(shù)據(jù)的傳輸效率,在不追求極致的計算效率的情況下采用OpenACC*并行實現(xiàn);而Athread性能更優(yōu),而且編寫靈活,能夠更好地發(fā)揮出核組內(nèi)多從核并行的加速性能[3],但相較于OpenACC*編寫代碼的工作量更大,編程人員在眾核化編程中容易出現(xiàn)書寫失誤,進而需要對代碼進行人工排查,這將導(dǎo)致眾核化工作效率降低?;谶@個問題,亟需要借助自動化的技術(shù)輔助眾核代碼的編寫。

    目前國內(nèi)外已有很多研究人員在進行關(guān)于自動生成并行代碼技術(shù)和方法的研究[4,5]。付昊桓等實現(xiàn)了OpenACC代碼到基于神威眾核處理器下Athread代碼,主要依靠源代碼到源代碼的翻譯工具來實現(xiàn)自動化和高效的移植[4];朱效民等第一次嘗試在SW26010上進行代碼自動生成研究,設(shè)計實現(xiàn)了二維Fortran代碼轉(zhuǎn)換為Athread代碼的自動代碼生成器。該工具使用源到源的轉(zhuǎn)換方法,通過輸入Fortran代碼的數(shù)組維度信息、循環(huán)索引、計算和循環(huán)結(jié)束關(guān)鍵詞來生成從核代碼。該工具僅僅是對二維Fortran代碼進行自動轉(zhuǎn)換,缺少對其它維度以及使用C語言編寫的源程序支持[5]。上述研究主要依賴編譯器來實現(xiàn)程序的源到源的自動翻譯,這種編譯器實現(xiàn)方法后續(xù)修改比較困難,難以完善;而本文設(shè)計的轉(zhuǎn)換工具基于模板程序進行轉(zhuǎn)換,易于修改,而且可以及時利用新的高效從核優(yōu)化方法,便利性強[6-8]。

    本文的主要工作是,提出了一套結(jié)構(gòu)清晰易用的Athread眾核程序模板框架,設(shè)計提出一種可以使源程序自動轉(zhuǎn)換為Athread方式的方法,研發(fā)實現(xiàn)了一個面向神威異構(gòu)眾核處理器上Fortran/C語言核心代碼段基于Athread方式的眾核代碼轉(zhuǎn)換系統(tǒng),旨在提高開發(fā)人員的眾核化工作效率。

    1 代碼生成工具設(shè)計開發(fā)

    基于目前人工編寫Athread方式眾核代碼的現(xiàn)狀和技術(shù)方法,我們泛化提出了一套主程序調(diào)用master程序再由master程序調(diào)用slave程序的三層模板程序框架,設(shè)計研發(fā)了一個面向C語言和Fortran語言使用的眾核代碼自動轉(zhuǎn)換工具。該工具根據(jù)上傳的制導(dǎo)文件和源文件,選擇對應(yīng)的轉(zhuǎn)換模板轉(zhuǎn)換生成Athread方式的眾核代碼,轉(zhuǎn)換成功后可以對生成的文件進行編輯保存和下載。

    1.1 總體設(shè)計

    眾核代碼自動生成工具可以使用可執(zhí)行文件進行單機版的操作,也可使用Web版進行使用。Web版采系統(tǒng)用B/S模式,用戶通過瀏覽器可對該工具進行操作。服務(wù)器采用Nginx,它具有簡單的負載均衡和容錯,后臺的數(shù)據(jù)服務(wù)采用MySQL數(shù)據(jù)庫,主要包括用戶權(quán)限信息和資源信息,其中資源信息包括上傳的源代碼和轉(zhuǎn)換后生成的一系列Athread代碼,對提交的文件做統(tǒng)一管理[9]。該工具在設(shè)計上充分發(fā)揮了各種語言的優(yōu)點,文件讀寫采用異步的方式實現(xiàn),體系結(jié)構(gòu)如圖1所示。

    將源文件和制導(dǎo)文件上傳到眾核代碼轉(zhuǎn)換平臺之后,在Web頁面上進行操作,選擇對應(yīng)的模板進行轉(zhuǎn)換,選擇模板的意義在于選擇handlebars渲染文件路徑。轉(zhuǎn)換之后兩個文件的字符串直接通過Web頁面調(diào)到Java后臺,在后臺接收到文件之后,將制導(dǎo)文件內(nèi)容、源文件內(nèi)容和模板路徑交給核心庫,由核心庫統(tǒng)一處理,核心庫通過模板路徑獲取到所需要的模板文件,對文件進行語法詞法解析和渲染,輸出的文件保存在硬盤上并把路徑返回給Java后臺,Java后臺再把路徑發(fā)送到前臺。

    1.2 模板程序架構(gòu)

    隨著神威系列超級計算機系統(tǒng)的發(fā)展,盡管系統(tǒng)架構(gòu)發(fā)生改變,但是“由主程序調(diào)用master.c程序,再由master.c程序調(diào)用slave.c程序”的編程模式依然是主流思想[1]。本工具以主程序、master.c程序和slave.c程序作為模板,基于制導(dǎo)文件進行轉(zhuǎn)換,還添加了一個全局變量文件定義相關(guān)參數(shù),實現(xiàn)對不同平臺的擴展。用戶使用本工具時,只需要編寫制導(dǎo)文件即可。

    1.2.1 主程序

    在主程序中,除過實現(xiàn)核心段的眾核化之外,一個常見需求就是計算結(jié)果比對和運行計時。通過計時函數(shù)來獲取主程序核心段計算時間和從核計算時間,按制導(dǎo)文件自動對原主核核心代碼段和眾核調(diào)用代碼段進行計時插樁,比較耗時情況,并對加速效果進行輸出。目前采用以基于getlooptime()為基礎(chǔ)的計時方法。主程序以逐元素比較原主核計算變量的結(jié)果與眾核計算變量的結(jié)果的方式來判斷超出精度范圍的位置和數(shù)值,并進行輸出。在主程序模板中還添加了條件編譯語句,用于選擇程序是眾核化運行、主核運行還是進行比對。

    1.2.2 master.c

    在master.c程序模板中,將常用的數(shù)據(jù)參數(shù)以結(jié)構(gòu)體的形式存儲,結(jié)構(gòu)體中成員類型包含了常見集中數(shù)據(jù)類型,每種類型的大小分別受不同的參數(shù)控制。在從核啟動的時候?qū)⒔Y(jié)構(gòu)體加載到每個從核的LDM(local data memory)中,減少從核直接訪主存的次數(shù),實現(xiàn)數(shù)據(jù)的重復(fù)調(diào)用,提高程序性能。此外,為了提高二維數(shù)組的可擴展性,該模板采用spawn方式[10],以便對多個并行的二維數(shù)組計算的核心段進行從核分區(qū)并行。

    1.2.3 slave.c

    為避免從核使用動態(tài)分配函數(shù)出現(xiàn)的不穩(wěn)定現(xiàn)象,slave.c從核程序模板采用靜態(tài)存儲變量的方法,即采用LDM靜態(tài)空間分別開設(shè)一個較大的整型和浮點型的靜態(tài)數(shù)組,對各個變量按結(jié)構(gòu)體參數(shù)分別對應(yīng)進行自動映射。此外,為了減少用戶編程的工作量,提高開發(fā)效率,我們使用了新一代神威眾核架構(gòu)下實現(xiàn)的從核間通信的接口函數(shù)[11]。

    1.2.4 制導(dǎo)文件

    基于前述模板,轉(zhuǎn)換工具按照用戶提供的制導(dǎo)文件對原始程序代碼(filename.f90/.c)實現(xiàn)眾核化,自動生成filename_struct.h頭文件、filename_sw.f90/.c新的主程序、filename_master.c和filename_slave.c文件。

    在使用轉(zhuǎn)換工具前,需要用戶針對原始代碼程序filename.f90/.c中擬轉(zhuǎn)換的核心代碼段編寫一個制導(dǎo)文件,包括如下內(nèi)容。

    (1)明確擬眾核化的代碼段范圍,按照起始行號表述。

    (2)按照輸入變量、輸出變量、雙向變量的分類,逐個對變量的名稱、類型(整型/單精度浮點數(shù)/雙精度浮點數(shù)等)、維數(shù)、每一維需要讀進/寫出從核的大小、每一維的起始下標等進行明確,必要時可明確每一維的范圍,制導(dǎo)文件中部分變量及數(shù)組見表1。

    表1 制導(dǎo)文件中部分變量及數(shù)組示例

    (3)增加條件編譯語句(如計時統(tǒng)計和結(jié)果比較等)和調(diào)用master.c中函數(shù)的語句。

    (4)部分優(yōu)化方法的選項設(shè)置。

    1.3 系統(tǒng)功能模塊設(shè)計

    該工具的后端實現(xiàn)主要采用Rust語言作為開發(fā)語言,以Handlebars作為語義模板庫,前端展示界面的開發(fā)采用Java語言。之所以選擇Rust語言,是因為Rust是非GC的內(nèi)存安全的語言,不像Java需要運行時有GC線程來清理內(nèi)存,也不像C類語言需要手動申請、釋放堆內(nèi)存。它有一套自己的語法,按照這套語法編寫自己的代碼,它在編譯時會自動地在需要的地方添加申請、釋放內(nèi)存的指令[12]。而內(nèi)存安全的機制可以放心編寫業(yè)務(wù)代碼,不用擔心空指、野指、堆內(nèi)存不釋放等問題,以提高程序的穩(wěn)定性和安全性。

    整個轉(zhuǎn)換工具的輸入是Fortran/C源程序和對應(yīng)的制導(dǎo)文件。然后,對源碼進行詞法分析并用抽象語法樹AST(abstract syntax tree)表示。下一步是根據(jù)轉(zhuǎn)換后的抽象語法樹生成目標語句。最后,將生成的目標語句轉(zhuǎn)換為Athread源程序。

    我們根據(jù)轉(zhuǎn)換工具功能實現(xiàn)的流程邏輯,將項目劃分為核心數(shù)據(jù)轉(zhuǎn)換模塊、模板模塊、展示模塊,這3個模塊依次完成。

    (1)核心數(shù)據(jù)轉(zhuǎn)換模塊

    利用抽象語法樹(AST)規(guī)則通過解析、轉(zhuǎn)換、生成3個步驟[13]將Fortran/C文件和制導(dǎo)文件轉(zhuǎn)換為內(nèi)置數(shù)據(jù)模型。該工具在實現(xiàn)上將解析、轉(zhuǎn)換和生成進行業(yè)務(wù)切割,其中,解析業(yè)務(wù)以數(shù)據(jù)序列化的方式實現(xiàn),轉(zhuǎn)換業(yè)務(wù)則是根據(jù)轉(zhuǎn)換庫預(yù)留接口實現(xiàn),達到業(yè)務(wù)上的解耦,提高該工具的可擴展性。

    1)解析,將原始語句解析為抽象語法樹。

    使用AST對原始語句解析時,需要先進行詞法分析。詞法分析會根據(jù)既定的語法單元表,將原始語句分割成一維數(shù)組語法單元列表(token表)。詞法分析時會將連續(xù)的空格當做分割符,自動切分語法單元。獲得token表之后,再使用語法分析,將一維無結(jié)構(gòu)的token表轉(zhuǎn)化為樹形結(jié)構(gòu)。在語法分析時,也會驗證語法的正確性。

    2)轉(zhuǎn)換,操作抽象語法樹節(jié)點完成轉(zhuǎn)換。

    AST轉(zhuǎn)換沒有固定的標準,本項目存在兩種情況:對匹配節(jié)點簡單的替換和對匹配子樹結(jié)構(gòu)的調(diào)整或者替換。這個過程包含遍歷和轉(zhuǎn)換兩步。抽象語法樹可以使用一般樹的遍歷方法,如先序遍歷和后序遍歷。

    3)生成,根據(jù)轉(zhuǎn)換后的抽象語法樹生成目標語句。

    在生成的遍歷過程中,需要對所有不同類型語法單元的節(jié)點的所有情況定義不同的處理邏輯,而不同類型語法節(jié)點下子樹的遍歷順序也有可能會不同。所以,需要為所有情況進行枚舉。AST遍歷示例如圖2所示。

    圖2 AST遍歷示例

    其中,statement_list語法單元用來表示子節(jié)點都是并列依次執(zhí)行的語句。while子樹中包含了while循環(huán)的條件判斷和if的語句塊,if語句塊包含了if的條件判斷和兩個賦值語句。在編譯器構(gòu)造同樣類型語法樹時,一般會使用與具體語言無關(guān)的語法單元的命名,這樣在后續(xù)的轉(zhuǎn)換只是對節(jié)點采用不同的翻譯模式而已,做到了和具體語言的解耦。

    (2)模板模塊

    在此模塊中自定義模板組件,將數(shù)據(jù)轉(zhuǎn)換模塊中的內(nèi)置數(shù)據(jù)格式轉(zhuǎn)換為C語言文本。表2中列舉了部分主要的模板組件。

    表2 主要模板組件

    (3)展示模塊

    單機版采用exe可執(zhí)行文件直接生成導(dǎo)出文件到響應(yīng)目錄。Web版采用Web頁面展示轉(zhuǎn)換結(jié)果。在使用轉(zhuǎn)換工具之前先把相應(yīng)的f90/c源文件和制導(dǎo)文件上傳,之后選定源文件和制導(dǎo)文件分別放到源文件代碼編輯區(qū)和制導(dǎo)文件代碼編輯區(qū),然后保存,選擇相關(guān)的模板開始轉(zhuǎn)換,最后可以把生成的所有文件的壓縮包下載,也可以在線預(yù)覽生成的文件內(nèi)容。Web原型設(shè)計如圖3所示。

    圖3 Web版前端界面原型框架

    Web版本中的兩個編輯區(qū)可以實現(xiàn)在線的實時修改,同時我們添加了對“do”、“for”、“if”、“else”等關(guān)鍵詞的高亮顯示,更方便使用人員操作。

    2 系統(tǒng)實現(xiàn)

    2.1 詞法語法分析器的具體實現(xiàn)流程

    詞法語法分析器主要是用于將一個編程語言轉(zhuǎn)換成另外一種編程語言,相當于一個簡單編譯器的實現(xiàn)。按照需求該編譯器包含詞法分析、語法轉(zhuǎn)換以及簡單的錯誤分析,分析流程如圖4所示。

    圖4 分析流程

    2.1.1 詞法語法分析

    (1)語句分析器

    分析器采用流式解析的方法,將整個代碼的字符串按行讀取,分析器按照規(guī)則匹配token表,在備選的語法結(jié)構(gòu)中排除,直到匹配到語句結(jié)束并且備選的語法結(jié)構(gòu)中只剩下一個備選。使用這種流式的語法解析方法可以減少掃描過多而帶來的內(nèi)存占用和時間問題。針對于一個語句多行編寫的情況,會將語句之前的解析內(nèi)容緩存,等到完整的語句解析完成之后再寫入到數(shù)據(jù)結(jié)構(gòu)中。按照制導(dǎo)文件和f90文件的結(jié)構(gòu)可分為輸入變量、輸出變量、輸入輸出變量等,具體匹配流程如圖5所示。

    圖5 語義匹配有限狀態(tài)自動機

    圖5中虛線代表推測的是哪種語義。該流程圖中的任意語句必須完全匹配才能確定是否為該語義,如果匹配出來的不在推測的集合中,則會返回錯誤信息。

    對于不同的語言,該工具在解析規(guī)則上有較小的差別,只需更改相應(yīng)的解析規(guī)則和模板就可以很好實現(xiàn)語言上的擴展。以C程序中的for循環(huán)為例,當輸入一串字符串為 “for(i=0;i<10;i++)” 時,它會逐字進行判斷,匹配過程如圖6所示。

    圖6 for循環(huán)解析過程

    (2)源文件語句分析

    以f90源文件為例,系統(tǒng)需要提交的f90源文件主要用于解析變量、計算語句源語句、子程序識別。f90變量的解析主要用于提供變量的初始值。

    根據(jù)f90源文件的結(jié)構(gòu),可以定義4個解析位置,分別為:開始子程序、解析變量、核心計算語句、結(jié)束子程序,并且可以循環(huán)。在f90中,語句的結(jié)束標識符為換行符,如果多行為一個語句,則行結(jié)束后為“&”標識符。

    解析位置間的切換規(guī)則為:

    1)文件初始時為解析位置為None。

    2)當解析位置為None或結(jié)束子程序時,遇到 “subroutine”關(guān)鍵字則解析位置切換為開始子程序。

    3)開始子程序行結(jié)束后無 “&”字符,則解析位置切換為解析變量。

    4)當解析位置為解析變量時,遇到“……”行,則切換為計算源語句。

    5)當解析位置為計算源語句時,遇到“end subroutine”時,切換為結(jié)束子程序。

    (3)計算語句分析

    計算語句主要進行格式的判斷、轉(zhuǎn)換,不牽扯到計算相關(guān)的運算符優(yōu)先級相關(guān)的運算,所以此次解析只按照順序?qū)⒔馕龅降南嚓P(guān)的數(shù)據(jù)存入到屬性結(jié)構(gòu)中即可。模板渲染時按照屬性結(jié)構(gòu)從上到下、從左到右的挨個轉(zhuǎn)換渲染出來即可。

    本文根據(jù)語句的特點,可以將語句分為循環(huán)語句、條件語句和普通語句,這3個語句分別都有自己重要的組成部分。在這3種語句中,其中循環(huán)語句和條件語句是樹形結(jié)構(gòu),含有子集;普通語句為鏈表結(jié)構(gòu)。目前采用對關(guān)鍵字的解析,通過解析規(guī)則對語句類型進行匹配。語法解析時按照 “do”、“if”、“else”、“end do”、“endif”等關(guān)鍵字判斷語法類型,將不在關(guān)鍵字內(nèi)但是符合變量命名規(guī)則的按照普通語句規(guī)則進行匹配并存入鏈表中;讀取到“do”、“if”、“else”關(guān)鍵字時,后續(xù)的語句存入到相關(guān)結(jié)構(gòu)體的children節(jié)點上,直到“end”結(jié)束,后續(xù)的解析存入到next節(jié)點上。

    2.1.2 語義轉(zhuǎn)換

    語義轉(zhuǎn)換部分采用模板渲染的方式。通過對比多個模板語言后采用handlebars作為該工具的模板語言,該模板語言具有高可擴展性以及具有簡單的條件判斷和循環(huán)判斷能力,非常適合該工具的語義轉(zhuǎn)換部分。

    針對于handlebars開發(fā)多個定制化組件的過程中遇到的數(shù)據(jù)共享問題,我們采用寫入、讀取的方式實現(xiàn)數(shù)組間的數(shù)據(jù)共享,并且在文件的寫入、讀取時采用異步的方式進行,防止IO期間對于CPU占用導(dǎo)致的性能問題,提高程序性能。基本實現(xiàn)為每次語句轉(zhuǎn)換生成的文件寫入到的目錄都是隨機生成的,并且不會重復(fù),所以我們在這個寫入的文件夾中創(chuàng)建一個名為.cache 的隱藏文件中。當一個組件生成其它組件需要的數(shù)據(jù)時,則將該部分數(shù)據(jù)進行序列化并寫入到.cache文件中;當其它組件需要讀取時直接從.cache文件中讀取數(shù)據(jù)進行反序列化操作即可。

    2.1.3 錯誤分析

    轉(zhuǎn)換工具目前可以進行簡單的語法錯誤分析,利用有限狀態(tài)自動機來進行語法的錯誤分析,通過前面的輸入會判定后面會有的可能性,如果待驗證的語句都不屬于任意可能性則會被判定為錯誤語法。

    2.2 基準模板文件生成

    在按照神威系列超級計算機系統(tǒng)所提供的Athread庫格式[1]編寫典型的模板程序后,該工具將進行識別后形成包含變量的基準模板文件。

    在這個過程中,我們首先進行AST解析,采用流式的思想將程序中的變量、語句相關(guān)的內(nèi)容轉(zhuǎn)換為內(nèi)置的數(shù)據(jù)結(jié)構(gòu)。然后我們對每個維度類型的神威眾核代碼的特性進行歸納總結(jié),將程序中的整個代碼看作一個字符串,每個字符串分為固定字符串和可替換字符串。固定字符包括數(shù)據(jù)類型和常用的函數(shù)名等,而可替換字符包括變量名、數(shù)組名和循環(huán)判斷等。其中固定的字符串直接顯示在模板上,可替換的字符串根據(jù)原數(shù)據(jù)類型或者變量使用循環(huán)組件、判斷組件、變量組件等組件進行替換顯示最終生成的基準模板文件,如圖7(a)所示。

    圖7 從核模板代碼(a)與生成代碼(b)對比

    2.3 眾核代碼生成

    模板代碼根據(jù)需要生成的可替換數(shù)據(jù),在對應(yīng)位置以識別組件方式來進行代碼的替換。具體體現(xiàn)在該工具通過對上述源文件和制導(dǎo)文件的詞法語法解析,把解析數(shù)據(jù)轉(zhuǎn)換成內(nèi)部對象,通過把對象序列化成json串[14],交給handlebars渲染庫,由handlebars統(tǒng)一調(diào)度。以從核代碼slave.c為例,在生成slave.c文件的時候根據(jù)slave.c模板的組件調(diào)用相應(yīng)的handlebars庫,讀取數(shù)據(jù)進行替換,轉(zhuǎn)換效果如圖7所示。

    3 工具應(yīng)用

    3.1 工具使用

    該轉(zhuǎn)換工具目前實現(xiàn)了Fortran語言和C語言的二維模板、三維模板以及混合維度數(shù)組模板的轉(zhuǎn)換。單機版采用exe可執(zhí)行文件直接生成導(dǎo)出文件到相應(yīng)目錄。Web版采用Web頁面進行操作和展示轉(zhuǎn)換結(jié)果,轉(zhuǎn)換效果如圖8所示。

    圖8 Web界面二維模板轉(zhuǎn)換效果

    用戶通過輸入賬號密碼登錄該平臺,圖8顯示該平臺的Web頁面包含左側(cè)一欄的文件管理區(qū)域,用戶可以創(chuàng)建目錄和子目錄,將待轉(zhuǎn)換的源文件和制導(dǎo)文件上傳到用戶創(chuàng)建的子目錄中;中間一欄為代碼文件編輯區(qū),用戶將子目錄中的源文件添加到上側(cè)的源文件代碼編輯區(qū),制導(dǎo)文件添加到下側(cè)的制導(dǎo)文件文件編輯區(qū),用戶可以在這兩個區(qū)域進行修改,修改完畢之后可以點擊保存按鈕保存到后臺服務(wù)器的數(shù)據(jù)庫中;右側(cè)一欄為轉(zhuǎn)換區(qū),用戶可以通過選擇對應(yīng)的數(shù)組維度信息對文件編輯區(qū)顯示的源代碼和制導(dǎo)文件進行相應(yīng)的轉(zhuǎn)換,轉(zhuǎn)換成功后會出現(xiàn)如圖8所示的一些Athread代碼相關(guān)的源代碼,并可以通過點擊“下載壓縮包”下載到本地。

    該工具有很好的便利性,即通過上傳源文件和編寫好的制導(dǎo)文件到web界面即可進行代碼轉(zhuǎn)換,自動生成新的主程序、頭文件、master.c和slave.c程序,用戶不需要考慮神威環(huán)境下從核分配和LDM空間地址偏移等問題。

    3.2 正確性檢驗

    為了保證轉(zhuǎn)換后的眾核代碼的準確性提供了部分檢查功能,包括代碼一致性檢查、結(jié)果正確性檢查。代碼一致性檢查指修改或合并之后的主核代碼和從核代碼內(nèi)部及相互之間的一致性,包括下標、大小、數(shù)值等。目前通過主程序的結(jié)果正確性函數(shù)來驗證轉(zhuǎn)換后結(jié)果。

    本文基于上述幾個模板,將海洋數(shù)值模式中advu和advt的二維矩陣計算核心段由轉(zhuǎn)換工具生成Athread格式的源代碼及包含正確性檢驗的主程序在神威太湖之光平臺上提交運行。運行結(jié)果部分效果如圖9所示。

    圖9 二維模板正確性檢驗部分效果

    圖9顯示的第一列數(shù)字表示原串行程序的執(zhí)行結(jié)果和利用工具轉(zhuǎn)換生成的眾核程序執(zhí)行結(jié)果的差值,實驗結(jié)果顯示,兩個二維矩陣運算利用轉(zhuǎn)換工具得到的眾核代碼在從核加速后的計算結(jié)果均與主程序串行執(zhí)行的計算結(jié)果相同,驗證了本文轉(zhuǎn)換工具的正確性。

    3.3 性能分析

    實驗驗證平臺選擇神威太湖之光超級計算機,操作系統(tǒng)為RaiseOS 2.0.5,其眾核處理器的主核和從核工作頻率均為1.5 GHz,訪存帶寬為136.51 GB/s[15]。

    實驗采用的二維代碼為海洋數(shù)值模式中advu和advt的典型計算核心段。其中,二維數(shù)組規(guī)模為最小設(shè)為32×32,最大設(shè)為512×512,對應(yīng)的數(shù)據(jù)量大小由64 kB增加到16 MB。

    由于本文設(shè)計的轉(zhuǎn)換工具的目的是解決前述提到的編寫Athread代碼所存在的問題,以達到或超過OpenACC*的性能。因此,本節(jié)比較了使用轉(zhuǎn)換工具的Athread版本和使用OpenACC*人工編寫獲得的代碼之間的性能比較,性能比較如圖10和圖11所示。

    圖10 兩種編程模型的加速效果比較(單個核心段)

    圖11 兩種編程模型的加速效果比較 (兩個核心段)

    根據(jù)圖10和圖11所示結(jié)果,自動生成的Athread代碼比OpenACC*代碼有更好的加速效果。雖然在2D模板中對一個核心段進行加速時,兩種編程方法的加速性能差異不是很明顯,這主要是由于核心段計算量??;但是如圖11所示,當對2個核心段進行加速時,兩種編程方法的加速比具有明顯不同,這是由于OpenACC*對于多個核心段的并行粒度不高,只能分別進行加速;而轉(zhuǎn)換工具采用一次spawn加載方式,并行粒度增大,從而產(chǎn)生差別明顯的加速效果。通過上述實驗可以驗證這個轉(zhuǎn)換工具是具有應(yīng)用價值的。

    自動轉(zhuǎn)換的主從核代碼與人工編寫的代碼相比具有很多優(yōu)勢,轉(zhuǎn)換工具可以有效避免變量名稱和大小寫的低級書寫錯誤;避免了結(jié)構(gòu)體傳參時變量順序的錯誤;模板是自動計算地址偏移大小,可以有效防止人工編寫代碼計算從核地址偏移量時所發(fā)生的錯誤;此外,該工具還可直接調(diào)用已有的從核間通訊接口函數(shù),方便用戶使用,提高了代碼的重用性。總體來說,該轉(zhuǎn)換工具與人工編寫相比,可以準確地生成Athread代碼,提高開發(fā)人員的工作效率。

    4 結(jié)束語

    本文在國產(chǎn)神威系列超級計算機系統(tǒng)的架構(gòu)下,泛化提出基于主程序調(diào)用master程序再由master程序調(diào)用slave程序的三層模板程序架構(gòu),集成了常用的眾核優(yōu)化方法,采用Rust語言進行詞法和語法分析,設(shè)計開發(fā)了一個圖形化使用界面的Athread代碼自動轉(zhuǎn)換工具。與現(xiàn)有的轉(zhuǎn)換工具相比,該工具實現(xiàn)了在異構(gòu)眾核處理器上不同維度下Fortran/C程序核心段代碼的基于Athread方式的自動眾核代碼轉(zhuǎn)換。當前該工具采用基于制導(dǎo)文件的方法,下一步將采用成熟的編譯器前端分析結(jié)果自動生成。同時,將繼續(xù)集成一些新的優(yōu)化方法、添加性能分析工具和支持一些新的語法格式。

    猜你喜歡
    制導(dǎo)語句代碼
    重點:語句銜接
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    精彩語句
    基于MPSC和CPN制導(dǎo)方法的協(xié)同制導(dǎo)律
    基于在線軌跡迭代的自適應(yīng)再入制導(dǎo)
    帶有攻擊角約束的無抖振滑模制導(dǎo)律設(shè)計
    復(fù)合制導(dǎo)方式確保精確入軌
    太空探索(2014年1期)2014-07-10 13:41:49
    午夜日本视频在线| 久久精品夜色国产| 欧美另类亚洲清纯唯美| 亚洲国产日韩欧美精品在线观看| 人体艺术视频欧美日本| 久久久久久伊人网av| 亚洲av一区综合| 狂野欧美白嫩少妇大欣赏| 久久精品国产鲁丝片午夜精品| 欧美人与善性xxx| 男女啪啪激烈高潮av片| 有码 亚洲区| 一本久久精品| 国产91av在线免费观看| 欧美激情久久久久久爽电影| 国产一级毛片七仙女欲春2| 少妇熟女aⅴ在线视频| 97超视频在线观看视频| 国产视频首页在线观看| 国产精品一区二区三区四区久久| 69av精品久久久久久| 久久久久网色| 午夜精品国产一区二区电影 | 97超碰精品成人国产| 国产精品美女特级片免费视频播放器| 青春草亚洲视频在线观看| 亚洲最大成人av| 免费观看性生交大片5| 日韩av在线大香蕉| 国产成人a∨麻豆精品| 亚洲精品国产av成人精品| 日韩 亚洲 欧美在线| 麻豆乱淫一区二区| 国产精品久久久久久久久免| 精品99又大又爽又粗少妇毛片| 中文在线观看免费www的网站| 联通29元200g的流量卡| 国产高潮美女av| 国产精品人妻久久久影院| 国产在视频线精品| 免费观看精品视频网站| 日韩av在线免费看完整版不卡| 毛片女人毛片| 久久精品熟女亚洲av麻豆精品 | 午夜福利网站1000一区二区三区| 色综合站精品国产| 国产69精品久久久久777片| 国产精品野战在线观看| 亚洲欧美日韩无卡精品| 亚洲精品影视一区二区三区av| 成人亚洲精品av一区二区| 国产精品乱码一区二三区的特点| 男人舔女人下体高潮全视频| 久久6这里有精品| 久热久热在线精品观看| 三级男女做爰猛烈吃奶摸视频| 久久这里只有精品中国| 国产成人a∨麻豆精品| 成年av动漫网址| 大香蕉久久网| 亚洲av成人精品一二三区| 性插视频无遮挡在线免费观看| 成年av动漫网址| h日本视频在线播放| 搡女人真爽免费视频火全软件| 亚洲国产精品成人综合色| 中文字幕制服av| 黄色配什么色好看| 日韩大片免费观看网站 | videos熟女内射| 日韩,欧美,国产一区二区三区 | 国产精品永久免费网站| 免费看光身美女| 桃色一区二区三区在线观看| 简卡轻食公司| 男人和女人高潮做爰伦理| 精品人妻熟女av久视频| 欧美日韩国产亚洲二区| 五月伊人婷婷丁香| 能在线免费看毛片的网站| 中文字幕人妻熟人妻熟丝袜美| 精品国产一区二区三区久久久樱花 | 日日啪夜夜撸| 免费大片18禁| 别揉我奶头 嗯啊视频| av天堂中文字幕网| 一边亲一边摸免费视频| 一个人观看的视频www高清免费观看| 国产单亲对白刺激| 免费无遮挡裸体视频| 婷婷六月久久综合丁香| 亚洲最大成人手机在线| 免费观看精品视频网站| 亚洲欧美日韩无卡精品| 插阴视频在线观看视频| 国产精品麻豆人妻色哟哟久久 | 国产精品一区二区三区四区久久| 麻豆精品久久久久久蜜桃| av在线亚洲专区| 国产真实伦视频高清在线观看| 两个人视频免费观看高清| 99热这里只有精品一区| 日本免费在线观看一区| 国产成年人精品一区二区| 1024手机看黄色片| 亚洲性久久影院| 精华霜和精华液先用哪个| 亚洲国产精品国产精品| 久久久精品大字幕| 亚洲精品乱码久久久久久按摩| 91久久精品国产一区二区三区| 久久精品夜色国产| 欧美不卡视频在线免费观看| 国产精品一区二区三区四区久久| 免费在线观看成人毛片| 网址你懂的国产日韩在线| www.色视频.com| 性色avwww在线观看| 成人综合一区亚洲| 男女啪啪激烈高潮av片| 丝袜美腿在线中文| 国产探花在线观看一区二区| av国产免费在线观看| 毛片一级片免费看久久久久| 亚洲三级黄色毛片| 久久国产乱子免费精品| 好男人视频免费观看在线| 国产视频内射| 一本久久精品| 亚洲av二区三区四区| 色网站视频免费| 国产精品一区二区性色av| 村上凉子中文字幕在线| 免费播放大片免费观看视频在线观看 | 日韩人妻高清精品专区| 国产伦精品一区二区三区视频9| 床上黄色一级片| 一个人免费在线观看电影| 好男人视频免费观看在线| 女人被狂操c到高潮| 免费人成在线观看视频色| 亚洲av二区三区四区| 91aial.com中文字幕在线观看| 亚洲av免费在线观看| 一区二区三区四区激情视频| 中文乱码字字幕精品一区二区三区 | 特级一级黄色大片| 美女国产视频在线观看| 日韩一区二区三区影片| 在线a可以看的网站| 欧美精品国产亚洲| 久久精品国产99精品国产亚洲性色| 少妇高潮的动态图| 欧美一区二区国产精品久久精品| 99久久人妻综合| 国产精品一区二区性色av| 99九九线精品视频在线观看视频| 老师上课跳d突然被开到最大视频| 1000部很黄的大片| 91精品伊人久久大香线蕉| 亚洲av成人精品一区久久| 波多野结衣高清无吗| 欧美性猛交黑人性爽| 熟女人妻精品中文字幕| 人人妻人人澡人人爽人人夜夜 | 亚洲av一区综合| 国产乱人偷精品视频| ponron亚洲| 69人妻影院| 九九爱精品视频在线观看| 国产精品久久久久久久电影| 97在线视频观看| 亚洲av不卡在线观看| 高清午夜精品一区二区三区| 观看美女的网站| 精品久久久久久久久久久久久| 纵有疾风起免费观看全集完整版 | 久久午夜福利片| 亚洲三级黄色毛片| 精品人妻视频免费看| 欧美激情在线99| 亚洲在线观看片| 国产精品国产三级专区第一集| 日韩av在线大香蕉| 在线播放无遮挡| 日韩制服骚丝袜av| 99热这里只有是精品在线观看| 国语自产精品视频在线第100页| 亚洲av成人av| 国产精品久久电影中文字幕| 汤姆久久久久久久影院中文字幕 | 熟女人妻精品中文字幕| 免费无遮挡裸体视频| 少妇的逼好多水| 啦啦啦啦在线视频资源| 纵有疾风起免费观看全集完整版 | 2021少妇久久久久久久久久久| 午夜免费男女啪啪视频观看| 日本wwww免费看| 最近的中文字幕免费完整| www.av在线官网国产| 国产亚洲91精品色在线| 18禁动态无遮挡网站| 日本-黄色视频高清免费观看| 中国国产av一级| av线在线观看网站| 2021天堂中文幕一二区在线观| 欧美成人一区二区免费高清观看| 亚洲精华国产精华液的使用体验| 国产伦精品一区二区三区视频9| 久99久视频精品免费| 岛国毛片在线播放| 综合色av麻豆| 国产一区有黄有色的免费视频 | 菩萨蛮人人尽说江南好唐韦庄 | 欧美三级亚洲精品| 91久久精品国产一区二区成人| 欧美97在线视频| av免费观看日本| 国内精品宾馆在线| 看十八女毛片水多多多| 一级毛片久久久久久久久女| 看片在线看免费视频| 久久婷婷人人爽人人干人人爱| 水蜜桃什么品种好| 成年女人看的毛片在线观看| 国产黄色小视频在线观看| 夜夜爽夜夜爽视频| 亚洲av男天堂| 极品教师在线视频| 汤姆久久久久久久影院中文字幕 | 日韩一区二区三区影片| 成年女人看的毛片在线观看| 欧美成人a在线观看| 天堂av国产一区二区熟女人妻| 国产伦精品一区二区三区视频9| 午夜激情福利司机影院| 两个人的视频大全免费| 国产精品日韩av在线免费观看| 欧美成人免费av一区二区三区| 身体一侧抽搐| 丝袜美腿在线中文| 精品少妇黑人巨大在线播放 | 尾随美女入室| 久久久久久久午夜电影| 国产一级毛片在线| 三级经典国产精品| 久久人人爽人人爽人人片va| 狂野欧美激情性xxxx在线观看| 波多野结衣高清无吗| 国内少妇人妻偷人精品xxx网站| 成人特级av手机在线观看| 成人鲁丝片一二三区免费| 国产成人午夜福利电影在线观看| 只有这里有精品99| 成人特级av手机在线观看| 好男人在线观看高清免费视频| 日本三级黄在线观看| kizo精华| 永久免费av网站大全| 亚洲一级一片aⅴ在线观看| 久久久久九九精品影院| 亚洲精品乱码久久久v下载方式| 亚洲经典国产精华液单| 日韩一本色道免费dvd| 嫩草影院精品99| 麻豆乱淫一区二区| 伦精品一区二区三区| 亚洲精品亚洲一区二区| 欧美一区二区国产精品久久精品| 2021少妇久久久久久久久久久| 国产乱人偷精品视频| 亚洲国产日韩欧美精品在线观看| 国产三级中文精品| 午夜福利在线观看吧| 在线播放无遮挡| 亚州av有码| 久久精品夜色国产| 亚洲经典国产精华液单| 亚洲欧美日韩卡通动漫| 内射极品少妇av片p| 国产一区二区在线av高清观看| 亚洲精品一区蜜桃| 日本wwww免费看| 婷婷色av中文字幕| av播播在线观看一区| 国产老妇伦熟女老妇高清| 黄色日韩在线| 一二三四中文在线观看免费高清| 亚洲在久久综合| 国产欧美另类精品又又久久亚洲欧美| 老女人水多毛片| 欧美日韩精品成人综合77777| 韩国av在线不卡| 人妻夜夜爽99麻豆av| av国产久精品久网站免费入址| 亚洲最大成人中文| 最近中文字幕高清免费大全6| 国产又色又爽无遮挡免| 成人特级av手机在线观看| 日韩视频在线欧美| 亚洲国产欧美在线一区| 欧美一级a爱片免费观看看| 精品久久久久久电影网 | 日本五十路高清| 国产精品一区www在线观看| 少妇人妻精品综合一区二区| 午夜福利网站1000一区二区三区| 大香蕉97超碰在线| 夜夜看夜夜爽夜夜摸| 国产免费视频播放在线视频 | 国产精品无大码| 精品人妻熟女av久视频| 久久热精品热| 亚洲欧美一区二区三区国产| 日韩一本色道免费dvd| 国产亚洲精品久久久com| 亚洲色图av天堂| 国产黄色小视频在线观看| 国产精品人妻久久久久久| 麻豆国产97在线/欧美| 十八禁国产超污无遮挡网站| 亚州av有码| 亚洲天堂国产精品一区在线| 久久久久久伊人网av| 精品久久久久久成人av| 亚洲精品成人久久久久久| 成年免费大片在线观看| 亚洲精品,欧美精品| 在线免费观看不下载黄p国产| 大话2 男鬼变身卡| 麻豆成人午夜福利视频| 天天躁夜夜躁狠狠久久av| 麻豆成人午夜福利视频| 22中文网久久字幕| 午夜激情福利司机影院| 亚洲真实伦在线观看| 免费观看的影片在线观看| 久久精品国产亚洲av涩爱| 免费观看a级毛片全部| 亚洲激情五月婷婷啪啪| 成人午夜高清在线视频| 99久久人妻综合| 黄色一级大片看看| 国产不卡一卡二| 国产黄片视频在线免费观看| 亚洲天堂国产精品一区在线| 三级国产精品欧美在线观看| 激情 狠狠 欧美| 久久精品夜色国产| 欧美不卡视频在线免费观看| 哪个播放器可以免费观看大片| 久久久久久国产a免费观看| 少妇熟女欧美另类| a级一级毛片免费在线观看| 村上凉子中文字幕在线| 精品久久国产蜜桃| 麻豆精品久久久久久蜜桃| 97超碰精品成人国产| 两个人的视频大全免费| 一个人免费在线观看电影| 观看免费一级毛片| 国产爱豆传媒在线观看| 青青草视频在线视频观看| 国产一区有黄有色的免费视频 | 精华霜和精华液先用哪个| 成人二区视频| 看非洲黑人一级黄片| 欧美成人精品欧美一级黄| 亚洲成人中文字幕在线播放| 亚洲av不卡在线观看| 看非洲黑人一级黄片| 成人亚洲精品av一区二区| eeuss影院久久| 午夜福利成人在线免费观看| 色噜噜av男人的天堂激情| 中文字幕免费在线视频6| 欧美日韩精品成人综合77777| 极品教师在线视频| 婷婷六月久久综合丁香| av在线老鸭窝| 亚洲熟妇中文字幕五十中出| 国产在线男女| 乱人视频在线观看| 搞女人的毛片| 99久久无色码亚洲精品果冻| 国产熟女欧美一区二区| 亚洲av免费高清在线观看| 久久精品91蜜桃| 99久国产av精品国产电影| 三级国产精品欧美在线观看| 最近2019中文字幕mv第一页| 久久99精品国语久久久| 久久草成人影院| 看非洲黑人一级黄片| 国产精品久久电影中文字幕| 免费电影在线观看免费观看| 联通29元200g的流量卡| 亚洲最大成人av| 亚洲性久久影院| 精品免费久久久久久久清纯| 三级经典国产精品| 国产精华一区二区三区| 午夜福利高清视频| 麻豆精品久久久久久蜜桃| 国产午夜精品久久久久久一区二区三区| 色视频www国产| 亚洲国产精品sss在线观看| 亚洲国产成人一精品久久久| 亚洲av成人精品一二三区| 国产在视频线在精品| 丰满人妻一区二区三区视频av| 一级爰片在线观看| 久久精品综合一区二区三区| 色5月婷婷丁香| 日本av手机在线免费观看| 国产精品国产高清国产av| 国产免费视频播放在线视频 | 亚洲一级一片aⅴ在线观看| 欧美一级a爱片免费观看看| 亚洲欧洲日产国产| 欧美人与善性xxx| 女人十人毛片免费观看3o分钟| 亚洲成色77777| 最近手机中文字幕大全| 国产乱人视频| 免费看日本二区| 亚洲美女视频黄频| 精品久久久噜噜| 97在线视频观看| av在线亚洲专区| 亚洲av熟女| 三级男女做爰猛烈吃奶摸视频| 国产亚洲av嫩草精品影院| 国产女主播在线喷水免费视频网站 | 国产精品一二三区在线看| 日韩欧美精品v在线| 亚洲久久久久久中文字幕| 免费电影在线观看免费观看| a级一级毛片免费在线观看| 中国国产av一级| 亚洲国产精品合色在线| 免费观看的影片在线观看| 中文亚洲av片在线观看爽| 国产免费视频播放在线视频 | av在线观看视频网站免费| 国产精品爽爽va在线观看网站| 一个人观看的视频www高清免费观看| 一卡2卡三卡四卡精品乱码亚洲| 菩萨蛮人人尽说江南好唐韦庄 | 亚洲精品成人久久久久久| 久久精品国产亚洲av天美| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲欧美清纯卡通| 久久久亚洲精品成人影院| 久久精品久久久久久久性| 日韩中字成人| 男女那种视频在线观看| 久久欧美精品欧美久久欧美| 欧美成人免费av一区二区三区| 久久久成人免费电影| 国产色婷婷99| 深爱激情五月婷婷| 成人亚洲欧美一区二区av| 麻豆成人午夜福利视频| 亚洲欧美日韩无卡精品| 午夜久久久久精精品| 国产黄a三级三级三级人| 亚洲性久久影院| 一区二区三区四区激情视频| 亚洲国产高清在线一区二区三| 中文乱码字字幕精品一区二区三区 | 久久国产乱子免费精品| 中文在线观看免费www的网站| 日本猛色少妇xxxxx猛交久久| 色5月婷婷丁香| 精品久久久久久久末码| 1000部很黄的大片| 国产精品伦人一区二区| 在线免费观看的www视频| 亚洲av中文字字幕乱码综合| 亚洲av熟女| 国产午夜福利久久久久久| 久久精品夜色国产| 亚洲欧美成人综合另类久久久 | 在线观看美女被高潮喷水网站| 免费无遮挡裸体视频| 1024手机看黄色片| 国产 一区精品| 亚洲国产精品国产精品| 色综合站精品国产| 亚洲色图av天堂| 国产老妇伦熟女老妇高清| 欧美又色又爽又黄视频| 精品无人区乱码1区二区| 国产老妇女一区| 亚洲激情五月婷婷啪啪| 99久国产av精品国产电影| 亚洲成色77777| 岛国在线免费视频观看| 久久亚洲国产成人精品v| 淫秽高清视频在线观看| 午夜免费男女啪啪视频观看| 男女国产视频网站| kizo精华| 美女xxoo啪啪120秒动态图| 亚洲性久久影院| 我要搜黄色片| 国产精品99久久久久久久久| 我要搜黄色片| 日韩国内少妇激情av| 狠狠狠狠99中文字幕| 国内精品一区二区在线观看| 岛国在线免费视频观看| 欧美不卡视频在线免费观看| 91久久精品国产一区二区成人| 黄色一级大片看看| 亚洲五月天丁香| 国产老妇女一区| 国产在视频线精品| 国产成人精品久久久久久| 99久国产av精品国产电影| 寂寞人妻少妇视频99o| 99久国产av精品国产电影| 国产高潮美女av| 国产精品美女特级片免费视频播放器| ponron亚洲| 免费黄色在线免费观看| 男人舔女人下体高潮全视频| 亚洲丝袜综合中文字幕| 久久韩国三级中文字幕| 久久精品人妻少妇| 99久久成人亚洲精品观看| 狂野欧美激情性xxxx在线观看| 夫妻性生交免费视频一级片| 少妇熟女欧美另类| 99久久中文字幕三级久久日本| 日韩成人伦理影院| 亚洲综合精品二区| 日本-黄色视频高清免费观看| 国产中年淑女户外野战色| 久久99热这里只有精品18| 国产午夜精品一二区理论片| 国模一区二区三区四区视频| 汤姆久久久久久久影院中文字幕 | 又爽又黄无遮挡网站| 国产欧美另类精品又又久久亚洲欧美| 内射极品少妇av片p| 国产精品熟女久久久久浪| 哪个播放器可以免费观看大片| 啦啦啦观看免费观看视频高清| av视频在线观看入口| 纵有疾风起免费观看全集完整版 | 日韩视频在线欧美| 丝袜美腿在线中文| 亚洲激情五月婷婷啪啪| av黄色大香蕉| 青青草视频在线视频观看| 国产午夜福利久久久久久| 国产精品久久久久久久久免| 国产黄a三级三级三级人| 久久久久久久久久久免费av| 久久精品夜色国产| 亚洲av.av天堂| 欧美日本视频| 99久久精品国产国产毛片| 免费观看a级毛片全部| 一级毛片aaaaaa免费看小| 免费搜索国产男女视频| 婷婷色麻豆天堂久久 | 最近视频中文字幕2019在线8| 成人亚洲欧美一区二区av| 美女高潮的动态| 欧美精品国产亚洲| 免费无遮挡裸体视频| 韩国av在线不卡| 亚州av有码| 黄色一级大片看看| 国产中年淑女户外野战色| 丰满人妻一区二区三区视频av| 国产探花极品一区二区| 乱系列少妇在线播放| 国产成人91sexporn| 麻豆成人av视频| 欧美色视频一区免费| 日韩精品有码人妻一区| 久久久欧美国产精品| 午夜福利视频1000在线观看| eeuss影院久久| 午夜免费男女啪啪视频观看| 美女cb高潮喷水在线观看| 日本午夜av视频| 国产精品电影一区二区三区| 好男人视频免费观看在线| 黄片无遮挡物在线观看| 久久精品熟女亚洲av麻豆精品 | 国产麻豆成人av免费视频| 国产精品一及| 日韩国内少妇激情av| 狂野欧美白嫩少妇大欣赏| 日韩大片免费观看网站 | 欧美性感艳星| 国产女主播在线喷水免费视频网站 | 观看免费一级毛片| 亚洲av熟女| 汤姆久久久久久久影院中文字幕 | 熟妇人妻久久中文字幕3abv| 午夜爱爱视频在线播放| 七月丁香在线播放| 九草在线视频观看| 国产乱来视频区| 国产精品人妻久久久影院| 网址你懂的国产日韩在线| 美女高潮的动态| 久久久久久国产a免费观看|