中國突破億階線性方程組高性能求解

2021-01-09 環球網

「隨著科技的進步,問題的處理規模逐漸增大且精度要求日益提高。受計算能力所限,超大規模線性方程組的求解往往成為工程數值計算過程中的一大瓶頸。浪潮高性能計算應用研發團隊基於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異構集群平臺上。

相關焦點

  • 齊次線性方程組求解
    求解齊次線性方程組是線性代數的重要內容,也是線性代數的核心問題之一,要求同學們必需掌握。
  • 基於MATLAB求解三類方程組
    基於MATLAB求解三類方程組第1類 線性方程組線性方程組是指各個方程變量的最高次冪為1次的方程組。線性方程組主要有定解方程組、不定解方程組、超定方程組和奇異方程組。線性方程組的通解為齊次線性方程組的基礎解系加上線性方程組的一個特解。
  • 2019考研數學:淺析高斯消元法如何求解線性方程組
    線性方程組是線性代數的核心考點之一,命題率比較高。線性方程組求解的基本方法就是高斯消元法。今天我們就給大家簡單講解如何利用高斯消元法求解線性方程組的解。首先,我們先來了解一下線性方程組和高斯消元法的相關概念。
  • 高等代數|3.2線性方程組解的反問題研究
    摘要:本節我們主要介紹線性方程組的反問題,我們通常在解決線性方程組的問題時,一般都是根據係數矩陣或者增廣矩陣求解或者討論參數進行求解,但是如果告訴你解向量,那該如何去確定通解呢?帶著這個問題,我們來探究下這個問題.
  • 線性方程組練習題
    線性代數的一個核心問題就是求解線性方程組:線性方程組分為兩類,齊次線性方程組,非齊次線性方程組。
  • 齊次線性方程組的基礎解系的簡便算法
    線性方程組的求解是線性代數中的基本技能,而齊次線性方程組的基礎解系的求法又是基礎。本文給出一個計算齊次線性方程組的基礎解系的公式,從而簡化計算過程。01 符號說明 的基礎解系,其中的基礎解系,其中得到齊次方程組的解矩陣為
  • 2016考研數學之解線性方程組的方法
    線性方程組的三種形式包括原始形式、矩陣形式、向量形式,高斯消元法是最基礎和最直接的求解線性方程組的方法,其中涉及到三種對方程的同解變換:(1)把某個方程的k倍加到另外一個方程上去;(2)交換某兩個方程的位置;(3)用某個常數k乘以某個方程。我們把這三種變換統稱為線性方程組的初等變換。
  • 量子計算機可解方程組
    量子計算機,可解線性方程組?這已不是神話。中科大6月8日發布消息,該校科學家日前在國際上首次成功實現用量子計算機求解線性方程組的實驗。  何為線性方程組?數學家認為,各個方程關於未知量均為一次的方程組,如2元1次方程組,即為線性方程組。對線性方程組的研究,中國比歐洲至少早1500年。如今,線性方程組已廣泛應用於數值計算、信號處理、經濟學、計算機科學等科學、工程領域。與日常生活緊密相關的氣象預報,就需要建立並求解百萬變量的線性方程組,來實現對溫度、氣壓、溼度等參數的模擬和預測。
  • 機器學習筆記一 線性方程組和矩陣
    1線性方程組和矩陣1.1方程組和矩陣的初等行變換1. Ri <===> Rj2.1.3 線性方程組的基本定理L是線性方程組,A是L的係數矩陣,(A,β)是L的增廣矩陣,則有如下結論:1. 方程L有解的充分必要條件是r(A)=r(A,β);2.
  • 線性方程組(矩陣)的直觀幾何圖形是什麼?
    求解線性方程組是我們經常遇到的問題。當我們將線性方程組表示矩陣的形式Ax=b, 該方程組就蘊藏著兩張圖像:行圖和列圖。這兩張圖能提供給我們求解方程組的兩種視角。我們首先將Ax=b劃分為兩類問題:1、已知Ax, 如何理解b;2、已知A和b,如何求解x。
  • 初等代數定律詳解之四.例子(線性方程組)
    在線性方程組內,如兩個變量的方程組內有兩個方程的話,通常可以找出可同時滿足兩個方程的兩個變量。下面為線性方程組的一個例子,有兩個求解的方法:求解的第一種方法將第2個等式的左右項各乘以2,再將兩式相加,因為已知x = 2,於是就可以由兩式中的任意一個推斷出y = 3。所以這個問題的完整解為注意:這並不是解這類特殊情況的唯一方法;y也可以在x之前求得。
  • MATLAB入門之MATLAB求線性方程組的解
    求解多元一次線性方程組的解,可以轉化為求解矩陣解的問題。例如:求下列線性方程組的解解:此方程可列成兩組不同的矩陣方程形式。一是,設X=[x1;x2;x3;x4]為列向量,矩陣A= [1 4 –7 6;0 2 1 1;0 1 1 3;1 0 1 –1],B=[0;-8;-2;1]為列向量,則方程形式為AX=B,其求解過程用左除:由此可見,A\B 的確與inv(A)*B 相等。
  • 一階線性微分方程
    做數學題有三種難:有一種難叫我想不起來了,有一種難叫我知道不會算,還沒有一種難就是我壓根不知道;一階線性微分方程就是最後一種,是不是很多小夥伴有這種感覺!別激動這個玩意,屬於大學微積分的知識,數學招教考試中會考嗎?菏澤的小夥伴要注意嘍!趕快學起來吧!一階線性線性微分方程:形如
  • Scipy入門(求解方程組2)
    一.非線性方程組     在前面我們討論的大多數是關於未知數的線性方程組
  • 2020考研數學線代核心考點及常考題型:線性方程組
    2020考研數學線代核心考點及常考題型:線性方程組 中公考研小編整理分享性代數的考察重點,還沒有掌握的同學要抓緊看,衝刺複習時間有限,大家要重點攻克難點要點,不明白的知識點要強化訓練。2020考研線代核心考點及常考題型:線性方程組,一起來看。
  • 直接線性變換法(DLT)的求解
    #視覺slam與三維重建#直接線性變換法的提出見上節估計——2D射影變換,現在我們討論其求解方法1.超定解如果給出的點對應xi<->x'i多於四組,則由方程4.3導出的方程組Ah=0是超定的,如果點的位置是精確的,那麼A的秩仍為8並且有唯一零空間,如果圖像測量含有噪聲,那麼我們只能求方程的近似解,即:在定義一個適當代價函數的基礎上,我們需要求解使代價函數取最小值時所對應的h如何定義代價函數 ?
  • 考研數學考前預測重點題型之齊次線性方程組的基礎解系與通解
    線性方程組是線性代數的核心部分,是線性代數重要的基礎理論之一,這部分主要討論了方程組的解的存在性,定義了齊次線性方程組的基礎解系,給出了解的性質和通解的結構和求解方法.在考試中肯定每年必考,它會以客觀題的方式進行考查,也會以解答題的方式進行考查.
  • 新角度闡述極大線性無關組
    極大線性無關組是n維向量中一個非常重要的概念,但其實極大線性無關組也是源於求解線性方程組。本文從求解線性方程組的角度探討極大線性無關組。1.一個方程組實例當給定一個非齊次線性方程組時,如何求解其所有的可行解呢?
  • 2016考研數學線代要點:線性方程組三大問題討論
    線性代數可以看作是在研究線性方程組這一對象的過程中建立起來的學科。可見其重要性,是複習的重點,下面新東方網考研頻道就詳細和考生探討一下關於線性方程組的三大問題,解決問題,把握要點,線代科目也就攻克了。
  • 打靶法求解兩點邊值問題簡介及Matlab程序
    當f關於y和y'是線性時,上式為線性兩點邊值問題,可表示為:因此,邊值問題變成求合適的sk,使上述方程組初值問題的解滿足原邊值問題的右端邊界條件y(b)=β,從而得到邊值問題的解。這樣,把一個兩點邊值問題的數值解問題轉化為一階方程組初值問題的數值解問題。方程組初值問題的所有數值方法在這裡都可以使用。問題的關鍵是如何去找合適的初始斜率的試探值sk。對給定的sk,設初值問題的解為y(x,sk),它是sk的隱函數。假設y(x,sk)隨sk是連續變化的,記為y(b,s)-β=0,於是我們要找的sk就是方程的根。可以用迭代法求上述方程的根。