復雜體系解析多維數(shù)據(jù)陣分析的嵌入式計算技術研究
發(fā)布時間:2020-07-18 01:48
【摘要】: 多維數(shù)據(jù)陣分析是一種用于復雜體系解析的熒光分析技術,在生命科學,環(huán)境科學和石油化工等方面有很廣泛應用價值。目前該分析方法的理論和實驗都發(fā)展得比較成熟,但是由于缺乏專用的計算設備,技術的推廣受到限制。多維數(shù)據(jù)陣分析算法以密集矩陣計算為基礎,計算復雜度高,而目前的通用嵌入式處理系統(tǒng)計算能力有限,直接利用嵌入式處理器實現(xiàn)多維數(shù)據(jù)陣分析存在困難。這使多維數(shù)據(jù)陣分析技術的應用由于通常嵌入式系統(tǒng)計算能力的不足而受到限制。本文針對973預研課題“復雜體系解析多維數(shù)陣分析方法學及創(chuàng)新應用”中的應用研究問題,研究了多維數(shù)據(jù)陣分析專用嵌入式計算的軟件結(jié)構和核心算法的FPGA設計。具體研究工作如下: 1.通過研究多維數(shù)據(jù)陣分析的方法和流程,設計了應用于復雜體系解析多維數(shù)據(jù)陣分析數(shù)據(jù)處理的專用嵌入式計算結(jié)構,并通過分析多維數(shù)據(jù)陣分析算法的數(shù)據(jù)流和運算特點,以及FPGA在嵌入式計算上的優(yōu)勢,提出了應用FPGA技術實現(xiàn)核心算法模塊的方法,設計了核心計算模塊基于FPGA的系統(tǒng)結(jié)構,為多維數(shù)據(jù)陣分析專用計算設備和便攜分析儀器設備的研發(fā)提供底層計算技術支持。 2.針對多維數(shù)據(jù)陣分析算法中廣泛使用的平行因子算法,研究了算法在FPGA上實現(xiàn)的一些關鍵技術,解決了算法的并行化重新描述、算法的浮點模型到定點模型轉(zhuǎn)換、變量存儲類型選擇和矩陣求逆部件根據(jù)多維數(shù)據(jù)陣計算特點的約束設計等問題。通過AccelDSP的研發(fā)流程,完成了平行因子算法模塊的FPGA實現(xiàn)。 3.在Xilinx AccelDSP的FPGA設計平臺上,設計了核心計算模塊的驗證結(jié)構,完成了平行因子算法模塊FPGA實現(xiàn)的仿真驗證,比較了該算法在FPGA平臺上的實現(xiàn)效率和在通用計算設備上的實現(xiàn)效率。結(jié)果表明使用FPGA實現(xiàn)多維數(shù)據(jù)陣分析算法能充分利用硬件計算的優(yōu)勢,充分開發(fā)出算法中的內(nèi)在并行性,使算法得到更高的計算效率。結(jié)果也表明,在嵌入式環(huán)境中利用FPGA實現(xiàn)多維數(shù)據(jù)陣分析是可行的。 論文的研究工作對促進嵌入式系統(tǒng)在分析科學領域的應用,促進復雜體系解析多維數(shù)陣分析方法的應用和推廣,提高分析儀器的智能化、分析方法和流程的自動化有著積極的作用。
【學位授予單位】:湖南大學
【學位級別】:碩士
【學位授予年份】:2009
【分類號】:TP368.12
【圖文】:
復雜體系解析多維數(shù)據(jù)陣分析的嵌入式計算技術研究首先,課題就典型的平行因子算法核心部件進行時間分析,得到如下圖3.1所示的六次調(diào)用平行因子算法的時間分布:廖垂鹿棘都蠢疆奎如編羹暮寒夔裹如自念黑豁黯)群i黔耀默:黔卿朋舫Ac*.ml匆處業(yè)業(yè)進迪業(yè)進血“四理通四叢({蕎茹動--------一回 showparem伯nctions曰 Showbu,丫line; Showehildfunetions回show陣 untresutts曰show麗一 eeoverage回Show怕nction!istingpare內(nèi)(ealling伯nctions)F,.麗啞‘沂叻。儷TyPe里旦塑g如到到旦二皿里iM-允nCtionCel場Lin二卜 er.themo.dme,甘a.即ellt嘛N喻ber知山4D互CT3.立n,tCT3】牛C日l!S1加856IJI巧61加匿611帕石后131巧6、:。ta.石m。!%二me29135孰}石 mePlof率________).CT3二CTZ宮CTI牛 2.2日〕s一事板硫,日.3%二XI砍(:,:,k卜力儀f:
Profile的分析無法體現(xiàn)出這一點。通過算法的C/C++語言的實現(xiàn),我們可以看到算法內(nèi)部的更多細節(jié),并可以使用 IBMRationalQuantify對它們進行分析。下面圖3.3是 IBMRatinnalQuantify對平行因子算法C/c++實現(xiàn)中的函數(shù)調(diào)用路徑分析輸出圖。.回~::!‘卜\\,、、me即心Py\、new\~::oet‘COIUm…_夕delete洲尸州產(chǎn)/C肺勿iX:啟日枷即ROWS圖3.3算法分析的 IBMRationalQuantify函數(shù)調(diào)用路徑輸出圖在這個函數(shù)路徑圖中,每個節(jié)點表示一個調(diào)用函數(shù),節(jié)點之間的連線表示調(diào)用次數(shù)。所以,連線越密集,調(diào)用越頻繁。在系統(tǒng)初始化后,調(diào)用從主函數(shù)main開始。從上圖中我們可以看到,矩陣乘法算子的調(diào)用是最頻繁,而在這個C/C++實現(xiàn)中,矩陣乘法算子還頻繁地調(diào)用了矩陣的取數(shù)據(jù)函數(shù)GetElement。同時,從圖中還可以看到其他的矩陣操作包括矩陣加法算子、減法算子和矩陣轉(zhuǎn)置等等,它們都頻繁地調(diào)用了矩陣的初始化和存儲訪問函數(shù)。對于算法實現(xiàn)的軟件來說
存儲訪問邏輯,因而成為專用算法優(yōu)化的一個突破點。下面 IBMRationalQuantify通過統(tǒng)計函數(shù)調(diào)用次數(shù),函數(shù)的訪問時間以及函數(shù)子代訪問時間而得出來的算法時間分布統(tǒng)計報表。圖3.4的報表截圖中 Ftime表示函數(shù)調(diào)用時間,它不包括函數(shù)內(nèi)部調(diào)用其他函數(shù)所使用的時間,而F十Dtime表示函數(shù)及其子代時間,即函數(shù)和函數(shù)內(nèi)部調(diào)用的子代函數(shù)所用時間的總和,顯然 F+Dtime值最大的是主函數(shù)main。下面這個報表按照 Ftime占總時間的比例為函數(shù)排序,從中可以看到,矩陣數(shù)據(jù)的存取函數(shù)GetElement和SetElement因為調(diào)用次數(shù)非常多,因此消耗的時間也很多,所以它們排在最頂端。這是顯然的,幾乎每一個對矩陣的操作都需要訪問矩陣數(shù)據(jù),所以幾乎每一個矩陣相關的函數(shù)都會來調(diào)用矩陣數(shù)據(jù)的存取函數(shù)。除了這些調(diào)用次數(shù)巨大的訪存函數(shù)之外,排在前列的還有矩陣乘法操作,這再一次說明了算法中矩陣乘法占用的時間比很大。曦的用瓜旅目.妞..系口口峨口耳IT氏6
本文編號:2760230
【學位授予單位】:湖南大學
【學位級別】:碩士
【學位授予年份】:2009
【分類號】:TP368.12
【圖文】:
復雜體系解析多維數(shù)據(jù)陣分析的嵌入式計算技術研究首先,課題就典型的平行因子算法核心部件進行時間分析,得到如下圖3.1所示的六次調(diào)用平行因子算法的時間分布:廖垂鹿棘都蠢疆奎如編羹暮寒夔裹如自念黑豁黯)群i黔耀默:黔卿朋舫Ac*.ml匆處業(yè)業(yè)進迪業(yè)進血“四理通四叢({蕎茹動--------一回 showparem伯nctions曰 Showbu,丫line; Showehildfunetions回show陣 untresutts曰show麗一 eeoverage回Show怕nction!istingpare內(nèi)(ealling伯nctions)F,.麗啞‘沂叻。儷TyPe里旦塑g如到到旦二皿里iM-允nCtionCel場Lin二卜 er.themo.dme,甘a.即ellt嘛N喻ber知山4D互CT3.立n,tCT3】牛C日l!S1加856IJI巧61加匿611帕石后131巧6、:。ta.石m。!%二me29135孰}石 mePlof率________).CT3二CTZ宮CTI牛 2.2日〕s一事板硫,日.3%二XI砍(:,:,k卜力儀f:
Profile的分析無法體現(xiàn)出這一點。通過算法的C/C++語言的實現(xiàn),我們可以看到算法內(nèi)部的更多細節(jié),并可以使用 IBMRationalQuantify對它們進行分析。下面圖3.3是 IBMRatinnalQuantify對平行因子算法C/c++實現(xiàn)中的函數(shù)調(diào)用路徑分析輸出圖。.回~::!‘卜\\,、、me即心Py\、new\~::oet‘COIUm…_夕delete洲尸州產(chǎn)/C肺勿iX:啟日枷即ROWS圖3.3算法分析的 IBMRationalQuantify函數(shù)調(diào)用路徑輸出圖在這個函數(shù)路徑圖中,每個節(jié)點表示一個調(diào)用函數(shù),節(jié)點之間的連線表示調(diào)用次數(shù)。所以,連線越密集,調(diào)用越頻繁。在系統(tǒng)初始化后,調(diào)用從主函數(shù)main開始。從上圖中我們可以看到,矩陣乘法算子的調(diào)用是最頻繁,而在這個C/C++實現(xiàn)中,矩陣乘法算子還頻繁地調(diào)用了矩陣的取數(shù)據(jù)函數(shù)GetElement。同時,從圖中還可以看到其他的矩陣操作包括矩陣加法算子、減法算子和矩陣轉(zhuǎn)置等等,它們都頻繁地調(diào)用了矩陣的初始化和存儲訪問函數(shù)。對于算法實現(xiàn)的軟件來說
存儲訪問邏輯,因而成為專用算法優(yōu)化的一個突破點。下面 IBMRationalQuantify通過統(tǒng)計函數(shù)調(diào)用次數(shù),函數(shù)的訪問時間以及函數(shù)子代訪問時間而得出來的算法時間分布統(tǒng)計報表。圖3.4的報表截圖中 Ftime表示函數(shù)調(diào)用時間,它不包括函數(shù)內(nèi)部調(diào)用其他函數(shù)所使用的時間,而F十Dtime表示函數(shù)及其子代時間,即函數(shù)和函數(shù)內(nèi)部調(diào)用的子代函數(shù)所用時間的總和,顯然 F+Dtime值最大的是主函數(shù)main。下面這個報表按照 Ftime占總時間的比例為函數(shù)排序,從中可以看到,矩陣數(shù)據(jù)的存取函數(shù)GetElement和SetElement因為調(diào)用次數(shù)非常多,因此消耗的時間也很多,所以它們排在最頂端。這是顯然的,幾乎每一個對矩陣的操作都需要訪問矩陣數(shù)據(jù),所以幾乎每一個矩陣相關的函數(shù)都會來調(diào)用矩陣數(shù)據(jù)的存取函數(shù)。除了這些調(diào)用次數(shù)巨大的訪存函數(shù)之外,排在前列的還有矩陣乘法操作,這再一次說明了算法中矩陣乘法占用的時間比很大。曦的用瓜旅目.妞..系口口峨口耳IT氏6
【引證文獻】
相關博士學位論文 前1條
1 劉彥;異構多核片上系統(tǒng)的任務調(diào)度及應用研究[D];湖南大學;2009年
相關碩士學位論文 前1條
1 田崢;運動目標實時檢測算法的研究及其嵌入式應用[D];湖南大學;2010年
本文編號:2760230
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/2760230.html
最近更新
教材專著