[發明專利]網格應用程序在眾核體系結構上的性能優化框架及方法有效
| 申請號: | 201810470400.7 | 申請日: | 2018-05-16 |
| 公開(公告)號: | CN108710488B | 公開(公告)日: | 2022-04-05 |
| 發明(設計)人: | 張治國;劉謹喻;蘇志榮 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06F8/20 | 分類號: | G06F8/20;G06F8/41 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 林麗明 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 網格 應用程序 體系結構 性能 優化 框架 方法 | ||
本發明提供一種網格應用程序在眾核體系結構上的性能優化框架,包括應用領域描述層、編程模型層、硬件體系結構層、轉換器;(1)應用領域描述層的用戶使用應用領域描述,在只考慮領域編程的情況下,寫出解決領域問題的程序;(2)轉換器將用戶程序進行轉換,轉換為基于編程環境組合的編程模型層的代碼;(3)編程模型層的代碼使用對應編程環境的編譯器進行編譯,并與對應動態庫進行鏈接,最后生成硬件體系結構層可運行的代碼;(4)通過性能模型與效率模型之間的映射關系,對轉換后的編程模型層的程序手動進行優化調整,甚至通過轉換器,進行自動的迭代優化調整。
技術領域
本發明涉及計算機技術領域,更具體地,涉及一種網格應用程序在眾核體系結構上的性能優化框架及方法。
背景技術
基于網格(mesh)的大規模數值模擬計算在現代科學發展中發揮著越來越重要的作用,例如航空航天飛行器的空氣動力學研究,艦船螺旋槳空化研巧等。在這種計算中,求解外形復雜,需要的求解精度高,網格規模巨大可以達到上億甚至百億量級,這導致了該應用領域需要極強的計算能力。而現在日益成熟的眾核體系結構是典型的大規模并行化運算單元。要很好發揮其并行運算能力,需要面向這種體系結構的性能優化應用編程,但這對應用領域編程人員及計算系統的要求很高,使編程很難真正提高效率。
斯坦福大學的Liszt針對求解非結構化網格偏微分方程(PDE)的問題,實現了一個領域特定語言(DSL)。該語言是嵌入Scala中的,Liszt在Scala編譯器中加入了一個自己的翻譯器。用戶寫出的一個Liszt應用程序會被Scala編譯器和翻譯器共同處理,生成一個中間層的代碼。然后這個中間層的代碼再由Liszt編譯器編譯,為多個平臺生成本地代碼。它支持的平臺包括GPU,多核CPU以及集群。
牛津大學實現了一個自動轉換框架OP2。它給出了基于mesh結構的CFD應用領域的描述,并能將使用描述寫出的程序自動轉換為不同環境的可運行代碼。轉換支持的環境包括OpenMP,MPI,CUDA。OP2針對C語言,實現了若干的庫函數,并把庫函數的API,以及使用規范提供給用戶。用戶使用它的描述寫出程序后,OP2的轉換器會把用戶的源代碼進行轉換,針對需要映射的不同運行環境生成不同的改動后的代碼。接著這些代碼會使用對應體系結構傳統的編譯器(如gcc,nvcc)編譯,以及與對應的庫鏈接(如OpenMP,CUDA,MPI等),從而使得程序可以在不同的體系結構上運行。
上述的兩種技術雖然實現了某些特定運行環境上的轉換,但是轉換后的目標程序針對的只是通用的運行環境,例如CUDA,OpenMP。通過將程序向這些編程環境的轉換,使得程序可以在某些眾核體系結構上運行,達到了隔離應用領域編程的目的,但它們至少在下面兩個方面缺乏深入的考慮,在實際具體應用中很難做到良好的性能優化。
在轉換過程中沒有討論如何針對具體的目標體系結構上的結構特點進行進一步的性能優化。例如當目標體系結構是眾核系統時,這些轉換方式就沒有專門考慮向量化處理單元寬度、緩沖的大小、存儲器的延遲及帶寬、硬件線程的數量等因素。這種面向編程環境的轉換使得程序雖然能運行于眾核體系結構上,但當實際運行于某個具體的眾核體系結構上時,不能很好地適配該體系結構。例如轉換后的程序包含的向量化運算中,會一次向量化處理4個64bit的雙精度浮點數。當其運行于某個向量化處理單元寬度是256bit的眾核體系結構上時,程序能充分利用向量化單元,但當其運行于某個向量化處理單元寬度是512bit的眾核體系結構上時,就沒有充分利用其向量化單元,使得效率提升沒有做到最優。
第二,它們缺少對性能優化的整體性考慮,缺少模型化的指導。在它們轉換的中間層是編程環境,沒有對程序運行時的參數(例如調用線程的數量,線程間的數據傳輸量等)進行描述的性能模型。而在眾核體系結構方面也沒有描述其系統參數的效率模型。這使得它們對轉換后的程序很難再高效地針對硬件體系結構做進一步的優化。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810470400.7/2.html,轉載請聲明來源鉆瓜專利網。





