「隨著科技的進步,問題的處理規模逐漸增大且精度要求日益提高。受計算能力所限,超大規模線性方程組的求解往往成為工程數值計算過程中的一大瓶頸。浪潮高性能計算應用研發團隊基於CPU+MIC異構平臺開發的超大規模線性方程組高性能求解系統,可在短短幾分鐘內完成億階規模矩陣的求解,這一成果對科學研究、工程應用以及自主可控國產CAE軟體的開發都有重要意義!」 對於與浪潮聯合開發的億階線性方程組MIC加速方案,太原理工大學博士生導師,中國計算數學學會常務理事、副秘書長李明給出了上述評價。
「毫不誇張的講,大部分科學與工程問題都要歸結為一個線性方程組的求解問題。」李明教授一開頭說道。他介紹說,線性方程組的求解問題是一個十分古老的問題,早在中國古代數學專著《九章算術》第八章就詳細記載了一次線性方程組的求解方法。時隔數千年的今天,線性方程組求解仍是眾多科學與工程領域重點研究的課題之一。
超大規模線性方程組求解難
實際上,數學物理模型的求解是眾多工程生產與科研領域必不可少的工作之一,如機械製造、材料加工、航空航天、汽車、土木建築、國防軍工、船舶、鐵道、石化、能源、科學研究等。快速、精確地求解線性方程組可以很大程度地提高生產、研究效率。經過半個多世紀眾多專家的不斷探索,目前有關的方法和理論已相對比較成熟,產生了一批比較漂亮實用的算法。然而,隨著科技的進步,所求解問題規模的增大,模型結構越來越複雜且對計算精度的要求日益提高,這也使得線性方程組的規模急劇增加。
近幾年,隨著計算機集群系統的發展,處理核心數量的急劇增加,計算能力的大大提高,使超大規模線性方程組的求解重現希望。國內高性能計算發展雖然勢頭兇猛,然而,不可否認的是高性能軟體及應用方面仍有很大的提升空間。成熟的超大規模線性方程組的高性能求解工具更是鳳毛麟角。
正是由於此類工具非常重要且稀缺,不得不將大量的數據與信息提供到國外有償計算。且不論高昂的花費,大量的數據信息掌握在外人的手裡,對企業和科研機構存在著很大的信息安全隱患,甚至危害國家的安全。因此,開發自主可控的高性能計算軟體意義重大!
新方法結合新技術突破億階
浪潮作為國內高性能計算產品和技術領先廠商,在MIC技術研究與應用開發方面,一直處於國內領先的地位。浪潮高性能計算應用開發團隊與太原理工大學密切配合,基於CPU+MIC異構計算平臺,成功完成了億階以上超大規模線性方程組高性能求解系統,並在實際用例的測試中出色完成求解任務。
整個開發工作,工程師們經歷了目標制定、算法篩選與調整、串行設計、MPI並行設計、MIC移植及優化等一系列的考驗,特別是算法的選取於優化更是整個開發工作的重中之重。一般來說,求解線性方程組的傳統算法有直接法和迭代算法,浪潮工程師在經過對矩陣特性的分析並參閱了大量材料後,從眾多的算法中挑選出最適合的一種Krylov子空間算法。但是Krylov子空間算法的一大特點就是不具有良好的天然可並行性,大量的MPI集合通信容易造成擴展瓶頸,而關於如何解決Krylov子空間方法集合通信量大的有效資料少之又少。在這樣的困局下,浪潮工程師們密切跟蹤相關研究的最新進展並根據自己的認識對標準的算法結構作了一定的調整,最後採用通信與計算相互隱藏的異步運作模式成功將大部分的進程集合通信隱藏,從而克服的研發道路上最大的一塊絆腳石。
超大規模線性方程組高性能求解系統具有以下三大特色:
1. 適用範圍廣
高性能求解系統採用了被July稱為二十世紀最偉大10大算法之一的Krylov子空間算法,也是少數幾個適用於超大規模線性方程組求解的算法之一。這決定了高性能求解系統不僅可求解經有限元方法推導出的剛度矩陣對稱正定(SPD)的線性方程組,同時也可求解係數矩陣非對稱的線性方程組。因此,無論對於科研還是實際應用中係數矩陣正定的線性方程組原則上都可求解,且對於矩陣結構無特殊要求。
2. 計算效能出色
高性能求解系統基於MPI+OpenMP+MIC架構開發的。整個系統對硬體資源的利用效率很高,達到了70%以上,充分利用了CPU的邏輯、控制能力以及MIC眾核處理設備強大的計算能力。
3. 首次實現Krylov子空間算法的MIC加速
由於系統開採用了一種Krylov子空間算法,大量的全局集合通信不可避免,使得算法的天然並行性不是十分良好,這是由算法自身決定的。在不改變算法本質思想的前提下,對算法結構做了調整,並成功隱藏了集合通信時間。首次將此算法成功移植到CPU+MIC異構集群平臺上。
超大規模線性方程組高性能求解系統開發完成後,太原理工大學工程數值計算團隊在 「局部徑向基函數配點法(Local RBSs colloction methods)求解高維偏微分方程」課題中使用該軟體,僅利用3個計算節點(每個節點內配置2*IntelXeonE5-2650v2+2*IntelXeon Phi 7120P),在20秒之內完成了7維問題線性方程組的求解,4分鐘之內完成了8維問題線性方程組(億階規模)的求解,而原有的求解工具最多只能完成6維問題的求解。這一突破大大加速了太原理工大學工程數值計算團隊對更高維度未知世界探索的腳步。
據了解,國內在大規模線型方程組高性能求解系統的開發中一般求解規模在百萬階量級,對於億階規模矩陣的求解鮮有嘗試。同時,國內外目前在大規模線型方程組高性能求解系統中一般採用的是CPU+GPU異構架構,本次浪潮是將大規模線型方程組算法首次成功移植到CPU+MIC異構集群平臺上。