• <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在线播放| 亚洲av免费在线观看| 国产一区二区三区在线臀色熟女| 桃红色精品国产亚洲av| 中文字幕人妻熟人妻熟丝袜美 | 国产成年人精品一区二区| 免费搜索国产男女视频| 高清在线国产一区| 国产伦一二天堂av在线观看| 欧美av亚洲av综合av国产av| 免费大片18禁| 免费人成视频x8x8入口观看| 久久性视频一级片| 最新美女视频免费是黄的| 老熟妇乱子伦视频在线观看| 欧美三级亚洲精品| 午夜福利高清视频| 国产一区二区三区在线臀色熟女| www国产在线视频色| 在线观看舔阴道视频| 国产精品综合久久久久久久免费| 19禁男女啪啪无遮挡网站| 国产亚洲av嫩草精品影院| 日本在线视频免费播放| 午夜两性在线视频| 99精品欧美一区二区三区四区| 一边摸一边抽搐一进一小说| 国产aⅴ精品一区二区三区波| 成人国产综合亚洲| 免费av毛片视频| 欧美黑人巨大hd| 亚洲av电影不卡..在线观看| 少妇高潮的动态图| 国产蜜桃级精品一区二区三区| 久久亚洲真实| 国产aⅴ精品一区二区三区波| 亚洲av二区三区四区| 精品人妻偷拍中文字幕| 国产伦精品一区二区三区视频9 | 老司机午夜福利在线观看视频| 国产欧美日韩精品一区二区| 在线观看免费午夜福利视频| 午夜精品一区二区三区免费看| 动漫黄色视频在线观看| 亚洲国产欧美人成| 国产69精品久久久久777片| 在线观看舔阴道视频| 日本五十路高清| a级毛片a级免费在线| bbb黄色大片| 窝窝影院91人妻| 12—13女人毛片做爰片一| 97超视频在线观看视频| 熟女人妻精品中文字幕| 好看av亚洲va欧美ⅴa在| av中文乱码字幕在线| 国产一区二区三区在线臀色熟女| 99久久综合精品五月天人人| 香蕉久久夜色| 成人国产一区最新在线观看| 一个人免费在线观看电影| 久久草成人影院| 老司机深夜福利视频在线观看| 午夜福利18| 偷拍熟女少妇极品色| xxxwww97欧美| 两性午夜刺激爽爽歪歪视频在线观看| 亚洲国产精品999在线| 日韩欧美免费精品| 日本在线视频免费播放| 精品一区二区三区视频在线观看免费| 精品乱码久久久久久99久播| 好男人在线观看高清免费视频| 中文字幕久久专区| 午夜免费成人在线视频| 免费人成视频x8x8入口观看| 国产成人av激情在线播放| 亚洲一区二区三区色噜噜| 国产欧美日韩精品亚洲av| 国产欧美日韩一区二区精品| 久久久久久久久中文| 神马国产精品三级电影在线观看| 国产精品自产拍在线观看55亚洲| 成熟少妇高潮喷水视频| 午夜两性在线视频| 欧美一区二区国产精品久久精品| 婷婷丁香在线五月| 在线天堂最新版资源| 亚洲av免费在线观看| 精品欧美国产一区二区三| 两个人看的免费小视频| 亚洲精品在线美女| 国产av不卡久久| 亚洲人与动物交配视频| 又黄又粗又硬又大视频| 男女做爰动态图高潮gif福利片| 51午夜福利影视在线观看| 成熟少妇高潮喷水视频| 亚洲电影在线观看av| 日韩欧美三级三区| 日本撒尿小便嘘嘘汇集6| 中文资源天堂在线| 婷婷六月久久综合丁香| 久久久色成人| 在线观看舔阴道视频| 亚洲精品日韩av片在线观看 | 少妇的逼水好多| 日韩精品青青久久久久久| 黄色视频,在线免费观看| 欧美黄色淫秽网站| 成人特级黄色片久久久久久久| 国产精品一区二区三区四区久久| av片东京热男人的天堂| 欧美区成人在线视频| 99精品欧美一区二区三区四区| av女优亚洲男人天堂| 在线国产一区二区在线| 黄色女人牲交| 午夜激情福利司机影院| 亚洲无线观看免费| 国产91精品成人一区二区三区| 一本一本综合久久| 天天一区二区日本电影三级| www.999成人在线观看| 亚洲人成电影免费在线| 国产毛片a区久久久久| 国产精品久久久久久精品电影| 美女cb高潮喷水在线观看| 丁香六月欧美| 午夜福利欧美成人| 日韩有码中文字幕| 老司机在亚洲福利影院| 色综合站精品国产| 亚洲男人的天堂狠狠| 久久香蕉精品热| 有码 亚洲区| 桃色一区二区三区在线观看| 国产精品1区2区在线观看.| 美女黄网站色视频| 成年免费大片在线观看| 精品一区二区三区视频在线观看免费| 免费看美女性在线毛片视频| 国产色爽女视频免费观看| 久久久久久九九精品二区国产| 欧美性猛交╳xxx乱大交人| 亚洲av电影不卡..在线观看| 在线观看av片永久免费下载| 女人十人毛片免费观看3o分钟| 国产又黄又爽又无遮挡在线| 亚洲av成人不卡在线观看播放网| 国产精品久久视频播放| 天堂av国产一区二区熟女人妻| 久久国产乱子伦精品免费另类| 久久亚洲真实| netflix在线观看网站| 男人舔女人下体高潮全视频| 欧美日韩福利视频一区二区| 国产精品99久久99久久久不卡| 国产精品一区二区三区四区久久| 色综合欧美亚洲国产小说| 又紧又爽又黄一区二区| 我要搜黄色片| 免费在线观看日本一区| 啦啦啦免费观看视频1| 日本一二三区视频观看| 国产伦在线观看视频一区| 男女做爰动态图高潮gif福利片| 精品欧美国产一区二区三| 91九色精品人成在线观看| 久久这里只有精品中国| 99在线视频只有这里精品首页| 久久精品国产综合久久久| avwww免费| 麻豆国产av国片精品| 亚洲无线观看免费| 十八禁网站免费在线| 欧美丝袜亚洲另类 | 亚洲无线观看免费| 深夜精品福利| 特大巨黑吊av在线直播| 老汉色∧v一级毛片| 免费大片18禁| 免费人成在线观看视频色| 亚洲成人精品中文字幕电影| 精品欧美国产一区二区三| 一本综合久久免费| 五月玫瑰六月丁香| 99久久九九国产精品国产免费| 深夜精品福利| 亚洲男人的天堂狠狠| 国产免费一级a男人的天堂| 偷拍熟女少妇极品色| 天堂影院成人在线观看| 日韩欧美国产一区二区入口| 欧美黑人巨大hd| 窝窝影院91人妻| 国产一区二区在线观看日韩 | 亚洲专区国产一区二区| 日韩欧美免费精品| 国产精品野战在线观看| 黄色女人牲交| 欧美3d第一页| 国产亚洲精品久久久久久毛片| 色综合站精品国产| 国产色爽女视频免费观看| 精品人妻1区二区| 亚洲五月天丁香| 久久久久久久久中文| 九九久久精品国产亚洲av麻豆| 51国产日韩欧美| 99久久九九国产精品国产免费| 国产黄a三级三级三级人| 欧美极品一区二区三区四区| 国产男靠女视频免费网站| 91久久精品国产一区二区成人 | 精品国产美女av久久久久小说| 国产成人av教育| 国产黄片美女视频| 搡老妇女老女人老熟妇| 美女被艹到高潮喷水动态| 日韩 欧美 亚洲 中文字幕| 成人性生交大片免费视频hd| 在线a可以看的网站| 90打野战视频偷拍视频| 免费观看精品视频网站| 国产精品,欧美在线| 日本黄色片子视频| 久久精品人妻少妇| 国产精品嫩草影院av在线观看 | 午夜福利成人在线免费观看| 国产精品影院久久| 男插女下体视频免费在线播放| 好看av亚洲va欧美ⅴa在| 亚洲av免费在线观看| 美女cb高潮喷水在线观看| 日韩大尺度精品在线看网址| 精品国产三级普通话版| 日韩欧美精品免费久久 | ponron亚洲| 日韩av在线大香蕉| 搡老熟女国产l中国老女人| 精品乱码久久久久久99久播| 亚洲精品乱码久久久v下载方式 | 最近最新中文字幕大全电影3| 亚洲真实伦在线观看| 黄片大片在线免费观看| 黄色日韩在线| 69av精品久久久久久| 中文字幕高清在线视频| 九色成人免费人妻av| 亚洲国产精品久久男人天堂| 五月伊人婷婷丁香| 欧美丝袜亚洲另类 | 又紧又爽又黄一区二区| 欧美在线一区亚洲| 伊人久久精品亚洲午夜| 国内毛片毛片毛片毛片毛片| 中文字幕av在线有码专区| 国产私拍福利视频在线观看| 欧洲精品卡2卡3卡4卡5卡区| 搡老岳熟女国产| 亚洲人与动物交配视频| 成人av一区二区三区在线看| 午夜精品在线福利| 亚洲中文字幕日韩| a级毛片a级免费在线| 精品日产1卡2卡| 成人高潮视频无遮挡免费网站| 亚洲精品亚洲一区二区| 欧美一区二区国产精品久久精品| 又爽又黄无遮挡网站| 老熟妇乱子伦视频在线观看| 一区福利在线观看| 免费观看的影片在线观看| 窝窝影院91人妻| 中文字幕av成人在线电影| a级毛片a级免费在线| 国内精品久久久久久久电影| 欧美乱色亚洲激情| 丁香欧美五月| 性欧美人与动物交配| 久久久久久人人人人人| 久久九九热精品免费| 成人国产综合亚洲| 日日干狠狠操夜夜爽| 亚洲欧美日韩高清在线视频| 在线免费观看的www视频| 成人亚洲精品av一区二区| 亚洲成人久久性| a级毛片a级免费在线| 精品无人区乱码1区二区| 国产熟女xx| 人人妻,人人澡人人爽秒播| 深爱激情五月婷婷| 日本黄色片子视频| 色老头精品视频在线观看| 亚洲精品粉嫩美女一区| 欧美最黄视频在线播放免费| 久久精品影院6| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 午夜福利18| 18禁黄网站禁片午夜丰满| 精品国产亚洲在线| 俺也久久电影网| 亚洲av五月六月丁香网| 日本a在线网址| 91在线观看av| 极品教师在线免费播放| 在线播放无遮挡| 亚洲18禁久久av| www.熟女人妻精品国产| 一进一出好大好爽视频| 日韩欧美国产在线观看| 99久久精品热视频| 日本在线视频免费播放| 久久久成人免费电影| 99久国产av精品| 99国产极品粉嫩在线观看| 欧美成人一区二区免费高清观看| 亚洲在线自拍视频| 国产精品影院久久| 偷拍熟女少妇极品色| 99久久综合精品五月天人人| 久久久久国产精品人妻aⅴ院| 免费av毛片视频| 午夜激情欧美在线| 国内少妇人妻偷人精品xxx网站| 亚洲av免费高清在线观看| 99视频精品全部免费 在线| 久久亚洲真实| 三级男女做爰猛烈吃奶摸视频| 91久久精品国产一区二区成人 | 国产精品三级大全| 免费一级毛片在线播放高清视频| 色综合站精品国产| 欧美高清成人免费视频www| 欧美一区二区国产精品久久精品| 色综合婷婷激情| 久久久久久国产a免费观看| 国产成人av激情在线播放| 日韩欧美三级三区| 欧美一级a爱片免费观看看| 亚洲激情在线av| 国产欧美日韩精品一区二区| 亚洲av免费在线观看| 中文字幕人妻熟人妻熟丝袜美 | 美女被艹到高潮喷水动态| 免费高清视频大片| 日韩大尺度精品在线看网址| 19禁男女啪啪无遮挡网站| 日韩大尺度精品在线看网址| 久久香蕉国产精品| 午夜日韩欧美国产| 叶爱在线成人免费视频播放| 日韩国内少妇激情av| 国产伦人伦偷精品视频| 欧美日韩瑟瑟在线播放| 色播亚洲综合网| 一个人看视频在线观看www免费 | 999久久久精品免费观看国产| 男插女下体视频免费在线播放| 熟女电影av网| 1024手机看黄色片| 大型黄色视频在线免费观看| 在线看三级毛片| 婷婷精品国产亚洲av在线| 午夜激情福利司机影院| 午夜影院日韩av| 欧美丝袜亚洲另类 | 三级国产精品欧美在线观看| 一级作爱视频免费观看| 此物有八面人人有两片| 国产97色在线日韩免费| 欧美在线黄色| 亚洲国产精品久久男人天堂| 宅男免费午夜| 脱女人内裤的视频| 露出奶头的视频| 少妇的逼水好多| 亚洲狠狠婷婷综合久久图片| 香蕉久久夜色| 欧美zozozo另类| 欧美激情久久久久久爽电影| 精品久久久久久久末码| 亚洲精品在线美女| 国产美女午夜福利| 免费看a级黄色片| 性欧美人与动物交配| 搡老岳熟女国产| 一卡2卡三卡四卡精品乱码亚洲| avwww免费| 成人18禁在线播放| 99精品欧美一区二区三区四区| 午夜精品一区二区三区免费看| 天堂√8在线中文| av专区在线播放| 国产一区二区在线av高清观看| 美女被艹到高潮喷水动态| 久久久国产精品麻豆| 欧美日本视频| 国产伦人伦偷精品视频| 国产精品1区2区在线观看.| 亚洲精品久久国产高清桃花| 熟女电影av网| 欧美日韩福利视频一区二区| 人人妻人人澡欧美一区二区| 欧美极品一区二区三区四区| 高清日韩中文字幕在线| 怎么达到女性高潮| 噜噜噜噜噜久久久久久91| 成人永久免费在线观看视频| 国产精品久久久久久人妻精品电影| 亚洲av二区三区四区| 十八禁人妻一区二区| 午夜福利在线观看免费完整高清在 | 51午夜福利影视在线观看| 日韩精品中文字幕看吧| 俺也久久电影网| 国产免费一级a男人的天堂| 国产精品美女特级片免费视频播放器| 国产野战对白在线观看| 欧洲精品卡2卡3卡4卡5卡区| 国产成年人精品一区二区| 成人欧美大片| 极品教师在线免费播放| 国产乱人伦免费视频| 日韩欧美精品免费久久 | 九色成人免费人妻av| 亚洲国产欧美网| 少妇裸体淫交视频免费看高清| 国产毛片a区久久久久| 欧美xxxx黑人xx丫x性爽| 亚洲精品在线美女| 国内精品久久久久久久电影| 午夜福利18| 欧美中文综合在线视频| www.999成人在线观看| 小蜜桃在线观看免费完整版高清| 日本a在线网址| av天堂中文字幕网| 99精品久久久久人妻精品| 日韩精品青青久久久久久| 久久久久久国产a免费观看| 内地一区二区视频在线| 欧美黄色片欧美黄色片| 亚洲国产欧美网| 狠狠狠狠99中文字幕| 欧美日韩综合久久久久久 | 有码 亚洲区| 好看av亚洲va欧美ⅴa在| 欧美在线一区亚洲| 欧美日韩黄片免| 三级毛片av免费| 日韩欧美精品v在线| 日本在线视频免费播放| 十八禁网站免费在线| 日韩欧美在线乱码| 久久久久久久精品吃奶| 国产一级毛片七仙女欲春2| 少妇人妻精品综合一区二区 | 五月玫瑰六月丁香| 国产熟女xx| 夜夜爽天天搞| 成人av一区二区三区在线看| 欧美中文日本在线观看视频| 欧美午夜高清在线| 国产伦精品一区二区三区四那| 极品教师在线免费播放| 欧美最新免费一区二区三区 | 欧美黄色淫秽网站| 久久这里只有精品中国| 成人一区二区视频在线观看| 制服丝袜大香蕉在线| 婷婷精品国产亚洲av| 国产精品嫩草影院av在线观看 | 欧美+日韩+精品| 最近最新免费中文字幕在线| 久久久久久九九精品二区国产| 又爽又黄无遮挡网站| 国产精品久久久久久精品电影| 日日夜夜操网爽| 性色av乱码一区二区三区2| 一级黄色大片毛片| 热99re8久久精品国产| 村上凉子中文字幕在线| 丰满人妻熟妇乱又伦精品不卡| 国产欧美日韩精品亚洲av| 亚洲无线观看免费| 99riav亚洲国产免费| 成人国产一区最新在线观看| 婷婷丁香在线五月| 99热只有精品国产| 国产午夜精品论理片| 色精品久久人妻99蜜桃| 又粗又爽又猛毛片免费看| 欧美极品一区二区三区四区| АⅤ资源中文在线天堂| 国产精品乱码一区二三区的特点| 亚洲最大成人手机在线| 日韩欧美精品v在线| 内地一区二区视频在线| 成年女人永久免费观看视频| 激情在线观看视频在线高清| 午夜精品久久久久久毛片777| 91av网一区二区| 久久人妻av系列| 听说在线观看完整版免费高清| 成人国产综合亚洲| 国产精品嫩草影院av在线观看 | 欧美日韩瑟瑟在线播放| 日韩亚洲欧美综合| 精华霜和精华液先用哪个| 精品久久久久久久久久免费视频| 超碰av人人做人人爽久久 | 99久久无色码亚洲精品果冻| 午夜福利高清视频| 内地一区二区视频在线| 久久精品综合一区二区三区| 一个人看的www免费观看视频| 麻豆成人午夜福利视频| av国产免费在线观看| 午夜精品一区二区三区免费看| 少妇裸体淫交视频免费看高清| 一区二区三区激情视频| 欧美中文日本在线观看视频| 中文字幕人妻丝袜一区二区| 伊人久久精品亚洲午夜| 99在线视频只有这里精品首页| 18禁黄网站禁片免费观看直播| 亚洲av成人精品一区久久| 极品教师在线免费播放| 夜夜看夜夜爽夜夜摸| 国产69精品久久久久777片| 国产精品免费一区二区三区在线| 国产午夜精品论理片| 国产精品99久久99久久久不卡| 午夜精品久久久久久毛片777| 国产一区在线观看成人免费| 国产色婷婷99| 女人十人毛片免费观看3o分钟| 一区二区三区高清视频在线| 亚洲男人的天堂狠狠| 色综合站精品国产| 小说图片视频综合网站| 桃色一区二区三区在线观看| 亚洲精品色激情综合| 一个人看视频在线观看www免费 | 美女大奶头视频| 免费观看精品视频网站| 色播亚洲综合网| 伊人久久大香线蕉亚洲五| 久久伊人香网站| 久久久久久久午夜电影| 婷婷精品国产亚洲av| 亚洲人成伊人成综合网2020| 国产蜜桃级精品一区二区三区| 在线播放无遮挡| 美女cb高潮喷水在线观看| 少妇人妻一区二区三区视频| 啦啦啦韩国在线观看视频| 69av精品久久久久久| 又粗又爽又猛毛片免费看| av黄色大香蕉| 深爱激情五月婷婷| 精品一区二区三区人妻视频| 两人在一起打扑克的视频| 深夜精品福利| 国产精品国产高清国产av| 51国产日韩欧美| 九九久久精品国产亚洲av麻豆| 免费av观看视频| 午夜免费激情av| 搡老岳熟女国产| 免费一级毛片在线播放高清视频| 18美女黄网站色大片免费观看| 最好的美女福利视频网| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 99国产精品一区二区蜜桃av| 亚洲 国产 在线| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 欧美zozozo另类| 日韩精品青青久久久久久| 观看免费一级毛片| av视频在线观看入口| 日本免费一区二区三区高清不卡| 国产av一区在线观看免费| 欧美一区二区亚洲| 亚洲成人久久性| 高清在线国产一区| 叶爱在线成人免费视频播放| 免费在线观看影片大全网站| 日本在线视频免费播放| 亚洲av一区综合| ponron亚洲| 欧美大码av| 性色av乱码一区二区三区2| 12—13女人毛片做爰片一| 亚洲第一电影网av| 偷拍熟女少妇极品色| 国产高清视频在线播放一区| 欧洲精品卡2卡3卡4卡5卡区| 偷拍熟女少妇极品色| 色哟哟哟哟哟哟| 色尼玛亚洲综合影院| 观看美女的网站| 91久久精品电影网| 色尼玛亚洲综合影院| 观看美女的网站| 好男人电影高清在线观看| av黄色大香蕉|