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

    面向多面體模型的靜態(tài)控制塊識別擴(kuò)展方法

    2022-03-18 05:01:06夏文博胡偉方郭浩然
    關(guān)鍵詞:編譯器多面體表達(dá)式

    夏文博 胡偉方 郭浩然

    1(鄭州大學(xué)信息工程學(xué)院 河南 鄭州 450000)2(北京空間信息中繼傳輸技術(shù)研究中心 北京 100094)

    0 引 言

    近年來,隨著以深度學(xué)習(xí)算法為代表的人工智能技術(shù)不斷應(yīng)用于各個(gè)領(lǐng)域,大量計(jì)算密集型程序?qū)τ?jì)算性能的要求逐步增高。為了利用程序中存在的并行性與數(shù)據(jù)局部性,確保程序快速執(zhí)行,降低設(shè)備功耗,通用CPU提供了多級緩存、多核、SIMD部件,甚至GPU等專用的計(jì)算加速器也用于提升程序的執(zhí)行效率[1]。更加復(fù)雜的并行層次及存儲器層次結(jié)構(gòu)給編譯優(yōu)化帶來了新的挑戰(zhàn)。

    計(jì)算密集型程序中往往存在著大量的循環(huán),例如在圖像處理程序中,計(jì)算核心耗時(shí)一般在圖像矩陣的運(yùn)算,對這些運(yùn)算進(jìn)行處理時(shí),需要多層循環(huán)來表示運(yùn)算操作。將循環(huán)進(jìn)行適當(dāng)?shù)淖儞Q,并且映射到不同目標(biāo)平臺以充分發(fā)掘程序中的并行性和數(shù)據(jù)局部性則需要編譯優(yōu)化的支持[2]。目前,大多數(shù)工業(yè)級編譯器雖然支持基本循環(huán)變換、向量化、自動(dòng)并行代碼生成等功能,但是一旦涉及需要多種復(fù)雜轉(zhuǎn)換才能確保優(yōu)化所需的數(shù)據(jù)局部性及并行性的情況,常規(guī)編譯優(yōu)化過程是難以分析并進(jìn)行處理的,這嚴(yán)重限制了編譯器對程序性能的優(yōu)化能力。

    多面體模型[3]是一種集成了靜態(tài)控制塊分析、依賴分析、循環(huán)調(diào)度變換于一體的數(shù)學(xué)表示方法。多面體模型比傳統(tǒng)抽象語法樹(Abstract Syntax Tree,AST)表示更準(zhǔn)確地描述了程序靜態(tài)信息與動(dòng)態(tài)特性。作為一種數(shù)學(xué)模型,多面體模型可以更抽象地描述循環(huán)嵌套,更加精確地計(jì)算語句實(shí)例之間的依賴關(guān)系。同時(shí),多面體模型表示可以自然地表示多種循環(huán)變換方法,例如循環(huán)交換、循環(huán)傾斜等。利用多種循環(huán)變換方法,有利于發(fā)掘程序中的向量化機(jī)會,生成SIMD[4]代碼,也可以利用循環(huán)分塊等變換,幫助生成面向GPU體系結(jié)構(gòu)的SIMT(單指令多線程)代碼[5]。隨著GPU、AI芯片等多種全新體系結(jié)構(gòu)的出現(xiàn),多面體編譯優(yōu)化已成為一種越來越流行的技術(shù)。

    對程序應(yīng)用多面體優(yōu)化時(shí),首先需要找到可以被轉(zhuǎn)換成多面體表示的相關(guān)代碼段,稱為靜態(tài)控制塊(Static Control Parts,SCoP),并為它們創(chuàng)建一個(gè)多面體模型描述。然而,SCoP的構(gòu)成必須非常規(guī)范,實(shí)際程序中往往具有許多限制循環(huán)嵌套被識別為SCoP的非規(guī)則因素。在通過對SPEC2006[6]測試基準(zhǔn)的測試中發(fā)現(xiàn)許多測試用例程序中的相關(guān)循環(huán)代碼段存在諸多限制SCoP識別的問題。例如圖1中的代碼,在進(jìn)行SCoP檢測的過程中,由于大多數(shù)編譯器的別名分析相對保守,編譯器無法證明循環(huán)嵌套中所有數(shù)組訪問不會造成重疊,會將其識別為存在別名問題,多面體識別算法會判定該循環(huán)為非SCoP。

    圖1 帶有可能別名的循環(huán)結(jié)構(gòu)

    為了擴(kuò)展多面體編譯的實(shí)用性,目前已經(jīng)有一些學(xué)者對限制靜態(tài)控制塊識別的若干非規(guī)則因素進(jìn)行了研究。Benabderrahmane等[7]利用任意邊界建模循環(huán)結(jié)構(gòu),解決了while循環(huán)的多面體建模處理。Strout等[8]研究了稀疏矩陣的多面體編譯優(yōu)化技術(shù),并基于運(yùn)行時(shí)重排序轉(zhuǎn)換技術(shù),擴(kuò)展了非仿射數(shù)組下標(biāo)在多面體模型中的應(yīng)用。另外也有開發(fā)人員選擇使用一些工具來緩解多面體建模不充分的問題,例如:SCoP的解析器Clan[9],要求開發(fā)人員手工標(biāo)記每個(gè)SCoP來手動(dòng)幫助編譯器識別更多的SCoP,但是這種做法也給程序開發(fā)人員帶來了許多額外的負(fù)擔(dān),需要進(jìn)行大量的人工分析來確定SCoP的位置及范圍。

    本文首先使用SPEC2006測試集進(jìn)行多面體建模測試,分析并總結(jié)出實(shí)際應(yīng)用程序中阻礙SCoP識別的主要因素。針對多面體建模的多種主要限制因素,基于LLVM編譯框架提出了兩種提升多面體建模能力的解決方案:(1) 針對多面體模型的SCoP識別限制中的復(fù)雜循環(huán)格式問題,在編譯流程中添加循環(huán)規(guī)范化遍歷,對待分析的循環(huán)進(jìn)行規(guī)范化處理,消除部分不規(guī)范因素的影響。(2) 針對造成多面體建模失敗最多的非仿射數(shù)組訪問模式與循環(huán)邊界的問題,利用LLVM的靜態(tài)程序分析信息,提出了一種定值替換的方法來解決該問題。

    1 SCoP識別限制分析

    為了分析程序中限制SCoP識別的因素,對SPEC2006基準(zhǔn)測試中的C語言程序進(jìn)行了SCoP檢測測試與評估。在LLVM的多面體建模模塊中的SCoP識別功能函數(shù)中加入診斷信息輸出語句,統(tǒng)計(jì)導(dǎo)致SCoP識別失敗的原因,分析得出的主要原因如下:

    (1) 非仿射的數(shù)組訪問表達(dá)式。在多面體模型中,要求所有的數(shù)組訪問表達(dá)式或條件表達(dá)式都必須是輸入?yún)?shù)或歸納變量的仿射表達(dá)式,否則SCoP的識別算法不會將該代碼所在的區(qū)域視為SCoP,從而阻礙了多面體模型對其進(jìn)行優(yōu)化。舉例如圖2所示。

    圖2 非仿射表達(dá)式

    此外,SCoP中所有循環(huán)迭代的上下限也必須是輸入?yún)?shù)或歸納變量的仿射表達(dá)式。

    (2) 別名。當(dāng)編譯器對循環(huán)的分析結(jié)果無法證明兩個(gè)內(nèi)存訪問的基地址是否不相交時(shí),特別是當(dāng)指針與參數(shù)值相關(guān)而不是全局變量或堆棧分配的內(nèi)存空間地址時(shí),編譯器的別名分析就會保守地將其識別為指針別名,導(dǎo)致對該內(nèi)存訪問所在的程序段的多面體建模失敗。

    (3) 函數(shù)調(diào)用。在多面體模型中,調(diào)度變換需要首先分析并嘗試消除程序中存在的依賴關(guān)系。然而,在具有外部函數(shù)調(diào)用或間接函數(shù)調(diào)用的循環(huán)中,依賴關(guān)系將變得非常復(fù)雜?;诙嗝骟w模型的依賴關(guān)系分析方法也不能給出程序中精確的數(shù)據(jù)依賴關(guān)系。所以,在SCoP的檢測過程中,往往會排除包含函數(shù)調(diào)用的相關(guān)代碼段。

    (4) 非規(guī)范化的歸納變量。在多面體模型對循環(huán)嵌套的抽象表示中,循環(huán)嵌套中某個(gè)語句的迭代域會被表示成多維仿射空間中的有界凸多面體,該多面體中每個(gè)整數(shù)點(diǎn)都代表該語句的一個(gè)執(zhí)行實(shí)例。這使得在多面體建模過程中,對循環(huán)中的歸納變量具有一定的限制:在循環(huán)每次迭代中,迭代變量遞增或遞減幅度要求為1。編譯器在多面體模型建模之前,應(yīng)盡量將循環(huán)中的歸納變量等進(jìn)行規(guī)范化處理。

    (5) 復(fù)雜的控制流。在多面體模型中,優(yōu)化需要得到代碼段中的循環(huán)的各個(gè)信息,如果程序代碼段中出現(xiàn)了比較復(fù)雜的終止符(例如:switch、goto等)或者具有復(fù)雜形式的控制流(通過while和for或者if結(jié)構(gòu)無法表示),多面體模型將難以對程序的靜態(tài)信息與動(dòng)態(tài)特性進(jìn)行建模,不能識別為SCoP。

    2 基于LLVM靜態(tài)分析的識別優(yōu)化

    LLVM[10]是一組用于構(gòu)建編譯器的工具和庫。它圍繞一種和語言以及平臺無關(guān)的中間表示(LLVM-IR)構(gòu)建,提供了先進(jìn)的程序分析、優(yōu)化和目標(biāo)代碼生成等模塊功能。除了支持x86-32、x86-64和ARM等后端,還有針對大多數(shù)GPU加速器甚至硬件描述的目標(biāo)代碼生成。LLVM支持目前大部分常用的編程語言的靜態(tài)和即時(shí)編譯。LLVM模塊化的結(jié)構(gòu)、有良好可讀性的IR和一系列有用的工具,便于開發(fā)人員進(jìn)行基于LLVM的編譯模塊開發(fā)?;贚LVM的多面體工具的靜態(tài)控制塊檢測實(shí)現(xiàn)流程如圖3所示。

    圖3 SCoP識別流程

    2.1 復(fù)雜循環(huán)格式的優(yōu)化

    LLVM-IR是LLVM編譯器的中間表示語言[11]。將源程序降級到LLVM-IR之后,源程序的復(fù)雜性就會顯著降低,并且生成的LLVM-IR沒有高級語言中的循環(huán)表示,只有跳轉(zhuǎn)語句和goto語句。源程序中的數(shù)組或仿射表達(dá)式也轉(zhuǎn)換為指針運(yùn)算和三地址格式的操作。在這種表示中,源程序中的所有必要信息都會通過LLVM提供的內(nèi)部分析Pass重新計(jì)算。所以,在LLVM-IR中,可以使用循環(huán)檢測或支配樹信息等簡單分析來驗(yàn)證待分析程序段是否只包含結(jié)構(gòu)化控制流,也可以使用更復(fù)雜的分析來檢查別名或提供關(guān)于函數(shù)調(diào)用副作用的信息。這里本文選擇運(yùn)行一組LLVM規(guī)范化Pass,進(jìn)一步規(guī)范化代碼,解決程序中不規(guī)范的循環(huán)格式。具體實(shí)現(xiàn)如圖4所示。

    圖4 不規(guī)范循環(huán)格式處理流程

    LLVM編譯框架具有非常完備的程序變換和規(guī)范化Pass集。其中包括基本別名分析、內(nèi)存到寄存器的提升、庫調(diào)用的簡化、指令簡化、尾部調(diào)用消除、循環(huán)簡化、閉環(huán)SSA表單計(jì)算和歸納變量規(guī)范化。表1中給出了一些限制SCoP識別的非規(guī)范因素相應(yīng)的解決方案,將這些方案加入到規(guī)范化Pass中,用以解決多面體的建模的一些限制。

    表1 不同限制因素解決方案

    2.2 非仿射問題的優(yōu)化

    如圖5所示,多面體模型不支持維數(shù)是未知的數(shù)組。一種常用的做法是對數(shù)組進(jìn)行降維。使用一維數(shù)組并“手動(dòng)”執(zhí)行索引算法來實(shí)現(xiàn)n維數(shù)組。這樣就可以在一維數(shù)組上創(chuàng)建仿射下標(biāo),使用靜態(tài)分析可以推斷出該一維數(shù)組是二維數(shù)組的映射訪問。但是,目前LLVM編譯器中并沒有相關(guān)的轉(zhuǎn)換實(shí)現(xiàn)。另外,這樣的轉(zhuǎn)換也會導(dǎo)致代碼的復(fù)雜度增加,可能會導(dǎo)致靜態(tài)分析失敗,對后續(xù)的分析造成影響。所以,非仿射表達(dá)式的主要問題是:雖然表達(dá)式的值是固定不變的,但是其表達(dá)式是非仿射的,并將其判定為不滿足多面體模型建模條件。

    圖5 非仿射表達(dá)式

    本文基于LLVM分析Pass得到的循環(huán)分析結(jié)果,對非仿射的表達(dá)式進(jìn)行結(jié)果判斷,通過保持恒定的參數(shù)值來消除上述形式的非仿射表達(dá)式對多面體建模的影響。具體所用的分析如下:

    (1) 靜態(tài)單一賦值(SSA):SSA表示的抽象視圖是一種聲明性語言[12],通過插入額外的標(biāo)量變量,使每個(gè)定義都是唯一的。標(biāo)量變量的賦值可以是表達(dá)式的結(jié)果,也可以是位于目標(biāo)基本塊中控制流節(jié)點(diǎn)的phi節(jié)點(diǎn)的結(jié)果。例如,圖6中所示的程序代碼通過添加新的變量名和在控制流節(jié)點(diǎn)處合并值的phi節(jié)點(diǎn),將其轉(zhuǎn)換為SSA。

    圖6 SSA轉(zhuǎn)換

    循環(huán)phi節(jié)點(diǎn)定義遞歸表達(dá)式:循環(huán)phi節(jié)點(diǎn)的第一個(gè)參數(shù)定義初始值,第二個(gè)參數(shù)使用自引用定義遞歸。例如:

    a=loop_1-phi(0,a+1)

    b=loop_1-phi(0,2×a)

    a在第一次迭代時(shí)定義為0,并且對所有其他迭代使用自引用表達(dá)式a+1;b在第一次迭代中定義初始值0,接著是對于所有后續(xù)迭代引用另一個(gè)loop-phi節(jié)點(diǎn)2×a的表達(dá)式。

    循環(huán)close-phi節(jié)點(diǎn)用來計(jì)算loop-phi節(jié)點(diǎn)在循環(huán)中定義的最后一個(gè)值:它們對應(yīng)于部分遞歸函數(shù)的min運(yùn)算符。例如:

    c=loop_1-cloase-phi(b,a>10)

    c被定義為當(dāng)a變?yōu)榇笥?0時(shí)第一次迭代的b的值:在示例中,c的值可以被靜態(tài)地計(jì)算為22。

    (2) 標(biāo)量演化分析(SCEV):從上述SSA表示的抽象開始,通過識別循環(huán)phi節(jié)點(diǎn)、循環(huán)閉合phi節(jié)點(diǎn)和派生的標(biāo)量聲明來分析標(biāo)量變量演化函數(shù)。循環(huán)phi節(jié)點(diǎn)由初始值和包含自引用的表達(dá)式來聲明,當(dāng)自引用與當(dāng)前循環(huán)中的標(biāo)量值或不變表達(dá)式一起出現(xiàn)在加法表達(dá)式中時(shí),SCEV表示具有線性或仿射演化的遞歸函數(shù)。循環(huán)close-phi節(jié)點(diǎn)被聲明為一個(gè)由表達(dá)式計(jì)算的最后一個(gè)值,該表達(dá)式可能在循環(huán)中發(fā)生變化,然后SCEV表示一個(gè)部分遞歸函數(shù)。所有其他標(biāo)量聲明都可以表示為從其他遞歸和部分遞歸函數(shù)的聲明派生的SCEV。SCEV分析將為上述運(yùn)行示例提供以下表達(dá)式:

    a={0,+,1}_1

    b={0,+,2}_1

    c=22

    a的SCEV分析其初值為0,每次迭代值線性遞增加1。類似地,b的初值為0,每次迭代遞增加2。由于c的計(jì)算是在循環(huán)外,它的值并不隨循環(huán)的迭代而變化,所以,在這里可以通過SCEV的靜態(tài)分析得到表達(dá)式c的值為常量22。

    (3) 迭代次數(shù)的分析:提供一個(gè)表示循環(huán)執(zhí)行的次數(shù)的SCEV分析。迭代的次數(shù)被計(jì)算為閉合phi節(jié)點(diǎn)(close-phi)的SCEV,或者SCEV的最后一個(gè)值,從0開始,在循環(huán)的每次迭代中增加1。在運(yùn)行的示例中,迭代數(shù)可以在退出循環(huán)時(shí)計(jì)算為a的值,并可以靜態(tài)地計(jì)算為11。

    通過上述的分析可知,可以通過LLVM編譯器中的循環(huán)分析Pass得到程序中循環(huán)嵌套的中表達(dá)式的靜態(tài)分析值,再從中篩選出循環(huán)中重復(fù)出現(xiàn)的,可被定值為常量的參數(shù)值。然后,將其插入到非仿射參數(shù)或者表達(dá)式中,通過替換定值讓表達(dá)式保持恒定,并創(chuàng)建一個(gè)新的定值循環(huán)版本。最后將調(diào)度代碼插入到相應(yīng)的循環(huán)檢查基本塊中,以在運(yùn)行時(shí)確定實(shí)際參數(shù)值是否存在符合要求的版本。如果不符合,則使用原始版本。這樣可以將一些原本不能看成仿射的,但是循環(huán)上下界都是常數(shù)值的非仿射表達(dá)式表示成為仿射的,從而對更多的循環(huán)進(jìn)行多面體優(yōu)化。其具體實(shí)現(xiàn)如圖7所示。

    圖7 定值版本循環(huán)生成流程

    多面體模型代碼檢測階段,對循環(huán)代碼進(jìn)行分析時(shí),如果發(fā)現(xiàn)循環(huán)中存在非仿射表達(dá)式,調(diào)整其判斷策略:將其進(jìn)行標(biāo)識為待分析的仿射表達(dá)式;再判斷是否存在專用的循環(huán)版本,如果存在則識別為SCoP,進(jìn)行多面體優(yōu)化,如果不存在,則判定為非SCoP,讓其按照原來的方案進(jìn)行處理。實(shí)現(xiàn)流程如圖8所示。

    圖8 基于靜態(tài)分析的非仿射表達(dá)式處理流程

    3 實(shí)驗(yàn)與分析

    3.1 測試指標(biāo)與實(shí)驗(yàn)平臺

    在多面體優(yōu)化過程中,SCoP的識別是優(yōu)化的基礎(chǔ)。本文進(jìn)行了如下兩個(gè)方面的測試:SCoP識別數(shù)目的優(yōu)化測試和優(yōu)化后的程序運(yùn)行加速比測試。

    (1) SCoP識別數(shù)量測試:測試優(yōu)化前和優(yōu)化后,識別出來的符合多面體建模條件的靜態(tài)控制塊的平均數(shù)目,通過對比得出優(yōu)化的效果,驗(yàn)證本文提出的非規(guī)范因素消除方法的有效性。

    (2) 程序運(yùn)行加速比測試:首先進(jìn)行不引入多面體優(yōu)化的基準(zhǔn)測試;之后分別測試初始多面體優(yōu)化工具和經(jīng)過本文優(yōu)化后的多面體優(yōu)化工具測試結(jié)果。通過對比兩次測試相對于基準(zhǔn)測試的加速比,來分析SCoP識別數(shù)目對多面體優(yōu)化的影響。

    測試平臺采用處理器為Intel(R) Xeon(R) CPU E5- 2682 v4 @ 2.50 GHz,128 GB內(nèi)存,操作系統(tǒng)為CentOS7;編譯器版本為LLVM- 8.0.0。

    3.2 測試內(nèi)容

    為了對比測試優(yōu)化方案在實(shí)際應(yīng)用中對SCoP檢測能力的優(yōu)化效果,實(shí)驗(yàn)采用SPEC2006測試集來進(jìn)行測試。分別在LLVM中的多面體工具和經(jīng)過本文中設(shè)計(jì)的優(yōu)化后的LLVM多面體工具上進(jìn)行測試,得出識別到的SCoP數(shù)目的平均值。

    LLVM編譯器可以使用OPT工具來手動(dòng)實(shí)施對LLVM-IR的單獨(dú)優(yōu)化,使用-polly-detect選項(xiàng)來直接測試識別出的SCoP,其中-polly選項(xiàng)代表引入多面體優(yōu)化。針對優(yōu)化后的版本,本文添加編譯選項(xiàng)-polly-canonicalize,利用LLVM標(biāo)準(zhǔn)化Pass來規(guī)范多面體檢測代碼,非仿射表達(dá)式的處理則使用-polly-opt-nonaff選項(xiàng)進(jìn)行控制。

    3.3 實(shí)驗(yàn)結(jié)果及分析

    3.3.1識別率分析

    為了更確切地表示基于LLVM的靜態(tài)分析對消除多面體建模中SCoP識別的優(yōu)化能力,實(shí)驗(yàn)依然采用SPEC2006的C語言測試用例。實(shí)驗(yàn)結(jié)果如圖9所示,其中黑色部分表示優(yōu)化前識別出的SCoP數(shù)量,8個(gè)測試用例共識別出296個(gè)SCoP。白色表示經(jīng)過本文方法優(yōu)化后識別出的SCoP數(shù)目,8個(gè)測試用例共426個(gè)SCoP,平均識別數(shù)目增加了1.4倍。除mcf的識別出的循環(huán)個(gè)數(shù)沒有發(fā)生改變外,其余測試用例符合SCoP條件的循環(huán)個(gè)數(shù)都得到了提高。并且sjeng測試用例靜態(tài)控制塊數(shù)目提升最為明顯,提升了約4.3倍。實(shí)驗(yàn)結(jié)果表明,基于LLVM的靜態(tài)分析優(yōu)化以及規(guī)范化方法能夠有效提升SCoP的識別率。

    圖9 動(dòng)態(tài)優(yōu)化前后靜態(tài)控制塊數(shù)量對比圖

    3.3.2加速比分析

    本文采用多面體模型編譯測試集PolyBench作為加速比測試的測試用例來測試SCoP識別數(shù)目對多面體優(yōu)化效果的提升效果。PolyBench[13]是一個(gè)具有30個(gè)數(shù)值計(jì)算的基準(zhǔn)測試套件,包含了線性代數(shù)計(jì)算、模板計(jì)算、圖像處理和數(shù)據(jù)挖掘的計(jì)算內(nèi)核。在計(jì)算加速比時(shí),先使用經(jīng)過LLVM編譯器最優(yōu)選項(xiàng)-O3優(yōu)化后,獲取的程序運(yùn)行時(shí)間作為基準(zhǔn)時(shí)間,通過使用和不使用本文中的SCoP識別優(yōu)化方法,分別測試程序運(yùn)行的時(shí)間,通過與基準(zhǔn)時(shí)間相比較計(jì)算出各自的加速比。

    測試結(jié)果如圖10所示,其中黑色部分表示在沒有進(jìn)行SCoP識別優(yōu)化情況下取得的加速比,白色部分表示在對SCoP識別方法進(jìn)行改進(jìn)后的情況下所取得的加速比。經(jīng)過優(yōu)化后,測試用例中的3 mm運(yùn)行速度最高相對于優(yōu)化前提升了2.3倍。大部分情況下,加速比有了相應(yīng)的提升,說明基于循環(huán)格式規(guī)范化和定值替換的方法可以避開多面體建模的一些限制,提升SCoP的識別率,發(fā)掘更多的多面體優(yōu)化機(jī)會以獲得性能提升。然而,也有一些測試用例出現(xiàn)了加速效果降低的現(xiàn)象,例如:mvt、symm。這種情況的出現(xiàn),主要是因?yàn)樾略黾拥囊恍┭h(huán)代碼區(qū)域本身存在一些依賴或者其他原因,造成并行化優(yōu)化失敗。這樣就會出現(xiàn)優(yōu)化帶來的收益,不能抵消多面體建?;蛘逽CoP識別帶來的時(shí)間消耗的情況,從而導(dǎo)致程序運(yùn)行速度變慢。也有另外一種原因是SCoP識別數(shù)目增加后,并行處理這些靜態(tài)控制單元,需要更加頻繁地進(jìn)行線程開啟和同步,造成了線程開銷增加的問題,抵消了程序并行運(yùn)行帶來的收益。要解決這個(gè)問題,需要后續(xù)對SCoP的處理算法進(jìn)行改進(jìn)。

    圖10 多面體優(yōu)化加速對比

    4 結(jié) 語

    本文針對多面體建模有諸多限制的問題,對阻礙程序代碼中實(shí)現(xiàn)多面體模型建立的因素進(jìn)行了全面分析。對不規(guī)則的循環(huán)代碼,在規(guī)范化處理Pass中整合了解決方案,對進(jìn)行多面體建模識別的區(qū)域進(jìn)行了規(guī)范化處理,解決了復(fù)雜的循環(huán)結(jié)構(gòu)的簡化和處理。針對限制多面體建模占比最多的非仿射表達(dá)式的問題,基于LLVM的靜態(tài)分析中的標(biāo)量演化,進(jìn)行了預(yù)分析優(yōu)化,將循環(huán)中不確定的變量參數(shù),進(jìn)行了定值化處理,生成了定值版本的循環(huán),從而對非仿射問題進(jìn)行了擴(kuò)展。最后經(jīng)過實(shí)驗(yàn)驗(yàn)證,本文所做的方法優(yōu)化,可以有效提升SCoP的識別數(shù)量,增強(qiáng)了多面體模型的優(yōu)化效果。

    猜你喜歡
    編譯器多面體表達(dá)式
    整齊的多面體
    獨(dú)孤信多面體煤精組印
    一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
    表達(dá)式轉(zhuǎn)換及求值探析
    基于相異編譯器的安全計(jì)算機(jī)平臺交叉編譯環(huán)境設(shè)計(jì)
    淺析C語言運(yùn)算符及表達(dá)式的教學(xué)誤區(qū)
    具有凸多面體不確定性的混雜隨機(jī)微分方程的鎮(zhèn)定分析
    傅琰東:把自己當(dāng)成一個(gè)多面體
    金色年華(2016年11期)2016-02-28 01:42:38
    通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
    議C語言中循環(huán)語句
    商(2012年11期)2012-07-09 19:07:55
    亚州av有码| 99久久综合免费| 国产真实伦视频高清在线观看| 亚洲成色77777| 国产av一区二区精品久久 | 国产一级毛片在线| 久久午夜福利片| 亚洲国产欧美在线一区| 亚洲欧美日韩无卡精品| 欧美三级亚洲精品| 97超碰精品成人国产| 又爽又黄a免费视频| 内地一区二区视频在线| 婷婷色av中文字幕| 免费在线观看成人毛片| 久久久色成人| 能在线免费看毛片的网站| 女人十人毛片免费观看3o分钟| 久久综合国产亚洲精品| 男女边吃奶边做爰视频| 自拍欧美九色日韩亚洲蝌蚪91 | 亚洲精品乱码久久久久久按摩| 日本黄大片高清| 伦理电影大哥的女人| 免费看光身美女| 久久鲁丝午夜福利片| 人妻 亚洲 视频| 久久国产精品男人的天堂亚洲 | 国产无遮挡羞羞视频在线观看| 欧美精品亚洲一区二区| 丰满少妇做爰视频| 日本与韩国留学比较| 亚洲电影在线观看av| 欧美区成人在线视频| 看十八女毛片水多多多| 免费看光身美女| 99re6热这里在线精品视频| 在线精品无人区一区二区三 | 一级a做视频免费观看| 多毛熟女@视频| 久久久久人妻精品一区果冻| 精品一区在线观看国产| 久久久国产一区二区| 五月玫瑰六月丁香| 欧美精品国产亚洲| 高清av免费在线| 黑人猛操日本美女一级片| 免费久久久久久久精品成人欧美视频 | 免费观看性生交大片5| 免费观看性生交大片5| 久久6这里有精品| av卡一久久| 日韩欧美精品免费久久| 男男h啪啪无遮挡| 婷婷色综合www| 美女福利国产在线 | 美女高潮的动态| 99热这里只有是精品在线观看| 国产一级毛片在线| 亚洲av在线观看美女高潮| 久久久a久久爽久久v久久| 国产色婷婷99| 精品视频人人做人人爽| 尾随美女入室| 国产精品一区二区三区四区免费观看| 人人妻人人澡人人爽人人夜夜| 国产精品.久久久| 国产熟女欧美一区二区| 全区人妻精品视频| 美女脱内裤让男人舔精品视频| 波野结衣二区三区在线| 黑丝袜美女国产一区| 国产免费一级a男人的天堂| 我的老师免费观看完整版| h日本视频在线播放| 亚洲性久久影院| 亚洲最大成人中文| 不卡视频在线观看欧美| 精品国产露脸久久av麻豆| 身体一侧抽搐| 婷婷色麻豆天堂久久| 国产真实伦视频高清在线观看| 日本vs欧美在线观看视频 | 少妇人妻 视频| 97超视频在线观看视频| 精品午夜福利在线看| 免费av中文字幕在线| 久久 成人 亚洲| 国语对白做爰xxxⅹ性视频网站| 国产精品熟女久久久久浪| 欧美3d第一页| 精品99又大又爽又粗少妇毛片| 中文字幕免费在线视频6| 久久久久久久大尺度免费视频| 欧美高清性xxxxhd video| 亚洲av在线观看美女高潮| 又黄又爽又刺激的免费视频.| 国产淫语在线视频| 日韩成人伦理影院| 岛国毛片在线播放| 欧美区成人在线视频| 成年美女黄网站色视频大全免费 | 国产亚洲一区二区精品| 内地一区二区视频在线| 夜夜爽夜夜爽视频| 国产伦精品一区二区三区四那| 99国产精品免费福利视频| 日本免费在线观看一区| 高清午夜精品一区二区三区| 日韩av在线免费看完整版不卡| 国产精品av视频在线免费观看| av又黄又爽大尺度在线免费看| 丰满乱子伦码专区| 校园人妻丝袜中文字幕| 18禁裸乳无遮挡免费网站照片| 日韩亚洲欧美综合| 秋霞在线观看毛片| 老熟女久久久| 国产av一区二区精品久久 | 夫妻性生交免费视频一级片| 国产精品一区二区性色av| 国产 一区精品| 97超视频在线观看视频| 少妇裸体淫交视频免费看高清| 最近最新中文字幕免费大全7| 美女脱内裤让男人舔精品视频| 欧美亚洲 丝袜 人妻 在线| 美女中出高潮动态图| 久久精品国产a三级三级三级| 亚洲欧美日韩卡通动漫| 日本wwww免费看| 国产成人免费观看mmmm| 一边亲一边摸免费视频| 日韩av免费高清视频| 18禁在线播放成人免费| 性色avwww在线观看| 国产人妻一区二区三区在| av不卡在线播放| 18禁裸乳无遮挡免费网站照片| 最近2019中文字幕mv第一页| 麻豆精品久久久久久蜜桃| 亚洲国产成人一精品久久久| 国产乱人偷精品视频| 精品亚洲成a人片在线观看 | 五月伊人婷婷丁香| 亚洲欧美成人综合另类久久久| 久久久国产一区二区| 久久国产亚洲av麻豆专区| 久久久久网色| 欧美 日韩 精品 国产| videos熟女内射| 欧美高清成人免费视频www| 国产高清不卡午夜福利| 这个男人来自地球电影免费观看 | 男女边吃奶边做爰视频| 久久影院123| 午夜老司机福利剧场| 亚洲人与动物交配视频| 特大巨黑吊av在线直播| 成人美女网站在线观看视频| 尾随美女入室| 国产av码专区亚洲av| freevideosex欧美| 免费不卡的大黄色大毛片视频在线观看| 国产精品爽爽va在线观看网站| 一区二区三区乱码不卡18| 国产精品伦人一区二区| 中文字幕久久专区| 欧美高清成人免费视频www| 三级经典国产精品| 免费观看av网站的网址| 国产精品成人在线| 有码 亚洲区| 欧美成人一区二区免费高清观看| 少妇人妻精品综合一区二区| 亚洲精品乱码久久久v下载方式| 日韩视频在线欧美| 大香蕉久久网| freevideosex欧美| 精品久久久久久久久av| 国语对白做爰xxxⅹ性视频网站| 国产乱来视频区| 少妇精品久久久久久久| 少妇的逼水好多| 久久女婷五月综合色啪小说| 日本-黄色视频高清免费观看| 午夜福利高清视频| 亚洲怡红院男人天堂| 国产国拍精品亚洲av在线观看| 久久 成人 亚洲| a 毛片基地| 成年av动漫网址| 欧美高清成人免费视频www| 永久网站在线| 日本wwww免费看| 国产精品精品国产色婷婷| 久久 成人 亚洲| 性色av一级| 成人一区二区视频在线观看| 欧美区成人在线视频| 亚洲欧美日韩无卡精品| 久久久国产一区二区| 一区二区三区免费毛片| 麻豆精品久久久久久蜜桃| 精品久久久噜噜| 亚洲av二区三区四区| 亚洲真实伦在线观看| 亚洲美女视频黄频| 我要看日韩黄色一级片| 色婷婷久久久亚洲欧美| 直男gayav资源| 国产精品99久久久久久久久| 日韩欧美 国产精品| 日韩不卡一区二区三区视频在线| 18禁在线播放成人免费| 国产 精品1| 久久精品国产鲁丝片午夜精品| 伊人久久精品亚洲午夜| 成人毛片a级毛片在线播放| 国产精品国产三级专区第一集| 国产 一区精品| 国产成人免费观看mmmm| 国产精品人妻久久久影院| 久久6这里有精品| 韩国av在线不卡| 国产色婷婷99| 色网站视频免费| 国产一区二区在线观看日韩| 丰满迷人的少妇在线观看| 丝袜脚勾引网站| 欧美日韩综合久久久久久| 欧美精品一区二区免费开放| 视频中文字幕在线观看| 最近的中文字幕免费完整| 免费人成在线观看视频色| 大陆偷拍与自拍| 91aial.com中文字幕在线观看| 亚洲精品国产成人久久av| 亚洲四区av| 国产色婷婷99| 你懂的网址亚洲精品在线观看| 又大又黄又爽视频免费| 精品少妇久久久久久888优播| 亚洲欧美一区二区三区国产| 欧美一级a爱片免费观看看| 最近中文字幕2019免费版| 色婷婷av一区二区三区视频| 日本爱情动作片www.在线观看| 在线免费观看不下载黄p国产| 亚洲三级黄色毛片| 国产精品一区二区性色av| 精品午夜福利在线看| 亚洲综合精品二区| 中文字幕人妻熟人妻熟丝袜美| 亚洲国产日韩一区二区| av在线观看视频网站免费| av一本久久久久| 国产 精品1| 男人添女人高潮全过程视频| 99精国产麻豆久久婷婷| 又大又黄又爽视频免费| 国产av国产精品国产| 少妇 在线观看| 久久久精品免费免费高清| 高清黄色对白视频在线免费看 | 日产精品乱码卡一卡2卡三| 在线观看三级黄色| 亚洲va在线va天堂va国产| 尤物成人国产欧美一区二区三区| 国产男女超爽视频在线观看| 少妇人妻 视频| 亚洲va在线va天堂va国产| 伊人久久国产一区二区| 欧美最新免费一区二区三区| 亚洲成人中文字幕在线播放| 日本爱情动作片www.在线观看| 一级av片app| 中国美白少妇内射xxxbb| 久久99蜜桃精品久久| 亚洲欧洲日产国产| 秋霞在线观看毛片| 欧美老熟妇乱子伦牲交| 亚洲精品视频女| 久久综合国产亚洲精品| 性色av一级| 色5月婷婷丁香| 亚洲美女黄色视频免费看| 天堂8中文在线网| 韩国高清视频一区二区三区| 精品少妇黑人巨大在线播放| 在线观看一区二区三区| 99久久综合免费| 亚洲av在线观看美女高潮| 插逼视频在线观看| 我的女老师完整版在线观看| 春色校园在线视频观看| 免费黄频网站在线观看国产| 在线看a的网站| 麻豆国产97在线/欧美| 最近2019中文字幕mv第一页| 国产精品国产av在线观看| 国产 一区精品| 亚洲成人手机| 丝袜喷水一区| 国产成人精品久久久久久| 亚洲国产欧美在线一区| 女性被躁到高潮视频| 国产伦精品一区二区三区四那| 亚洲av中文av极速乱| 亚洲av电影在线观看一区二区三区| 美女高潮的动态| 国产精品一区二区在线观看99| 日韩大片免费观看网站| 国产片特级美女逼逼视频| 另类亚洲欧美激情| 亚洲熟女精品中文字幕| 好男人视频免费观看在线| 老女人水多毛片| 亚洲欧美精品自产自拍| 爱豆传媒免费全集在线观看| 热99国产精品久久久久久7| 美女中出高潮动态图| 汤姆久久久久久久影院中文字幕| 色视频在线一区二区三区| 乱码一卡2卡4卡精品| 中文天堂在线官网| 亚洲国产精品一区三区| 欧美日韩亚洲高清精品| 成人亚洲精品一区在线观看 | 99九九线精品视频在线观看视频| 免费看日本二区| 亚洲欧美日韩东京热| 亚洲美女视频黄频| 午夜福利影视在线免费观看| 国产精品麻豆人妻色哟哟久久| 国产高潮美女av| 少妇裸体淫交视频免费看高清| 亚洲精品乱码久久久v下载方式| 成年美女黄网站色视频大全免费 | 亚洲精品一二三| 精品国产乱码久久久久久小说| 国产免费一区二区三区四区乱码| 联通29元200g的流量卡| 久久精品人妻少妇| 国产高清有码在线观看视频| 亚洲图色成人| 精品熟女少妇av免费看| 多毛熟女@视频| 中文字幕制服av| 亚洲国产高清在线一区二区三| xxx大片免费视频| 99热6这里只有精品| 国产在线免费精品| 一本—道久久a久久精品蜜桃钙片| 水蜜桃什么品种好| 老熟女久久久| 成人亚洲精品一区在线观看 | 国产成人免费观看mmmm| 狂野欧美激情性bbbbbb| 激情 狠狠 欧美| 一级黄片播放器| 日韩成人伦理影院| 亚洲国产精品专区欧美| 乱系列少妇在线播放| 人妻一区二区av| 七月丁香在线播放| 久久久久性生活片| .国产精品久久| 亚洲欧洲日产国产| 国产爽快片一区二区三区| 你懂的网址亚洲精品在线观看| 久久ye,这里只有精品| 中文字幕亚洲精品专区| av.在线天堂| 亚洲国产欧美人成| 蜜桃亚洲精品一区二区三区| av天堂中文字幕网| 亚洲欧洲日产国产| 少妇熟女欧美另类| 夫妻性生交免费视频一级片| 一级a做视频免费观看| 免费看日本二区| 欧美xxⅹ黑人| 人人妻人人添人人爽欧美一区卜 | 美女脱内裤让男人舔精品视频| 国国产精品蜜臀av免费| 国产v大片淫在线免费观看| 久久久久久久久久人人人人人人| 麻豆国产97在线/欧美| 成年av动漫网址| 男女啪啪激烈高潮av片| 久久99热这里只频精品6学生| 国产亚洲av片在线观看秒播厂| 日韩av在线免费看完整版不卡| 久久韩国三级中文字幕| 精品视频人人做人人爽| av播播在线观看一区| 亚洲高清免费不卡视频| 人妻 亚洲 视频| 免费播放大片免费观看视频在线观看| av女优亚洲男人天堂| 久久久久国产网址| 九九久久精品国产亚洲av麻豆| 国产黄色视频一区二区在线观看| 网址你懂的国产日韩在线| 高清av免费在线| 国产v大片淫在线免费观看| 永久网站在线| 啦啦啦中文免费视频观看日本| 夜夜爽夜夜爽视频| 国产一区二区三区av在线| 亚洲精品日本国产第一区| 大香蕉久久网| 欧美精品国产亚洲| 欧美 日韩 精品 国产| 国产精品一区二区性色av| av在线播放精品| 秋霞伦理黄片| 精品一区二区免费观看| 亚洲精品第二区| 日本免费在线观看一区| 视频中文字幕在线观看| 免费少妇av软件| 五月伊人婷婷丁香| 下体分泌物呈黄色| 亚洲成色77777| 成人漫画全彩无遮挡| 亚洲av成人精品一区久久| 免费观看a级毛片全部| 国产人妻一区二区三区在| 成人亚洲精品一区在线观看 | 最近2019中文字幕mv第一页| 插逼视频在线观看| 少妇裸体淫交视频免费看高清| 久久精品夜色国产| 人体艺术视频欧美日本| 国产亚洲午夜精品一区二区久久| 欧美 日韩 精品 国产| 久久热精品热| 精品久久久久久久末码| 蜜桃在线观看..| 99久久精品热视频| 国产视频内射| 寂寞人妻少妇视频99o| 美女xxoo啪啪120秒动态图| 精品亚洲成a人片在线观看 | 97精品久久久久久久久久精品| 大陆偷拍与自拍| 日本av手机在线免费观看| 久热这里只有精品99| 美女国产视频在线观看| 免费看av在线观看网站| 91午夜精品亚洲一区二区三区| 一区二区三区免费毛片| 国产精品99久久久久久久久| 午夜激情久久久久久久| 新久久久久国产一级毛片| 亚洲熟女精品中文字幕| 国产成人aa在线观看| 亚洲电影在线观看av| www.色视频.com| 国产精品欧美亚洲77777| 久久精品国产a三级三级三级| 亚洲精品,欧美精品| 亚洲国产精品成人久久小说| 免费av不卡在线播放| 啦啦啦中文免费视频观看日本| 久久久精品免费免费高清| 我的女老师完整版在线观看| 欧美丝袜亚洲另类| 精品酒店卫生间| 在线观看美女被高潮喷水网站| 99热这里只有是精品50| 男女下面进入的视频免费午夜| 亚洲成人一二三区av| 欧美精品一区二区大全| 精品久久久精品久久久| 在线精品无人区一区二区三 | 成人综合一区亚洲| 少妇人妻 视频| 亚洲精品456在线播放app| 亚洲精品日韩在线中文字幕| 2021少妇久久久久久久久久久| 久久久久久久久久人人人人人人| 日本爱情动作片www.在线观看| 国产又色又爽无遮挡免| 国产精品国产三级国产av玫瑰| 欧美成人午夜免费资源| 精品久久久久久久久亚洲| 免费在线观看成人毛片| 日本黄大片高清| 亚洲国产最新在线播放| 亚洲国产日韩一区二区| 欧美一区二区亚洲| 蜜桃在线观看..| 亚洲欧洲日产国产| 激情五月婷婷亚洲| av黄色大香蕉| 成人国产麻豆网| 亚洲av不卡在线观看| 亚洲熟女精品中文字幕| 免费在线观看成人毛片| 日韩一本色道免费dvd| 国产亚洲精品久久久com| 国产有黄有色有爽视频| 一二三四中文在线观看免费高清| 欧美高清成人免费视频www| 有码 亚洲区| 在线观看一区二区三区激情| 亚洲国产av新网站| 亚洲成人一二三区av| 久久99精品国语久久久| 欧美xxxx性猛交bbbb| 日韩欧美 国产精品| 热99国产精品久久久久久7| 夫妻性生交免费视频一级片| 国产黄片视频在线免费观看| 18+在线观看网站| 精品一区在线观看国产| 久久精品熟女亚洲av麻豆精品| av免费在线看不卡| 国产乱人偷精品视频| 少妇丰满av| 国产精品伦人一区二区| 免费人妻精品一区二区三区视频| 国产精品一区www在线观看| 国产精品久久久久久久电影| 欧美成人a在线观看| 国产白丝娇喘喷水9色精品| 最近中文字幕高清免费大全6| 麻豆成人av视频| 国产亚洲最大av| av专区在线播放| 日日撸夜夜添| 精品亚洲乱码少妇综合久久| 亚洲国产av新网站| 国产乱人偷精品视频| 久久久成人免费电影| 又爽又黄a免费视频| 美女国产视频在线观看| 亚洲精品一区蜜桃| 国内揄拍国产精品人妻在线| 欧美成人精品欧美一级黄| 一区二区三区精品91| 亚洲欧美日韩另类电影网站 | 国产精品人妻久久久影院| 亚洲av成人精品一区久久| 免费不卡的大黄色大毛片视频在线观看| 国产 一区 欧美 日韩| 成人国产av品久久久| av不卡在线播放| 精品熟女少妇av免费看| 日本一二三区视频观看| 欧美三级亚洲精品| 99久久精品国产国产毛片| 高清黄色对白视频在线免费看 | 精品国产乱码久久久久久小说| 热re99久久精品国产66热6| 国产午夜精品久久久久久一区二区三区| 免费看av在线观看网站| 看非洲黑人一级黄片| 国产欧美日韩一区二区三区在线 | 亚洲av成人精品一区久久| 亚洲精品色激情综合| 精品视频人人做人人爽| 高清av免费在线| 小蜜桃在线观看免费完整版高清| 成人影院久久| 99re6热这里在线精品视频| 国精品久久久久久国模美| av天堂中文字幕网| 免费观看的影片在线观看| 人人妻人人澡人人爽人人夜夜| 99久久精品国产国产毛片| 国产精品一区二区性色av| 国产精品99久久99久久久不卡 | 久久久久人妻精品一区果冻| 97超碰精品成人国产| 亚洲av电影在线观看一区二区三区| 国产伦理片在线播放av一区| 天堂8中文在线网| 性高湖久久久久久久久免费观看| 一级毛片我不卡| 纵有疾风起免费观看全集完整版| 五月天丁香电影| 亚洲av国产av综合av卡| 99热这里只有是精品在线观看| 91aial.com中文字幕在线观看| 成年av动漫网址| 亚洲一级一片aⅴ在线观看| 久久精品熟女亚洲av麻豆精品| 成人特级av手机在线观看| 免费看不卡的av| 久久青草综合色| 国产精品一区二区在线观看99| 国语对白做爰xxxⅹ性视频网站| 边亲边吃奶的免费视频| 成年免费大片在线观看| 26uuu在线亚洲综合色| 涩涩av久久男人的天堂| 一级片'在线观看视频| 97超碰精品成人国产| 人人妻人人添人人爽欧美一区卜 | 在线观看一区二区三区| videos熟女内射| 国产成人精品婷婷| 中国美白少妇内射xxxbb| 国产免费视频播放在线视频| 国产熟女欧美一区二区| 亚洲国产色片| 蜜臀久久99精品久久宅男| 成年av动漫网址| 成人国产av品久久久| 国产91av在线免费观看| 国产一区亚洲一区在线观看|