亚博游戏

首都科學講堂第681期《神機妙算: 超級計算機都在算什么》

信息來源:亚博游戏

  2021年2月(yue)6日,首(shou)都(dou)科學講堂線上(shang)開(kai)講,本(ben)次(ci)首(shou)都(dou)科學講堂邀請了北京應用物理與計(ji)算數學研究(jiu)所研究(jiu)員(yuan)、高性能計(ji)算中心主任徐小文(wen) ,為大(da)家帶來題為《神(shen)機妙算: 超級(ji)計(ji)算機都(dou)在算什么》的精(jing)彩講座。

  

  神機妙算: 超級計算機都在算什么

  和(he)我們使用(yong)的(de)(de)普(pu)通計算(suan)機(ji)不(bu)同(tong),超級(ji)(ji)計算(suan)機(ji)在(zai)科技創(chuang)新和(he)產業發展(zhan)中,起著(zhu)“頂天立地”的(de)(de)支撐(cheng)作(zuo)用(yong)。在(zai)大(da)飛機(ji)與航天器設計、新材料新能源、藥物研發、基因工程、氣候(hou)氣象等領(ling)域,超級(ji)(ji)計算(suan)機(ji)更是已經(jing)成為了創(chuang)新研究(jiu)的(de)(de)必(bi)備(bei)工具。目前,全球最快超級(ji)(ji)計算(suan)機(ji)的(de)(de)運算(suan)速度已達到每秒(miao)53億(yi)億(yi)次(ci)。過去(qu)10年,我國(guo)(guo)超級(ji)(ji)計算(suan)機(ji)“天河二號(hao)”和(he)“神威·太湖之光”曾連續5年排名世界第一。在(zai)世界超算(suan)TOP500最新排名中,我國(guo)(guo)超級(ji)(ji)計算(suan)機(ji)臺數占43%。

  第一講 神機篇: 認識超級計算機

  每個人每天基本上都在用計算(suan)機(ji),但對于(yu)超級計算(suan)機(ji),你可(ke)(ke)能(neng)聽過(guo),卻不一(yi)定用過(guo),甚至都可(ke)(ke)能(neng)沒有見(jian)過(guo)真實(shi)的(de)它。那(nei)么,超級計算(suan)機(ji)到底長(chang)什么樣,名(ming)為“超級”的(de)它,真的(de)名(ming)副其(qi)實(shi)嗎?

  國際上(shang)專門給計算(suan)(suan)(suan)(suan)機(ji)(ji)排名的(de)(de)TOP500組織(zhi),每(mei)年都會(hui)選出全(quan)球最快的(de)(de)500臺超(chao)(chao)級計算(suan)(suan)(suan)(suan)機(ji)(ji)。1993年至今(jin),以一年兩(liang)期的(de)(de)頻率(lv),已發(fa)布(bu)了56期排行榜。在(zai)2020年11月發(fa)布(bu)的(de)(de)最新(xin)一期榜單上(shang),日(ri)本富岳計算(suan)(suan)(suan)(suan)機(ji)(ji)被評為全(quan)球最快的(de)(de)超(chao)(chao)級計算(suan)(suan)(suan)(suan)機(ji)(ji)。計算(suan)(suan)(suan)(suan)機(ji)(ji)每(mei)秒能夠計算(suan)(suan)(suan)(suan)的(de)(de)浮點運算(suan)(suan)(suan)(suan)次數,一般用來衡量計算(suan)(suan)(suan)(suan)機(ji)(ji)的(de)(de)速(su)度,那么(me),“富岳”快到(dao)什么(me)程度?

  我們平時使用的(de)(de)(de)(de)筆記本電(dian)(dian)腦運算速度(du)大概是每秒100億次的(de)(de)(de)(de)浮點運算,“富岳(yue)”的(de)(de)(de)(de)運算速度(du)為50億億次的(de)(de)(de)(de)浮點運算,相差5000萬(wan)倍,差距非常(chang)大。超(chao)級(ji)計(ji)算機本質(zhi)上是一(yi)個并(bing)行計(ji)算機——是由(you)很多可以并(bing)行執行的(de)(de)(de)(de)處(chu)理單元組合在一(yi)起的(de)(de)(de)(de)。比(bi)如說“富岳(yue)”實際上包括(kuo)730萬(wan)個CPU核(he)(he),常(chang)用的(de)(de)(de)(de)筆記本電(dian)(dian)腦只(zhi)包括(kuo)幾個CPU核(he)(he)。

  超級計算(suan)機(ji)的造價和使用(yong)起來也(ye)都非(fei)常貴。“富岳(yue)”造價將近60億元人民幣(bi)。它(ta)的能(neng)耗也(ye)非(fei)常高,普通筆記本只消(xiao)耗30瓦(wa)左右的電力(li),“富岳(yue)”在(zai)全功率下,能(neng)耗高達30兆瓦(wa),相差了100萬(wan)倍。如果按照一(yi)塊錢一(yi)度電來計算(suan),“富岳(yue)”每(mei)年的電費就超過2億元人民幣(bi)。

  另外,超級計算(suan)機需(xu)要一個(ge)專門的(de)機房來(lai)擺放,就是我們常說的(de)超算(suan)中(zhong)心。超算(suan)中(zhong)心需(xu)要專門的(de)供(gong)電系統和輔助設備,建筑(zhu)的(de)體量一般都很大。

  中(zhong)國超(chao)算的(de)(de)發(fa)展(zhan)速度是非常快的(de)(de)。1983年(nian),首臺(tai)并行機(ji)“銀河-I”計算機(ji)在(zai)長(chang)沙研制成功,運算速度達到1億次每秒。而在(zai)過去十年(nian)內,TOP500全球排(pai)行第(di)一的(de)(de)機(ji)器共8臺(tai): 美國3臺(tai)、日本2臺(tai)、中(zhong)國3臺(tai)。其中(zhong),中(zhong)國有六(liu)年(nian)時(shi)間共11次排(pai)名世界(jie)第(di)一,而且近(jin)兩年(nian),進(jin)入TOP500的(de)(de)機(ji)器數(shu)量中(zhong)國也是最多的(de)(de)。

  目(mu)前(qian)我國最快(kuai)的兩臺(tai)超(chao)級(ji)(ji)計算(suan)機(ji),第(di)(di)一是(shi)“神威·太湖之光“,裝(zhuang)(zhuang)在國家超(chao)級(ji)(ji)計算(suan)無錫中心,運(yun)算(suan)速度(du)(du)接近11億億次每秒。第(di)(di)二(er)(er)是(shi)國家超(chao)級(ji)(ji)計算(suan)廣(guang)州中心的”天河二(er)(er)號(hao)“,運(yun)算(suan)速度(du)(du)達6億億次每秒。“神威·太湖之光“目(mu)前(qian)全球(qiu)排(pai)名第(di)(di)四,”天河二(er)(er)號(hao)“全球(qiu)排(pai)名第(di)(di)六。同(tong)時,過去十年,我國建(jian)了八個國家超(chao)級(ji)(ji)計算(suan)中心,裝(zhuang)(zhuang)載的都是(shi)全球(qiu)運(yun)算(suan)速度(du)(du)非(fei)常快(kuai)的機(ji)器,成為國家科(ke)技創新(xin)的一個新(xin)基建(jian)。

  下一個超級計(ji)算機(ji)的(de)里程碑(bei),也是目前各(ge)個國家競相(xiang)爭(zheng)奪的(de)制高(gao)點,是百億(yi)(yi)(yi)億(yi)(yi)(yi)次(ci)計(ji)算機(ji)(1018 次(ci)/秒,下稱“E級機(ji)“)。百億(yi)(yi)(yi)億(yi)(yi)(yi)次(ci)計(ji)算機(ji)什么時候能出現?

  2019年,有一個預測(ce)時(shi)間(jian)表(biao),推(tui)測(ce)第一臺百(bai)億億次(ci)計算機會在近兩(liang)年出(chu)現。但由于各種原因(yin),這個機器目前還沒有出(chu)來。

  在(zai)2016年,美(mei)國(guo)(guo)能源部和(he)美(mei)國(guo)(guo)國(guo)(guo)家核(he)安全局啟動了一個(ge)百億(yi)億(yi)次計(ji)算的(de)攻(gong)關計(ji)劃(hua),要求全面推(tui)進機器及應用、軟硬件的(de)協(xie)同研(yan)發(fa),來(lai)確(que)保當時預估在(zai)今年前(qian)后實現的(de)國(guo)(guo)家戰略安全的(de)百億(yi)億(yi)次計(ji)算。當然,目前(qian)來(lai)看,這個(ge)節(jie)點可能會再往后推(tui)。隨后,美(mei)國(guo)(guo)能源部在(zai)2019年又(you)簽(qian)訂(ding)了三臺E級(ji)機的(de)采購合同。特朗(lang)普在(zai)位的(de)時候,曾砍掉了很多科學領域的(de)預算,但始終未砍掉超(chao)級(ji)計(ji)算的(de)預算。

  我國對超級(ji)(ji)計算機(ji)的發展也非常重(zhong)視。2018年,我們(men)就(jiu)研制(zhi)了三臺E級(ji)(ji)計算的原型機(ji),皆基于國產(chan)處(chu)理器,但真正(zheng)的E級(ji)(ji)機(ji)什(shen)么時(shi)候出來,還(huan)存在不確(que)定性。

  E級機的(de)研發,存在著非常大的(de)挑戰,為什么?

  首先是能(neng)耗(hao)。日本“富岳“50億(yi)億(yi)次的(de)(de)計算,能(neng)耗(hao)已在30兆(zhao)瓦。如果按照(zhao)百億(yi)億(yi)次擴展(zhan),能(neng)耗(hao)很難控制在我們想要(yao)的(de)(de)40兆(zhao)瓦內。即使(shi)按照(zhao)40兆(zhao)瓦的(de)(de)能(neng)耗(hao)約束,造出來(lai)后,每年電費也近3億(yi)元(yuan)人民幣。

  其次是(shi)(shi)應(ying)用(yong)。機器造出后(hou),應(ying)用(yong)軟(ruan)(ruan)件能不能駕馭硬件也是(shi)(shi)一個很大的問題。“富(fu)岳“包含了730萬個CPU核(he),那么(me)(me)E級機肯定會超過1000萬、甚至數億個并行處理單元。應(ying)用(yong)軟(ruan)(ruan)件該如(ru)何去駕馭,使這么(me)(me)多(duo)的處理單元能同(tong)時高(gao)效(xiao)工作(zuo),這是(shi)(shi)一個非(fei)常大的挑戰。

  E級機(ji)是人類追求(qiu)計(ji)算(suan)能(neng)力方(fang)向上的一個(ge)里(li)程碑,各個(ge)國家都在為之(zhi)努力。美(mei)國能(neng)源(yuan)部還聯合(he)美(mei)國超級計(ji)算(suan)機(ji)公司Cray宣布把每年的10月18日定為美(mei)國的百億億次計(ji)算(suan)日。

  為(wei)(wei)什(shen)么是10月(yue)18日(ri)?因為(wei)(wei)百億(yi)億(yi)次計算(suan)是10的18次方。美國(guo)把10月(yue)18日(ri)作為(wei)(wei)一個(ge)(ge)節(jie)日(ri)來慶祝,也側面(mian)說(shuo)明(ming)它對追求百億(yi)億(yi)次計算(suan)的決心(xin)是非常大(da)的。但E級機到底(di)什(shen)么時(shi)候(hou)誕生,由哪(na)個(ge)(ge)國(guo)家先(xian)造(zao)出來,現在還(huan)存在著很大(da)的不確定(ding)性。  

  第二講 應用篇: 超級計算機在算什么

  超級計算(suan)(suan)機(ji)(ji)造價這么高,電費也這么貴(gui),造出來到底(di)有什么用呢?超級計算(suan)(suan)機(ji)(ji)平常都(dou)在算(suan)(suan)什么?

  讓我們(men)先看看世界上第一(yi)臺通用電子計算機,它叫ENIAC,1946年2月14日在(zai)美國的(de)賓夕法尼亞大(da)學(xue)研制成功,當(dang)時每秒的(de)運算速度是5000次,現在(zai)看起來是很(hen)慢的(de)。

  ENIAC是(shi)為(wei)了(le)二戰需(xu)(xu)要(yao)(yao)而制造的。戰爭時(shi)期設計新型炮(pao)彈(dan),需(xu)(xu)要(yao)(yao)計算炮(pao)彈(dan)軌跡,然后據此調整炮(pao)彈(dan)的威力。另(ling)外在歐洲戰場,它也被用于加密和解(jie)密工作。今年(nian)正好是(shi)第一(yi)(yi)臺通用電子計算機(ji)誕生(sheng)75周年(nian),是(shi)一(yi)(yi)個(ge)非常值得紀念的年(nian)份。

  我們(men)國家第一臺計算(suan)(suan)(suan)機103機,在1958年8月1日研制(zhi)成功(gong)。當時它(ta)每(mei)秒的運算(suan)(suan)(suan)速(su)度僅30次,非常慢。1959年的升級(ji)版本104機,運算(suan)(suan)(suan)速(su)度已達到每(mei)秒10000次。這些計算(suan)(suan)(suan)機也主(zhu)要用于(yu)國防(fang)尖端科技(ji)領域。

  實際上,超級計算(suan)(suan)自誕(dan)生始(shi),就(jiu)是為了(le)尖端(duan)研究(jiu)研制(zhi)的。它提供了(le)比普通計算(suan)(suan)機更為強(qiang)大的算(suan)(suan)力,加速了(le)作為科研計算(suan)(suan)手段的發展。不過最近(jin)十年,超級計算(suan)(suan)機與我們的日常(chang)生活聯系得也(ye)是越來越密切了(le)。

  讓我們先看看,世界上最快的這(zhe)三臺計(ji)算機在(zai)干(gan)什么。

  排行(xing)榜第三名(ming)是(shi)在美國(guo)能源部勞倫(lun)斯(si)利弗莫爾國(guo)家實驗室的Sierra,性能是(shi)每秒11億億次。這臺機器(qi)(qi)應(ying)用(yong)比較單一(yi),主要應(ying)用(yong)領域集中在國(guo)家安全方(fang)面,比如核武器(qi)(qi)的研制(zhi)、庫存武器(qi)(qi)的有效性、聚變能源的探索等。

  排(pai)在(zai)第(di)二(er)名的(de)機(ji)器是2018年部(bu)(bu)署在(zai)美國能源部(bu)(bu)橡(xiang)樹嶺國家(jia)實驗(yan)室的(de)Summit,性能是每秒20億億次。這(zhe)臺機(ji)器應用范圍比較廣(guang),包(bao)括天體(ti)物理、生(sheng)物能源、新材料制(zhi)造和(he)生(sheng)命科學等。

  第一名的機器(qi)就是(shi)日(ri)(ri)本的“富岳(yue)“。這臺機器(qi)實際上是(shi)2020年(nian)新(xin)部署(shu)的,安裝在日(ri)(ri)本理化(hua)研(yan)究所。這臺機器(qi)明確了(le)九大應用領域: 災害預測、氣象和環境、基因醫療、藥物(wu)開發、制造、新(xin)材(cai)料、新(xin)能(neng)源、能(neng)源儲(chu)藏、宇(yu)宙科學等。去年(nian)4月(yue),新(xin)冠(guan)肺炎疫情(qing)全(quan)球暴(bao)發的時(shi)候(hou),它也被應用于與新(xin)冠(guan)肺炎疫情(qing)相關(guan)的研(yan)究,比如新(xin)藥物(wu)的篩選和病毒傳(chuan)染模(mo)型的計算等方(fang)面。

  看完全世界(jie)最(zui)快的(de)三臺(tai)計(ji)(ji)算(suan)機(ji),下(xia)面看看我國的(de)超級計(ji)(ji)算(suan)機(ji)。據(ju)2020年中國高性能計(ji)(ji)算(suan)機(ji)性能TOP100數(shu)據(ju),我國超級計(ji)(ji)算(suan)機(ji)領(ling)域的(de)應(ying)用是非常廣泛(fan)的(de)。

  這些領域大(da)致可(ke)以分為兩類,一(yi)類是傳統的科(ke)學工(gong)程應用,比如(ru)能源、電力、工(gong)業(ye)制造、教育和科(ke)研。另外一(yi)類主(zhu)要是近幾年興起來的新型應用,比如(ru)云(yun)計算(suan)、大(da)數據(ju)、視頻(pin)制作(zuo)、動(dong)畫(hua)渲染,以及互聯網、人工(gong)智能。

  從(cong)這個(ge)榜單可(ke)以看出(chu)來,雖然(ran)普通人直(zhi)接(jie)用不到超級計算(suan),但實際上,超級計算(suan)與我們(men)日常生活的關(guan)系是(shi)越來越密切了。

  首先(xian),超(chao)級計(ji)算在工(gong)程(cheng)和工(gong)業設(she)計(ji)里(li),發揮著非(fei)常(chang)重要(yao)的(de)作(zuo)用。舉個(ge)(ge)例子(zi),湖南有座橋(qiao)叫做赤石大(da)橋(qiao),漂亮宏偉,而且有七(qi)個(ge)(ge)“世界第一(yi)“。這座橋(qiao)2014年設(she)計(ji)完工(gong),準備通車的(de)時候發生了火災,設(she)計(ji)單(dan)位(wei)就對(dui)它(ta)進(jin)行了修(xiu)復,修(xiu)復后(hou)就需要(yao)評估(gu)橋(qiao)梁(liang)的(de)安全性能。當(dang)時為了作(zuo)這個(ge)(ge)評估(gu),使(shi)用很多(duo)超(chao)級計(ji)算機進(jin)行了非(fei)常(chang)多(duo)的(de)計(ji)算,包括(kuo)采用了一(yi)些先(xian)進(jin)算法,確(que)認修(xiu)復后(hou)的(de)橋(qiao)梁(liang)強度(du)沒(mei)有損害,確(que)保2016年橋(qiao)梁(liang)順(shun)利通車。

  再看一(yi)個發(fa)(fa)(fa)(fa)動機(ji)的例子。發(fa)(fa)(fa)(fa)動機(ji)的設計(ji)是非(fei)常(chang)復雜的,研制(zhi)也非(fei)常(chang)困難(nan)。2016年(nian),我(wo)國專門成立了(le)中國航空(kong)發(fa)(fa)(fa)(fa)動機(ji)研究(jiu)院(yuan)。傳統發(fa)(fa)(fa)(fa)動機(ji)設計(ji)必須(xu)經(jing)(jing)過(guo)多(duo)次試(shi)(shi)驗(yan)(yan),研制(zhi)周期非(fei)常(chang)長(chang),大(da)概10-15年(nian),研究(jiu)經(jing)(jing)費50億美(mei)元。為了(le)造(zao)一(yi)臺(tai)(tai)發(fa)(fa)(fa)(fa)動機(ji),需要(yao)至少40-50臺(tai)(tai)實(shi)驗(yan)(yan)發(fa)(fa)(fa)(fa)動機(ji)。而(er)現(xian)在基(ji)于超級計(ji)算,已經(jing)(jing)大(da)大(da)地減(jian)少了(le)試(shi)(shi)驗(yan)(yan)的次數(shu)。基(ji)于超級計(ji)算的數(shu)值模擬,可(ke)以把(ba)研制(zhi)周期減(jian)少4-7年(nian),節省十(shi)多(duo)億美(mei)元的經(jing)(jing)費。傳統的基(ji)于實(shi)驗(yan)(yan)的發(fa)(fa)(fa)(fa)動機(ji)設計(ji),便(bian)轉(zhuan)向于一(yi)種基(ji)于科(ke)學的預測設計(ji),大(da)幅度地縮短了(le)研制(zhi)周期,促進了(le)工(gong)業(ye)的發(fa)(fa)(fa)(fa)展。

  另(ling)外,我(wo)國從上(shang)世紀(ji)50年代起(qi)就開始用(yong)數值天氣(qi)預報,所以,基于(yu)超(chao)級(ji)計算(suan)來作數值天氣(qi)預報,是(shi)現在各個國家氣(qi)象預報的一個主要手段。

  第三講 妙算篇: 怎么用好超級計算機

  超級計算好(hao)不好(hao)用(yong),主要(yao)是說真正用(yong)它來做(zuo)研究的時(shi)候,能(neng)(neng)不能(neng)(neng)高效地發揮(hui)它應有的算力。超級計算機最主要(yao)的就是應用(yong)軟件,因為所有的東西都是通過應用(yong)軟件來計算的。

  應用軟(ruan)件面臨著(zhu)“四道墻(qiang)”的挑戰: 編(bian)程墻(qiang)、性能(neng)墻(qiang)、產出(chu)墻(qiang)和可(ke)靠墻(qiang)。

  下面我簡單地(di)介紹一下這(zhe)“四道墻(qiang)”。“編(bian)程(cheng)墻(qiang)”就是說,應(ying)用(yong)軟(ruan)件(jian)能(neng)不能(neng)很快地(di)研制(zhi)(zhi)出來,涉及到并(bing)行(xing)編(bian)程(cheng)和(he)軟(ruan)件(jian)架(jia)構。在一個(ge)普通的(de)計算(suan)(suan)機上(shang),做(zuo)編(bian)程(cheng)是相對(dui)容易的(de),但想用(yong)好超級計算(suan)(suan)機,必(bi)須要(yao)做(zuo)并(bing)行(xing)編(bian)程(cheng)。超級計算(suan)(suan)機應(ying)用(yong)軟(ruan)件(jian)非常復(fu)雜,代碼量非常高,可能(neng)是幾萬(wan)行(xing)、幾十萬(wan)行(xing),甚至是上(shang)百萬(wan)行(xing)。在這(zhe)種情(qing)況下,如果不能(neng)很快地(di)研制(zhi)(zhi)軟(ruan)件(jian),就不能(neng)充分(fen)發揮(hui)超級計算(suan)(suan)機的(de)效率。

  假設軟(ruan)件研制出來了,那么應用(yong)軟(ruan)件能(neng)不(bu)能(neng)高效地執行,涉及到并行算(suan)法和性能(neng)優化。比如,并行執行的(de)處(chu)理器(qi)是否(fou)(fou)能(neng)同時工(gong)作,很多處(chu)理器(qi)是否(fou)(fou)能(neng)同時解決一個(ge)問題(ti)。如果數據劃(hua)分或任(ren)務劃(hua)分不(bu)均衡的(de)話,就會影響它的(de)并行效率(lv)。這一系列的(de)問題(ti)都需要解決,叫做“性能(neng)墻”。

  “產出墻”就是(shi)說,軟件(jian)研制出來了,性能(neng)也(ye)很(hen)高,但用(yong)的時候(hou)好不好用(yong)?用(yong)戶使(shi)用(yong)軟件(jian)做設計的時候(hou),是(shi)不是(shi)很(hen)快就能(neng)拿到結果。這涉及到軟件(jian)界面、人機(ji)交互,包括通過超算(suan)得到的海(hai)量數據可視化。

  等這“三(san)道墻(qiang)”都解決了以后,還有最后一(yi)(yi)道墻(qiang)是(shi)“可(ke)(ke)靠墻(qiang)”。可(ke)(ke)靠墻(qiang)是(shi)指超(chao)級(ji)計(ji)(ji)算(suan)(suan)機本身的(de)(de)可(ke)(ke)靠性(xing)問題。超(chao)級(ji)計(ji)(ji)算(suan)(suan)機包含的(de)(de)計(ji)(ji)算(suan)(suan)部件非常(chang)多(duo),運行(xing)(xing)過程(cheng)中難免出現故障(zhang)(zhang)。實際(ji)上,一(yi)(yi)臺(tai)超(chao)級(ji)計(ji)(ji)算(suan)(suan)機每(mei)隔幾個小(xiao)時,某些局部就會出現一(yi)(yi)次故障(zhang)(zhang)。假設程(cheng)序正好(hao)處于故障(zhang)(zhang)節(jie)點,程(cheng)序就要“掉下(xia)來”。所以,怎么確(que)保超(chao)級(ji)計(ji)(ji)算(suan)(suan)機穩定(ding)可(ke)(ke)靠地運行(xing)(xing),是(shi)超(chao)級(ji)計(ji)(ji)算(suan)(suan)領域的(de)(de)一(yi)(yi)個共(gong)性(xing)難題,需(xu)要做很多(duo)系統的(de)(de)運行(xing)(xing)優化和管理(li)。

  如何破(po)除這“四道墻”?需要(yao)一種先進的(de)軟件(jian)研發模式,跟上硬件(jian)發展(zhan)速度,并(bing)(bing)能與應用軟件(jian)快速匹配(pei),并(bing)(bing)且直接受益于超級計算機(ji)的(de)快速發展(zhan)。

  這(zhe)里介紹(shao)一種模式,叫(jiao)做平臺(tai)(tai)模式。采用平臺(tai)(tai)模式,可以把某領域(yu)內與高性能計算(suan)相關的(de)一些共性內容(rong)封裝在一個(ge)中間(jian)(jian)件(jian)的(de)平臺(tai)(tai)。這(zhe)樣,只需要再加入一些個(ge)性部分,就能夠(gou)很快地研發出相應(ying)(ying)(ying)的(de)應(ying)(ying)(ying)用軟件(jian),由中間(jian)(jian)件(jian)去同(tong)步超級計算(suan)機的(de)演化。當然,不同(tong)的(de)應(ying)(ying)(ying)用領域(yu)可以研制不同(tong)的(de)中間(jian)(jian)件(jian)。

  基于這(zhe)么(me)一個模(mo)式,我們研制了在科學工程計(ji)算(suan)(suan)里具有普適性的框(kuang)(kuang)架,分別是(shi)JASMIN、JAUMIN、JCOGIN。基于這(zhe)些框(kuang)(kuang)架,應用(yong)軟(ruan)(ruan)件(jian)進行編程的時候(hou),實(shi)(shi)際上只需要做四(si)步,這(zhe)四(si)步都(dou)不需要和超(chao)級(ji)計(ji)算(suan)(suan)機(ji)打交道,就(jiu)可(ke)(ke)以(yi)(yi)實(shi)(shi)現(xian)應用(yong)軟(ruan)(ruan)件(jian)的自動并行。另外(wai),這(zhe)樣一來,由框(kuang)(kuang)架去匹配超(chao)級(ji)計(ji)算(suan)(suan)機(ji)的性能優化(hua),程序效率實(shi)(shi)際上可(ke)(ke)以(yi)(yi)自動提升,用(yong)戶(hu)用(yong)起(qi)來非常(chang)方便(bian)(bian)。可(ke)(ke)以(yi)(yi)很方便(bian)(bian)地(di)使用(yong)超(chao)級(ji)計(ji)算(suan)(suan)機(ji),應用(yong)軟(ruan)(ruan)件(jian)可(ke)(ke)以(yi)(yi)自動地(di)獲得(de)超(chao)級(ji)計(ji)算(suan)(suan)機(ji)的算(suan)(suan)力。

  整個(ge)(ge)中間(jian)件(jian)(jian)的(de)(de)發展,經(jing)過了十多年(nian),2004年(nian),我們開發了第(di)一(yi)個(ge)(ge)框(kuang)架,后(hou)續(xu)2013年(nian),我們構(gou)建了整個(ge)(ge)中間(jian)件(jian)(jian)平臺。目(mu)前我們已具(ju)備十億億次(ci)計(ji)算(suan)(suan)能力,下(xia)一(yi)步要匹配國(guo)(guo)家百(bai)億億次(ci)計(ji)算(suan)(suan)機的(de)(de)發展。現(xian)在(zai)這套中間(jian)件(jian)(jian),已在(zai)我國(guo)(guo)很(hen)多核心行業中發揮著很(hen)重(zhong)要的(de)(de)作用,支(zhi)撐了近百(bai)套超算(suan)(suan)軟件(jian)(jian)的(de)(de)快(kuai)速研發,取得(de)了很(hen)好的(de)(de)效果。

  第四講 機遇篇: 發展自主軟件與核心算法

  對(dui)于超(chao)級計算機(ji),應用(yong)(yong)軟(ruan)件的(de)自主研發(fa)非常重要(yao)。以我國兩(liang)大超(chao)算中(zhong)心廣州和天津(jin)為例(li),從2018年兩(liang)個超(chao)算中(zhong)心統計的(de)數據可見(jian),我國自主研發(fa)的(de)軟(ruan)件缺失(shi)嚴重,目前使用(yong)(yong)的(de)大部分(fen)仍是一些國外開源軟(ruan)件。

  國外(wai)進口軟件(jian)(jian)有什么問題?一(yi)個(ge)最主(zhu)要的(de)問題是(shi)(shi),進口軟件(jian)(jian)的(de)實際性(xing)能和我國超(chao)級計算機的(de)峰(feng)值性(xing)能差距非(fei)常大。基本上(shang)可(ke)以低(di)到(dao)1-2個(ge),甚至更(geng)多的(de)量級。進口軟件(jian)(jian)一(yi)般會限制CPU核(he)數等,反(fan)正(zheng)就(jiu)是(shi)(shi)不(bu)讓你用那么高的(de)性(xing)能。一(yi)方(fang)面(mian),造(zao)成我國超(chao)級計算機峰(feng)值性(xing)能的(de)巨(ju)大浪費,另一(yi)方(fang)面(mian),用這些(xie)軟件(jian)(jian)去做設計的(de)時(shi)候,總是(shi)(shi)存在著(zhu)“天花板”。另外(wai)還有一(yi)個(ge)風險是(shi)(shi),它也(ye)受限于(yu)出口管控(kong)。

  核心算法是自主(zhu)(zhu)研發超級計算機軟件的(de)一個(ge)重要方面(mian)。2020年,我國(guo)科技(ji)部(bu)成(cheng)立(li)了(le)首批(pi)13個(ge)國(guo)家應(ying)(ying)用(yong)數學中心,我認為,主(zhu)(zhu)要目的(de)是建立(li)數學界和工業界的(de)一個(ge)橋梁(liang)。從這個(ge)角度來講,應(ying)(ying)用(yong)驅動(dong)的(de)算法研究應(ying)(ying)該(gai)大有作(zuo)為。所以,怎(zen)么針對具(ju)體的(de)實際應(ying)(ying)用(yong)提出更有效的(de)算法,應(ying)(ying)該(gai)是現在超級計算的(de)軟件需要迫(po)切解決(jue)的(de)一個(ge)問題。

  目前的(de)算法在很多實際(ji)應(ying)用里,還無法滿(man)足我(wo)們的(de)需求。我(wo)舉幾個例子給大家分享。

  第一(yi)個(ge)(ge)例子(zi)是(shi)關(guan)于集成電(dian)(dian)路的(de)(de)優化(hua)(hua)設(she)(she)(she)計和(he)性(xing)能(neng)的(de)(de)驗證。2016年(nian),三星公(gong)司的(de)(de)Note 7手(shou)(shou)機發生(sheng)多起爆(bao)炸,導致全球召回。主要原因是(shi)手(shou)(shou)機的(de)(de)集成電(dian)(dian)路功(gong)率——電(dian)(dian)源和(he)散射結(jie)構設(she)(she)(she)計有(you)缺陷(xian)。手(shou)(shou)機集成電(dian)(dian)路設(she)(she)(she)計,需要通過數(shu)值模擬的(de)(de)手(shou)(shou)段,進(jin)行(xing)仿真。然后基于這個(ge)(ge)仿真的(de)(de)結(jie)果來進(jin)行(xing)各種設(she)(she)(she)計,包括布局,集成電(dian)(dian)路線的(de)(de)布局,以及信號完整性(xing)的(de)(de)分析和(he)一(yi)些網(wang)絡(luo)的(de)(de)優化(hua)(hua),還有(you)一(yi)些射頻的(de)(de)參數(shu)優化(hua)(hua)。目(mu)前(qian)為止,計算(suan)能(neng)力還無法滿足真實設(she)(she)(she)計的(de)(de)需求,導致設(she)(she)(she)計上有(you)各種缺陷(xian),這是(shi)一(yi)個(ge)(ge)很典型的(de)(de)例子(zi),這就需要很強(qiang)的(de)(de)算(suan)法。

  第二個(ge)例子是(shi)(shi)關于大(da)壩(ba)的結構力(li)(li)學(xue)分(fen)(fen)析。我國有全(quan)世(shi)界最(zui)多的水(shui)壩(ba)。一(yi)個(ge)很(hen)重要的問(wen)題是(shi)(shi),這(zhe)些大(da)壩(ba)安全(quan)嗎?要對它的安全(quan)性(xing)進行評估,主要是(shi)(shi)對大(da)壩(ba)做(zuo)結構力(li)(li)學(xue)的分(fen)(fen)析,在數學(xue)上是(shi)(shi)非常(chang)復(fu)(fu)雜(za)的。在水(shui)利(li)工(gong)程里(li),是(shi)(shi)非常(chang)具有挑戰性(xing)的問(wen)題,因為常(chang)常(chang)牽涉到(dao)很(hen)多復(fu)(fu)雜(za)的環(huan)境。比如,廣西隆林天生橋的一(yi)個(ge)水(shui)壩(ba)到(dao)了夏天的時候,壩(ba)體(ti)經常(chang)會(hui)發生一(yi)些破損。隨(sui)著超(chao)級計算機(ji)性(xing)能的發展,我們可以做(zuo)一(yi)些仿真計算,來評估這(zhe)些大(da)壩(ba)的安全(quan)性(xing)。

  這(zhe)個(ge)水壩(ba)涉(she)及的(de)(de)(de)計(ji)算規模(mo)超(chao)過了(le)10億,“天河二號”花了(le)不到37分鐘(zhong)的(de)(de)(de)時(shi)間就(jiu)把它(ta)(ta)算了(le)出(chu)來(lai)(lai)。它(ta)(ta)首次使用(yong)數值模(mo)擬的(de)(de)(de)手段,定量地分析(xi)和證(zheng)實混凝(ning)土的(de)(de)(de)升溫(wen)膨脹效應就(jiu)是(shi)導致(zhi)壩(ba)體(ti)夏天經常(chang)破裂的(de)(de)(de)原因。并(bing)且通(tong)過仿真數據可以得知(zhi),溫(wen)差到了(le)多少度的(de)(de)(de)時(shi)候(hou),它(ta)(ta)會(hui)發生怎樣的(de)(de)(de)破裂。這(zhe)樣一來(lai)(lai),就(jiu)可以定量地把它(ta)(ta)刻劃出(chu)來(lai)(lai),這(zhe)是(shi)目前商用(yong)軟件做(zuo)不了(le)的(de)(de)(de),這(zhe)是(shi)一個(ge)典型的(de)(de)(de)超(chao)級計(ji)算服務于設(she)計(ji)的(de)(de)(de)例(li)子。

  第(di)三個例子,關于(yu)激光聚(ju)變(bian)(bian)(bian),這(zhe)也是非常有意思(si)的(de)(de)一(yi)(yi)個應用。激光聚(ju)變(bian)(bian)(bian)可能(neng)(neng)大家不一(yi)(yi)定(ding)知道,但聚(ju)變(bian)(bian)(bian)能(neng)(neng)源(yuan)(yuan)大家肯定(ding)在一(yi)(yi)些科(ke)幻電影里聽過。比如,《流浪地球》里的(de)(de)行星發(fa)動機,《鋼鐵俠》里的(de)(de)反(fan)應堆,都提到聚(ju)變(bian)(bian)(bian)能(neng)(neng)源(yuan)(yuan)。聚(ju)變(bian)(bian)(bian)能(neng)(neng)源(yuan)(yuan)有望(wang)一(yi)(yi)勞(lao)永逸地解決人類(lei)的(de)(de)能(neng)(neng)源(yuan)(yuan)問題(ti),是一(yi)(yi)個非常宏(hong)大的(de)(de)設想。

  但目前可控的(de)聚(ju)變(bian)(bian)在地球上(shang)還沒(mei)有(you)實現(xian),原因是(shi)什么?因為挑(tiao)戰非常大。要(yao)發(fa)生氘和氚(chuan)聚(ju)變(bian)(bian)反(fan)應(ying),必須在上(shang)十億(yi)攝氏度(du)的(de)高溫(wen)下才能夠發(fa)生,釋放能量。太陽的(de)溫(wen)度(du)頂多是(shi)上(shang)億(yi)攝氏度(du),這個溫(wen)度(du)的(de)要(yao)求比(bi)太陽實際溫(wen)度(du)還高。

  氫彈(dan)爆炸實際上(shang)發生(sheng)的(de)就是(shi)(shi)(shi)這種聚變(bian)(bian)反應,但(dan)那(nei)是(shi)(shi)(shi)不可控的(de)。我們現(xian)在(zai)的(de)要求是(shi)(shi)(shi),在(zai)實驗(yan)室里面做(zuo)(zuo)可控的(de)聚變(bian)(bian)。其中,激(ji)光聚變(bian)(bian)就被(bei)認為是(shi)(shi)(shi)未來實現(xian)聚變(bian)(bian)能源最有潛(qian)力的(de)途徑之(zhi)一。激(ji)光聚變(bian)(bian)的(de)全(quan)稱叫(jiao)做(zuo)(zuo)“激(ji)光驅動的(de)慣性約束聚變(bian)(bian)”,它的(de)原理非常有意思。

  即在(zai)實驗(yan)室的(de)環(huan)境(jing)下,利用一(yi)個高功率的(de)激(ji)光作為驅動源。然后(hou)這個激(ji)光在(zai)氘、氚燃料(liao)的(de)球狀靶丸表面,驅動這個靶丸,使得(de)它往里壓縮到(dao)一(yi)定程度,靶丸處(chu)于極高的(de)密度和溫度,達到(dao)點火(huo)條件,實現一(yi)個熱核的(de)反應和燃燒(shao),釋放能(neng)量(liang)(liang)后(hou)再把能(neng)量(liang)(liang)收集(ji)起來。

  這樣整體分為四個(ge)步驟: 激光輻射(she)、內(nei)爆壓(ya)縮、聚變(bian)(bian)(bian)(bian)點火和聚變(bian)(bian)(bian)(bian)燃燒。如果這四個(ge)步驟成功了,聚變(bian)(bian)(bian)(bian)能源就(jiu)有(you)希望了。激光器(qi)實際(ji)上是1960年發明(ming)的(de),發明(ming)了以(yi)后,實際(ji)上蘇聯(lian)、美國,包括我國的(de)王淦昌先(xian)生都提出過這個(ge)設想。到1970年代時,美國科學家,包我國的(de)于敏先(xian)生都提出過完整的(de)聚變(bian)(bian)(bian)(bian)方案。但(dan)目前為止,地(di)球上還沒有(you)哪個(ge)國家實現這個(ge)聚變(bian)(bian)(bian)(bian)反應。最主要的(de)困(kun)難(nan)是需要高功率的(de)激光裝(zhuang)置,并且要在(zai)實驗(yan)室環境下,創造一種類似于太陽能量密(mi)度的(de)環境。

  目前世(shi)界(jie)上最(zui)大的激光器(qi)是(shi)美國的國家點火裝(zhuang)置(zhi),叫做(zuo)NIF。這個裝(zhuang)置(zhi)1997年動工,2008年建(jian)成, 2010年開(kai)始做(zuo)實驗,共有(you)192束激光。

  激(ji)光聚(ju)變中的(de)(de)靶(ba)(ba)(ba)丸實(shi)際上(shang)非常小,直徑(jing)只有1微(wei)米(mi)(mi)。四個(ge)(ge)過程都(dou)將在(zai)直徑(jing)1微(wei)米(mi)(mi)的(de)(de)靶(ba)(ba)(ba)丸中發生。但為了驅動這個(ge)(ge)微(wei)小的(de)(de)靶(ba)(ba)(ba)丸,卻(que)需(xu)要(yao)(yao)(yao)一個(ge)(ge)很大的(de)(de)裝置(zhi)。首先靶(ba)(ba)(ba)丸要(yao)(yao)(yao)放在(zai)一個(ge)(ge)直徑(jing)1厘米(mi)(mi)的(de)(de)黑(hei)腔里面(mian)(mian),黑(hei)腔要(yao)(yao)(yao)放在(zai)一個(ge)(ge)直徑(jing)達(da)10米(mi)(mi)的(de)(de)圓形靶(ba)(ba)(ba)室里,球面(mian)(mian)上(shang)有很多的(de)(de)孔(kong),這些孔(kong)就是激(ji)光的(de)(de)入(ru)射孔(kong)。靶(ba)(ba)(ba)丸等(deng)于處于靶(ba)(ba)(ba)室的(de)(de)最中間,所有的(de)(de)192束激(ji)光,最終都(dou)要(yao)(yao)(yao)匯聚(ju)在(zai)微(wei)小的(de)(de)靶(ba)(ba)(ba)丸表面(mian)(mian)來驅動它內爆(bao)壓縮。整(zheng)個(ge)(ge)NIF裝置(zhi)需(xu)要(yao)(yao)(yao)安裝在(zai)一個(ge)(ge)3個(ge)(ge)足球場大小的(de)(de)大型建(jian)筑里面(mian)(mian)。

  實際上(shang),類(lei)似(si)俗語(yu)里的(de)(de)(de)“高射炮打(da)蚊子“,聚變反應需要(yao)一(yi)個非(fei)常(chang)大的(de)(de)(de)裝置去瞄(miao)準一(yi)個非(fei)常(chang)小的(de)(de)(de)目標,所有能量都要(yao)聚焦在(zai)微小的(de)(de)(de)一(yi)個點上(shang)。在(zai)科學(xue)工程、技術(shu)和(he)工業上(shang)都是非(fei)常(chang)精(jing)細的(de)(de)(de)一(yi)個實驗。正是因為(wei)這個實驗實現的(de)(de)(de)難度非(fei)常(chang)高,它的(de)(de)(de)物理設(she)計必(bi)須定量地理解和(he)精(jing)確地控(kong)制每一(yi)個環節。

  另外,還有(you)(you)一點需要告知大(da)家,靶丸上(shang)發生的(de)(de)四個步驟(zou),必須(xu)在(zai)100納(na)秒內全部完成,所以,數值(zhi)模擬(ni)計算是目(mu)前(qian)主要的(de)(de)實現手(shou)段。做(zuo)實驗之前(qian),要在(zai)計算機上(shang)做(zuo)很多模擬(ni)。美國(guo)實際上(shang)從2012年開(kai)始(shi)做(zuo)實驗,但目(mu)前(qian)依然沒有(you)(you)點火成功,這個挑戰(zhan)非常大(da)。目(mu)前(qian)的(de)(de)算法(fa)和計算能(neng)力都(dou)沒有(you)(you)辦(ban)法(fa)滿(man)足(zu)需求,這也(ye)是一個典型例子。

  前(qian)面講了很多(duo)例(li)子,我主要是想告訴大(da)家,目前(qian)是我國從事超算軟(ruan)件的(de)(de)研(yan)發和(he)算法研(yan)究(jiu)的(de)(de)一(yi)個最好的(de)(de)時(shi)(shi)代,因為有很多(duo)的(de)(de)需求,也(ye)有很多(duo)的(de)(de)挑(tiao)戰。我以(yi)去年Science上的(de)(de)一(yi)篇文(wen)(wen)章作(zuo)為結(jie)語。計(ji)(ji)算機的(de)(de)內容很少在(zai)出(chu)現在(zai)Science上,但這是一(yi)篇將(jiang)近10頁(ye)的(de)(de)綜述性文(wen)(wen)章。主要是討論后摩爾(er)時(shi)(shi)代,如何進一(yi)步提(ti)升計(ji)(ji)算能力的(de)(de)問題。因為隨(sui)著摩爾(er)定律(lv)放緩(huan),半(ban)導(dao)(dao)體工藝已經到了物理極(ji)限,靠底層的(de)(de)半(ban)導(dao)(dao)體工藝提(ti)升性能的(de)(de)時(shi)(shi)代結(jie)束了,可能要有其他的(de)(de)一(yi)些(xie)新途徑出(chu)來。所以(yi),在(zai)應用和(he)計(ji)(ji)算機里面,軟(ruan)件和(he)算法怎么(me)做結(jie)合,空間是非(fei)常大(da)的(de)(de)。

  我(wo)(wo)(wo)來自于高性能數值(zhi)模擬(ni)軟(ruan)(ruan)件(jian)中(zhong)心(xin)(xin),目前在我(wo)(wo)(wo)們(men)國(guo)家專門從事這種(zhong)自主軟(ruan)(ruan)件(jian)研(yan)(yan)發的中(zhong)心(xin)(xin)很(hen)少,它(ta)的主要目標(biao)就是(shi)基于我(wo)(wo)(wo)們(men)的超(chao)(chao)級(ji)計(ji)算,自主研(yan)(yan)發我(wo)(wo)(wo)們(men)的一(yi)些(xie)工業軟(ruan)(ruan)件(jian),來使得這個超(chao)(chao)級(ji)計(ji)算真正成為(wei)我(wo)(wo)(wo)們(men)國(guo)家的利器。如果大家對超(chao)(chao)算研(yan)(yan)究,特(te)別(bie)是(shi)對軟(ruan)(ruan)件(jian)研(yan)(yan)發和算法(fa)研(yan)(yan)究感興(xing)趣的話,歡(huan)迎(ying)關注我(wo)(wo)(wo)們(men)的軟(ruan)(ruan)件(jian)中(zhong)心(xin)(xin)。

亚博游戏