《基於多塊結構格線的並行自適應算法研究》是依託北京套用物理與計算數學研究所,由郭紅擔任項目負責人的面上項目。
基本介紹
- 中文名:基於多塊結構格線的並行自適應算法研究
- 項目類別:面上項目
- 項目負責人:郭紅
- 依託單位:北京套用物理與計算數學研究所
項目摘要,結題摘要,
項目摘要
在採用多塊結構格線的大規模數值模擬中,存在局部計算區域精細模擬需求與全局格線加密造成計算資源浪費之間的矛盾。多塊結構格線大規模並行自適應算法是解決此矛盾的有效方法,但至今未得到廣泛套用。其根本原因在於:不同格線塊的索引空間不統一,使得針對多塊情形構建統一的塊間通信模板異常困難。文獻顯示,現有研究工作均未能很好地解決這一困難,由此造成算法實現複雜,處理器核同步時間過長,無法擴展至上千處理器核。此外,在非結構拼接處難以實現高精度插值算法,也影響了其套用。 針對上述困難,本項目針對塊間關係描述算法和層間塊間通信調度策略均提出了新的思路,旨在構建統一的塊間通信模板,並將設計新的負載平衡策略,以解決該算法難以擴展的問題。同時還將研究插值運算元,在不影響性能的基礎上,保證算法精度。最後集成上述工作,實現並最佳化面向上千個處理器核的多塊結構格線並行自適應軟體,解決該算法的實用化問題,支撐相關套用領域的發展。
結題摘要
多塊結構格線並行自適應計算是解決局部計算區域精細模擬需求與全局格線加密造成計算資源浪費之間矛盾的有效方法。多塊結構格線大規模並行自適應計算面臨兩個難題:其一,格線塊索引空間不統一使得針對多塊情形構建統一的通信模板異常困難,導致通信性能差;其二,多塊結構格線並行自適應計算實現複雜,限制了其套用的發展。 為解決上述困難,本項目開展了下列研究工作: 第一,分析多塊結構格線並行自適應算法,找到該算法的主要性能瓶頸為建立通信關係和創建通信調度。基於分析結果,對算法中的格線層內通信和格線層間通信分別最佳化。格線層內通信算法最佳化包括建立塊間關係統一描述算法、格線塊間統一的通信調度策略。格線層間通信算法最佳化包括格線層間映射算法、格線層間的統一通信調度策略。測試表明,最佳化後的格線層內通信算法性能與單塊結構格線一致,格線層間通信算法並行性能可以擴展到上萬核。 第二,建立適合多物理耦合計算的負載平衡算法。算法首先將負載特徵分為計算量的空間分布、時間分布、負載相三類,其次基於負載特徵建立六類負載模型庫,最後建立多目標最佳化剖分與Pareto最優解算法,極小化不同物理過程間通信量。 第三,設計實現基於格線片插值運算元庫。插值運算元庫封裝成熟的插值運算元,同時提供接口支撐用戶基於格線片自行構造個性化插值運算元。 第四,集成上述研究成果,採用層次化和模組化的方法開發高效的多塊結構格線並行自適應軟體。軟體封裝了數據結構、負載平衡、數據通信等並行支撐,以及格線自適應、時間積分等數值計算。通過該軟體,用戶無需關心並行算法,只需提供程式串列數值算法和物理邊界,通過幾個接口即可完成多塊結構格線並行自適應程式的開發。 最後,將該軟體套用到動力學並行自適應模擬中。測試表明,該程式在2048個處理器核上的並行效率達到30%左右,可以擴展至數千核。採用兩層自適應格線加密的計算時間,普遍比採用單層格線減少45%以上。 本項目的研究工作解決了多塊結構格線大規模並行自適應計算面臨兩個難題。