專利名稱:處理器循環(huán)映射的優(yōu)化方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及循環(huán)程序處理技術(shù)領(lǐng)域,特別涉及一種處理器循環(huán)映射的優(yōu)化方法及系統(tǒng)。
背景技術(shù):
在現(xiàn)代實際生活應(yīng)用程序中(例如:聲音、圖像處理等應(yīng)用),循環(huán)往往占據(jù)了這些程序的大部分運行時間。循環(huán)的特點是多次重復(fù)同一個計算內(nèi)核,不改變運算的結(jié)構(gòu),只改變運算的數(shù)據(jù)。占用大量執(zhí)行時間的循環(huán)被稱為應(yīng)用中的關(guān)鍵循環(huán)。處理關(guān)鍵循環(huán)可以大幅度的減少需要處理的循環(huán)數(shù)量,并且基本不影響最終加速的效果。而對于可重構(gòu)陣列來說,一次配置多次執(zhí)行的模式可以有效的降低配置的代價。因此提取出應(yīng)用中的關(guān)鍵循環(huán),并把它們映射到可重構(gòu)陣列上執(zhí)行可以降低映射的復(fù)雜度。因此,循環(huán)優(yōu)化是可重構(gòu)計算系統(tǒng)編譯器的重要組成部分。在通用處理器上循環(huán)優(yōu)化的主要目的是增加計算的并行性和數(shù)據(jù)的局部性。通過循環(huán)變換,在不改變數(shù)據(jù)依賴的情況下尋求循環(huán)實例之間的并行性。同時,變換之后的更好的數(shù)據(jù)局部性也會降低Cache的缺失率,從而提高程序的運行性能。在圖形處理器(GPU)上,循環(huán)優(yōu)化又有不同的目標(biāo)。一般GPU由多個Multiprocessor組成,每一個Multiprocessor又由多個SMD組成,SMD之間通過片上共享存儲器進(jìn)行數(shù)據(jù)交互,而Multiprocessor之間是通過片外的DRAM進(jìn)行數(shù)據(jù)的通信。另外,每一個Multiprocessor擁有一些固定數(shù)量的寄存器堆。根據(jù)GPU系統(tǒng)存儲器的不同的特點,循環(huán)優(yōu)化的目標(biāo)主要是增加片外DRAM的聯(lián)合訪問,減少片上共享存儲器的訪問bank沖突,增加計算的平行程度以及減少Multiprocessor內(nèi)部的寄存器壓力。目前普遍使用的循環(huán)優(yōu)化方法有多面體模型、循環(huán)展開和軟件流水等。循環(huán)展開是將一個循環(huán)體代碼復(fù)制多次,增大指令調(diào)度的空間,減少循環(huán)分支指令開銷。通過此方式很難確定展開的次數(shù),而且會使得代碼量增加。軟件流水是通過重疊不同循環(huán)實例之間的語句來增加執(zhí)行的并行性,但是此方法只能處理單層循環(huán),無法處理多循環(huán)體。
發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決上述的技術(shù)缺陷之一。為達(dá)到上述目的,本發(fā)明一方面的實施例提出一種處理器循環(huán)映射的優(yōu)化方法,包括以下步驟:獲取循環(huán)程序陣列,并對所述循環(huán)程序陣列進(jìn)行處理以獲得所述循環(huán)程序陣列中語句之間的依賴關(guān)系和變換關(guān)系;對所述依賴關(guān)系和變換關(guān)系進(jìn)行處理以生成第一超平面和第二超平面,其中,所述第一超平面和所述第二超平面相互獨立;以及根據(jù)所述第一超平面和所述第二超平面將所述循環(huán)程序陣列劃分為多個塊以完成對所述處理器循環(huán)映射的優(yōu)化。根據(jù)本發(fā)明實施例的方法,通過循環(huán)程序陣列中語句之間的依賴關(guān)系和變換關(guān)系生成兩個超平面,并通過該超平面對循環(huán)程序進(jìn)行劃分,從而提高了陣列的處理單元利用率減少了運算次數(shù),同時降低了陣列之間的通信量,減少數(shù)據(jù)的載入和存儲時間。本發(fā)明的一個實例中,通過時間約束、空間約束和優(yōu)化的方式對所述依賴關(guān)系和變換關(guān)系進(jìn)行處理以生成第一超平面和第二超平面。本發(fā)明的一個實例中,通過如下約束公式使所述第二超平面與所述第一超平面相互獨立,其中,所述公式為> OorcA-c;^ < 0,其中,cl和c2表不所述第一超平面的參數(shù),dl和d2表示所述第二超平面的參數(shù)。本發(fā)明的一個實例中,所述時間約束通過如下公式表示,
權(quán)利要求
1.一種處理器循環(huán)映射的優(yōu)化方法,其特征在于,包括以下步驟: 獲取循環(huán)程序陣列,并對所述循環(huán)程序陣列進(jìn)行處理以獲得所述循環(huán)程序陣列中語句之間的依賴關(guān)系和變換關(guān)系; 對所述依賴關(guān)系和變換關(guān)系進(jìn)行處理以生成第一超平面和第二超平面,其中,所述第一超平面和所述第二超平面相互獨立;以及 根據(jù)所述第一超平面和所述第二超平面將所述循環(huán)程序陣列劃分為多個塊以完成對所述處理器循環(huán)映射的優(yōu)化。
2.根據(jù)權(quán)利要求1所述的處理器循環(huán)映射的優(yōu)化方法,其特征在于,通過時間約束、空間約束和優(yōu)化的方式對所述依賴關(guān)系和變換關(guān)系進(jìn)行處理以生成第一超平面和第二超平面。
3.根據(jù)權(quán)利要求1所述的處理器循環(huán)映射的優(yōu)化方法,其特征在于,通過如下約束公式使所述第二超平面與所述第一超平面相互獨立,其中,所述公式為: C1Ci2-C2Ci1 > OorC1Ci2-C2Ci1 < 0, 其中,Cl和C2表示所述第一超平面的參數(shù),dl和d2表示所述第二超平面的參數(shù)。
4.根據(jù)權(quán)利要求2所述的處理器循環(huán)映射的優(yōu)化方法,其特征在于,所述時間約束通過如下公式表示,
5.根據(jù)權(quán)利要求2所述的處理器循環(huán)映射的優(yōu)化方法,其特征在于,所述優(yōu)化處理指通過所述時間約束和空間約束尋找最小的循環(huán)變換參數(shù)。
6.一種處理器循環(huán)映射的優(yōu)化系統(tǒng),其特征在于,包括: 獲取模塊,用于獲取循環(huán)程序陣列,并對所述循環(huán)程序陣列進(jìn)行處理以獲得所述循環(huán)程序陣列中語句之間的依賴關(guān)系和變換關(guān)系; 處理模塊,用于對所述依賴關(guān)系和變換關(guān)系進(jìn)行處理以生成第一超平面和第二超平面,其中,所述第一超平面和所述第二超平面相互獨立;以及 劃分模塊,用于根據(jù)所述第一超平面和所述第二超平面將所述循環(huán)程序陣列劃分為多個塊以完成對所述處理器循環(huán)映射的優(yōu)化。
7.根據(jù)權(quán)利要求6所述的處理器循環(huán)映射的優(yōu)化系統(tǒng),其特征在于,通過時間約束、空間約束和優(yōu)化的方式對所述依賴關(guān)系和變換關(guān)系進(jìn)行處理以生成第一超平面和第二超平面。
8.根據(jù)權(quán)利要求6所述的處理器循環(huán)映射的優(yōu)化系統(tǒng),其特征在于,通過如下約束公式使所述第二超平面與所述第一超平面相互獨立,其中,所述公式為: C1Ci2-C2Ci1 > OorC1Ci2-C2Ci1 < 0, 其中,Cl和C2表示所述第一超平面的參數(shù),dl和d2表示所述第二超平面的參數(shù)。
9.根據(jù)權(quán)利要求7所述的處理器循環(huán)映射的優(yōu)化系統(tǒng),其特征在于, 所述時間約束通過如下公式表示,
10.根據(jù) 權(quán)利要求7所述的處理器循環(huán)映射的優(yōu)化系統(tǒng),其特征在于,所述優(yōu)化處理指通過所述時間約束和空間約束尋找最小的循環(huán)變換參數(shù)。
全文摘要
本發(fā)明提出一種處理器循環(huán)映射的優(yōu)化方法及系統(tǒng)。其中,方法包括以下步驟獲取循環(huán)程序陣列,并對循環(huán)程序陣列進(jìn)行處理以獲得循環(huán)程序陣列中語句之間的依賴關(guān)系和變換關(guān)系;對依賴關(guān)系和變換關(guān)系進(jìn)行處理以生成第一超平面和第二超平面,其中,第一超平面和第二超平面相互獨立;以及根據(jù)第一超平面和第二超平面將循環(huán)程序陣列劃分為多個塊以完成對處理器循環(huán)映射的優(yōu)化。根據(jù)本發(fā)明實施例的方法,通過循環(huán)程序陣列中語句之間的依賴關(guān)系和變換關(guān)系生成兩個超平面,并通過該超平面對循環(huán)程序進(jìn)行劃分,從而提高了陣列的處理單元利用率減少了運算次數(shù),同時降低了陣列之間的通信量,減少數(shù)據(jù)的載入和存儲時間。
文檔編號G06F9/30GK103106067SQ20131006654
公開日2013年5月15日 申請日期2013年3月1日 優(yōu)先權(quán)日2013年3月1日
發(fā)明者尹首一, 劉大江, 劉雷波, 魏少軍 申請人:清華大學(xué)