《圖形處理器上的領域專用程式語言設計研究》是依託浙江大學,由侯啟明擔任項目負責人的青年科學基金項目。
基本介紹
- 中文名:圖形處理器上的領域專用程式語言設計研究
- 依託單位:浙江大學
- 項目負責人:侯啟明
- 項目類別:青年科學基金項目
項目摘要,結題摘要,
項目摘要
近年來,圖形處理器(GPU)的運算能力飛速發展,已大大超過同等價格的CPU。但是,儘管現代GPU通用程式語言已經得到了長足的發展,編寫GPU程式仍然需要具備GPU並行算法設計能力。這一點阻礙了GPU在其他領域的進一步套用。因此,GPU上的領域專用程式語言(DSL)成為了近年來一個重要的研究方向。和通用語言相比,DSL更緊密地結合領域本身的特點,以提供專用的語言結構和代碼最佳化。但GPU上DSL的編譯技術仍然是一個有待探索的領域。本項目的目標是研發一套核心DSL研發平台以及相應的最佳化編譯器,並據此對若干個領域系統性地研發支持自動GPU並行化的DSL。除基礎平台的研發外,本項目擬在程式建模、矩陣計算、物理計算等領域分別展開DSL的設計研究。本項目擬解決的關鍵科學問題是設計所有DSL的統一語法,提出適當的編譯器數據結構,深入研究領域特性並設計合適的GPU並行化方法。
結題摘要
本課題目標是研發一套核心領域專用程式語言(Domain Specific Language, DSL) 研發平台以及相應的最佳化編譯器,並據此對若干領域系統性地研發支持自動GPU 並行化的DSL。除基礎平台的研發外,課題在程式建模、物理計算、運動特效繪製等領域分別展開了DSL的設計研究。 立項以來,課題按照任務書計畫,在GPU的DSL基礎平台研發,面向程式建模、物理仿真領域、運動特效繪製領域的DSL設計和實現方面開展了研究,並取得了一定成果。三年來,課題組成員在包括ACM SIGGRAPH、Pacific Graphics等領域內高水平學術會議上發表文章,並被ACM Transactions on Graphics、IEEE Transactions on Visualization and Computer Graphics、Computer Graphics Forum等領域內具有重要影響的國際期刊所收錄。共發表論文3篇,均被SCI收錄。獲得國家發明專利1項。 在GPU上程式建模方面,我們針對記憶體管理這一核心問題的兩個重要挑戰開展了研究,針對任意位置上的高效並行記憶體分配問題,我們提出了一個基於編譯器實現的兩遍執行方法;針對高效而安全的垃圾收集問題,我們提出了將基於集合壓縮的垃圾回收器直接暴露給程式設計師的方法,這一回收器在建模過程中需要以固定間隔顯式地調用。在物理計算方面,我們提出了直接對抽象語法樹進行的偏導數符號求解方法,和通用符號代數符號計算系統相比,我們的方法能夠更好地結合原始的數值實現;和運行時方法相比,我們能通過編譯消除假依賴關係,避免計算的浪費。在運動特效繪製方面,我們針對GPU上實現該DSL面臨的並行度和GPU存儲容量之間的矛盾提出了一種新的並行方法,使得我們的DSL能夠充分利用GPU的並行計算能力,和對應的CPU實現相比提高計算效率一個數量級。