文|陳根
20世紀70年代末,一位阿拉貢國家實驗室的年輕研究員參與編寫了名為“Linpack”的計算機代碼,這段代碼也讓那些被后世稱為超級計算機的系統(tǒng)可以運行復雜的數學計算。
20世紀90年代初,這位研究員和他的同事們利用“Linpack”,又創(chuàng)造出了一種用于衡量超級計算機能力的測試,也就是測試超算每秒能進行多少次計算。
當地時間3月30日,還是這位研究員,獲得了2021年計算機領域的最高獎項——圖靈獎,他就是美國計算機科學家 Jack J. Dongarra。根據 ACM 的介紹,Dongarra 的算法和軟件推動了高性能計算的發(fā)展,對人工智能、計算機圖形學等多個計算科學領域均產生了重大的影響。
Dongarra和高性能計算
圖靈獎通常被稱為計算機領域的“諾貝爾獎”,圖靈獎是以英國數學和計算機科學的鼻祖阿蘭·圖靈的名字命名的,著名的圖靈測試(測試機器是否智能)就是由圖靈提出,圖靈獎獲獎者也將得到100萬美元的資金支持。此次Dongarra 之所以被授予無上榮譽的圖靈獎,就在于其對于高性能計算做出的巨大貢獻。
要知道,對于已經到來的數字時代,計算就是引擎,數據則是燃料。小到智能電腦、智能手機、平板等電子產品,大到天氣預報、邊界出行、醫(yī)療保障、清潔能源等民用領域拓展應用,都離不開計算的賦能支撐。計算已經成為人類能力的延伸,賦能數字經濟各行各業(yè)的數字化轉型升級。
正如美國學者尼葛洛龐帝(Nicholas Negroponte)在《數字化生存》一書的序言中所言“計算,不再只是與計算機有關,它還決定了我們的生存”。
其中,高性能計算(HPC)也就是我們通常所說的“超級計算機”,高性能計算機概念出現在20世紀80年代末至90年代初,隨著大規(guī)模并行處理的出現,超級計算機開始由數十萬個處理內核組成。
高性能計算機具有極高計算能力,能夠高速解決非常復雜的問題。由于超級計算機運行成本很高,主要由國家主導其發(fā)展,也主要應用于國家安全領域(如核模擬)、科學與醫(yī)學研究以及氣候建模等方面。
具體來看,Dongarra通過對線性代數操作的高效數值算法、并行計算編程機制和性能評估工具的貢獻,引領了高性能計算的世界。近四十年來,摩爾定律使硬件性能呈指數級增長。在同一時期,雖然大多數軟件未能跟上這些硬件進步的步伐,但高性能數值軟件卻做到了。這在很大程度上正是得益于Dongarra的算法、優(yōu)化技術和生產質量的軟件實現。
這些貢獻奠定了一個框架,使科學家和工程師在大數據分析、醫(yī)療保健、可再生能源、天氣預測、基因組學和經濟學等領域做出了重要的發(fā)現和改變游戲規(guī)則的創(chuàng)新。Dongarra的工作還幫助促進了計算機架構的跨越式發(fā)展,并支持了計算機圖形和深度學習的革命。
Dongarra的主要貢獻在于創(chuàng)建了開源軟件庫和標準,這些軟件庫采用線性代數作為中間語言,可供各種應用使用。這些庫已經為單處理器、并行計算機、多核節(jié)點和每個節(jié)點的多個GPU編寫。Dongarra的庫還引入了許多重要的創(chuàng)新,包括自動調諧、混合精度算術和批量計算。
Dongarra在說服硬件供應商優(yōu)化這些方法,以及說服軟件開發(fā)者在他們的工作中使用他的開源庫方面處于領先地位。最終,這些努力使得基于線性代數的軟件庫在從筆記本電腦到世界上最快的超級計算機的高性能科學和工程計算中幾乎被普遍采用。
計算是數字時代的引擎
1970 年,Intel 4004處理器每秒可以處理 92000 條指令,而現在,人們的普通手機就可以達到每秒處理 10 億條指令,電腦也越來越強大,能夠存儲越并處理這些龐大的數據。但這對于處理更加龐大的數據來說還是遠遠不夠的,而基于高性能計算,卻能夠遠超傳統(tǒng)計算機的計算速度。
根據ACM主席Gabriele Kotsis的解釋,今天最快的超級計算機在一秒鐘內進行四百萬億次計算,這令人難以置信。而除了打破新記錄以外,高性能計算還一直是科學發(fā)現的一個主要工具。
實際上,人類文明的發(fā)展從來都離不開計算力的進步。在原始人類有了思考后,才產生了最初的計算。從部落社會的結繩計算到農業(yè)社會的算盤計算,再到工業(yè)時代的計算機計算。
計算機計算也經歷了從上世紀20 年代的繼電器式計算機,到40年代的電子管計算機,再到 60年代的二極管、三極管、晶體管的計算機,其中,晶體管計算機的計算速度可以達到每秒幾十萬次。集成電路的出現,令計算速度實現了80年代,幾百萬次幾千萬次,到現在的幾十億、幾百億、幾千億次。
人體生物研究顯示,人的大腦里面有六張腦皮,六張腦皮中神經聯系形成了一個幾何級數,人腦的神經突觸是每秒跳動200次,而大腦神經跳動每秒達到14億億次,這也讓14 億億次成為計算機、人工智能超過人腦的拐點??梢姡祟愔腔鄣倪M步和人類創(chuàng)造的計算工具的速度有關。
從這個意義來講,算力是人類智慧的核心。當我們把計算用以解決實際問題時,算力便改變了現有的生產方式,增強了存在者的決策能力和信息篩選能力。
比如,尋找MH370航班殘骸中,大量的衛(wèi)星雷達將集中對準南印度洋,當這些高科技眼睛采集到信息后,一個必經的環(huán)節(jié)是雷達數據處理,擔當這一環(huán)節(jié)的角色即是超級計算機。清華大學地球系統(tǒng)科學研究中心副教授黃小猛認為“只要有足夠精確的相關數據,超算就能找到失事飛機”。
此外,在環(huán)境監(jiān)測放面,超級計算可以幫助進行污染物擴散的模擬。通過超算模擬,可以根據目前污染物的情況,計算出未來一段時間的大氣污染物濃度和分布,進行空氣質量預報。從預報結果還可以計算出哪些污染源影響貢最大,了解污染的來龍去脈,為污染防控提供決策指導。
醫(yī)療領域,模擬血流、模擬心臟、模擬人體任何一個部分,都離不開超級計算機。美國科學家曾利用世界前十的超級計算機,選取一名真人掃描其血管系統(tǒng),通過3D建模技術建立動脈系統(tǒng)模型,成功地再現了整個人體的動脈系統(tǒng)。任何直徑或寬度在1毫米以上的動脈血管都會出現在模型中,而且模型的分辨率達到了9微米。
比如,對一個可能發(fā)生腦梗塞病人,醫(yī)院難以判斷是否要進行支架手術,一般都會通過從大腿動脈處放進測壓導絲進行測量,但這種方式既危險又痛苦。而如果在超級計算機的幫助下,經過模擬計算,只要血流儲備分數如果小于0.8,就可以進行手術。也就是說,只要運算核夠多、速度夠快,醫(yī)療工作者的診斷和治療水平將大大提升,而科學的治療手段更容易讓患者接受。
推動人工智能的發(fā)展
高性能計算的創(chuàng)新還溢出了許多不同的計算領域,推動了算力時代的發(fā)展,尤其是在人工智能方面。
眾所周知,數據、算法和算力是人工智能三大核心要素,數據是人工智能發(fā)展的基石和基礎,算法是人工智能發(fā)展的重要引擎和推動力,算力則是實現人工智能技術的一個重要保障。人工智能除了訓練需要算力,其運行在硬件上也需要算力的支撐,可以說,算力構筑了人工智能的底層邏輯。
當前,人工智能的發(fā)展還在智能感知階段,在智能認知方面還沒有很成熟的研究。從這個角度而言,人工智能對計算能力的需求可以說是潛力非常大。無疑,人工智能有大量的數據、訓練任務需要超級計算的支持,同時高性能計算也可以把人工智能應用到新的領域,比如利用人工智能更精準地完成天氣預報等。
其中,在混合精度算術領域,在Dongarra2006年超級計算會議的論文《利用32位浮點算術的性能獲得64位精度》中,Dongarra開創(chuàng)了利用浮點算術的多個精度來更快地提供精確的解決方案。這項工作在機器學習應用中發(fā)揮了重要作用,最近的HPL-AI基準測試就展示了這一點,它在世界頂級超級計算機上達到了前所未有的性能水平。
并且,從長遠來看,人工智能與高性能計算可能還存在更深層的關系——畢竟,轉變人工智能的初衷就是從人的智能向計算轉變的一個啟發(fā)。當前,高性能計算與人工智能的深度融合,已經是大勢所趨。自2018年6月以來,新上榜TOP500的超級計算機,前十名都聲稱有支持人工智能的能力。
比如,Summit超級計算機就是“非常典型支撐AI”的高性能計算機。Summit胖節(jié)點的設計使其單節(jié)點存儲容量相當大,GPU的訪存也非??捎^。綜合下來,一個胖節(jié)點的計算能力相當強,基本可滿足大多人工智能“一個模型放在里邊做”的需求。
當前,Summit支撐AI的能力已經達到3.3E,高性能的胖節(jié)點設計使系統(tǒng)總節(jié)點數減少,從而降低了應用擴展難度,大容量的多級高效存儲及其間的硬件一致性支持,加之高速好用的本地存儲等的綜合作用下,使其局部的計算能力非常強,非常適合深度神經網絡(DNN)這類人工智能應用的提升。
可以說,Jack Dongarra的工作從根本上改變和推進了科學計算,正如谷歌高級研究員Jeff Dean所稱贊的那樣:“他在世界最大量使用的數值庫的核心所做的深入而重要的工作是科學計算的每一個領域的基礎,幫助推動了從藥物發(fā)現到天氣預報、航空航天工程和其他幾十個領域的發(fā)展,他對描述各種計算機性能的深入關注帶來了非常適合數值計算的計算機架構的重大進展?!?/p>
高性能計算技術是趨勢,也是未來,在量子計算技術沒有獲得徹底的突破之前,基于當前的物理性能與人工智能的融合路徑將會是接下來一段時間的突破方向。而未來的高性能計算技術,或許將會是基于量子計算與人工智能融合的真正超級計算技術。