一種演算法的本質平行度的分析方法,包括:由演算法產生一資料流圖,其由代表計算的節點與表示資料相依性與流動的有向邊構成;建立一代表資料流圖的矩陣;以及基于代表資料流圖的矩陣的秩與維度量化本質平行度。
【技術實現步驟摘要】
【國外來華專利技術】基于一演算法的復雜度在本質平行度上的平臺開發方法
本專利技術關于一種分析與量化演算法的本質平行度(intrinsicparallelism)的方法。
技術介紹
阿姆達爾定律(G.M.Amdahl,「以單處理器來達到大規模運算能力的可行性」,AFIPS會議期刊,第483-485頁,1967年)提出了一種軟體程式的平行化的理論最大加速。由于循序部份基于高資料相依性而不能被平行化,此理論最大加速是依程式中的循序部份的比例來決定。阿姆達爾定律為特征化平行度提供了一個簡單且初步的高階想法。然而,由此技術所量測的平行度取決于目標平臺,而非演算法本身。所以,這種平行度的量測對演算法是非本質的,且會因目標平臺而偏移。以相似的方式,以圖為基礎的技術(V.Escuder、R.Duran、R.Rico,「以圖論量化指令層平行度」,第二次效能評估方法與工具國際會議期刊,2007年)基于圖論將程式的指令層平行度(instructionlevelparallelism,ILP)量化。此技術一開始以資料相依性矩陣D表示一指令序列。接著,程式的關鍵路徑長度由D的矩陣乘法決定。此技術對于處理器導向的平臺更特定。因此,指令層平行度的量化并非演算法本質的,而是取決于目標平臺與所使用的編譯器。Prihozhy等人基于運算復雜度與演算法的關鍵路徑長度的比例所定義的平行化位準(parallelizationpotential)也能夠估計平行度(A.Prihozhy、M.Mattavelli與D.Mlynek,「為了有效率的實現多媒體的平行化位準的評估:演算法關鍵路徑的動態評估」,IEEE影像技術電路與系統期刊,第593-608頁,第15卷,第5號,2005年5月)。他們使用運算的總數量來量測復雜度。然后,關鍵路徑長度被定義為必須循序進行的運算的最大數量。與阿姆達爾定律及指令層平行度方法比較,基于運算數量的平行化位準顯現了更多的本質平行度量測,但當然是在資料粒度較低的情況下。然而,由于運算的數量與關鍵路徑長度是基于以C/C++程式所產生的資料流執行圖來計算,可因程式風格與資料結構偏移,此方法不能呈現演算法本質上最高平行度。另一方面,由演算法的資料流模型所產生的因果行跡圖(causationtracegraph)可呈現更多演算法本質的相依性與運算平行度。一般而言,因果行跡圖相對窄與線性的部份是由更多的循序運算所構成,而較寬的部份則包括較高的平行度。在論文中(J.W.Janneck、D.Miller與D.B.Parlour,“剖析數據流程式”,IEEEICME2008年期刊,第1065-1068頁,2008年6月),運算的可平行度可以顯現相同時間內的平均完成工作量來量測。然而,此方法不能確切地量化平行度。
技術實現思路
有鑒于此,本專利技術的一目的為提供一種基于一演算法的復雜度在本質平行度上的平臺開發方法。基于本質演算法復雜度萃取與分析同時開發演算法與架構的演算法/架構共同開發(Algorithm/architectureco-exploration,AAC)方法,在新興的電子系統層級(electronicsystemlevel,ESL)設計的時代已成為一種設計典范。演算法的本質運算平行度是最重要的復雜度量測機制之一,其可促進新興平臺的開發,包括應用特殊應用導向積體電路(applicationspecificintegratedcircuits,ASIC)、可重構電路、大量平行處理單元(processingelement,PE)、以及多核心嵌入CPU等,用于現代與未來的訊號與資訊處理應用中所采用的越來越復雜的演算法。因此,演算法所內蘊的平行度的利用對于同時最佳化演算法與架構變成是必要且必須的。本專利技術的目的是基于線性代數理論提供一種系統化的方法,以量化內蘊在演算法中的本質平行度上限,以促進訊號與資訊處理系統在新興平臺上的開發。換言之,被萃取的平行度對于演算法本身是本質性的,不會被硬體或軟體影響,從而能夠協助訊號與資訊處理系統的演算法/架構共同開發。為達上述目的,依本專利技術的基于一演算法的復雜度在本質平行度上的平臺開發方法包含:由演算法產生一資料流圖,其由代表計算的節點與表示資料相依性與流動的有向邊構成;建立一代表資料流圖的矩陣;以及基于代表資料流圖的矩陣的秩與維度量化本質平行度。如上所述,本專利技術揭露了一種演算法復雜度在本質平行度上的量測方法,其用于新的演算法/架構共同設計方法,能夠同時開發演算法與架構進而最佳化系統。演算復雜度分析與資料流模型化在同時最佳化演算法與架構中扮演重要的角色。為了前瞻與未來的訊號與資訊處理,本質平行度無疑地是最重要的復雜度量測機制之一。基于演算法的資料流模型化與以例如相依性與/或拉普拉斯矩陣映射資料流圖到線性方程式,藉由顯現線性方程式系統的自由度,本專利技術可以有系統地量化演算法內蘊的本質平行度。此外,本專利技術中,秩理論被使用以加速量化演算法本質平行度。再者,萃取的本質平行度可有效地促進新興平臺之上,包括應用特定積體電路(applicationspecificintegratedcircuits,ASIC)、可重構電路、大量平行處理單元(processingelement,PE)、以及多核心嵌入CPU等,用于更復雜的訊號與資訊處理應用的平臺的設計空間的開發。與先前技術相比,本專利技術的方法具有幾個優點。首先,其提供一種理論上可靠的方法以量化演算法的平行度,而因果行跡(由(J.W.Janneck、D.Miller與D.B.Parlour所說明)只提供相對的可平行程度比較資訊。此外,受益于資料流模型化,本專利技術的方法也適用于以不規則的資料相依度來特征化演算法。另外,相對于藉由高階程式模型與ILP量化的分析比較,本專利技術的平行度機制為本質性的,因此不會受限于特定處理器導向的平臺,且可映射演算法到通用平臺,甚至是分散式系統上。附圖說明以下將參照附圖及相關說明使本專利技術更容易理解,但其僅為說明而非為限制本專利技術:圖1為一流程圖,顯示依本專利技術較佳實施例的演算法平行度的分析方法;圖2為一示意圖,顯示演算法平行度的分析方法的一種狀況;以及圖3為一實施例的資料流圖的示意圖。具體實施方式本專利技術經由以下的詳細說明并參照附圖將更清楚,附圖中相同的標號關聯到相同的元件。演算法中所蘊含的通用平行度的其中之一可以被顯現為彼此獨立的獨立運算集,從而可以不同步而平行地被執行。然而,獨立運算集系由相依的運算所構成,其必須循序地進行。因此,嚴格而言,演算法所內蘊的平行度等于全部獨立運算集的數量。本專利技術的方法的主要目標是經由分析基于資料流模型與線性代數所產生的資料流圖來萃取本質平行度。演算法的輸入會被分析,且輸出包括本質平行度的上限以及相關聯的以及不需同步就可以平行地被執行的獨立運算集。圖1為一流程圖,顯示依本專利技術較佳實施例的演算法平行度的分析方法,且圖2為一示意圖,顯示分析演算法平行度的一種狀況。如圖1和圖2所示,步驟S01系從演算法產生一資料流圖,其由代表運算的節點v1到v7,以及表示資料的相依性與流動的有向邊e1到e4所構成。圖2所示的演算法系作為一簡單的例子以便清楚地說明,其目的并非作為限制。在實施例中,資料流圖是由一表示演算法的資料流模型所產生。資料流模型不只能描述演算法的本文檔來自技高網...

【技術保護點】
【技術特征摘要】
【國外來華專利技術】2010.06.22 US 12/820,6021.一種基于一演算法的復雜度在本質平行度上的平臺開發方法,包含:由該演算法產生一資料流圖,其由代表計算的節點與表示資料相依性程度與流動的有向邊構成;建立一代表該資料流圖的矩陣;基于代表該資料流圖的該矩陣的秩與維度量化該本質平行度;以及基于演算法所產生的該資料流圖的該矩陣的基底來擴充零空間,進而指出各獨立運算集,并依據該本質平行度及各該獨立運算集開發平臺。2.如權利要求1所述的基于一演算法的復雜度在本質平行度上的平臺開發方法,其中該資料流圖是由代表該演算法的一資料流模型產生。3.如權利要求1所述的基于一演算法的復雜度在本質平行度上的平臺開發方法,其中該...
【專利技術屬性】
技術研發人員:李國君,林和源,
申請(專利權)人:李國君,
類型:
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。