又是第一次!
11月中旬,在美國鹽湖城召開的全球超級(jí)計(jì)算大會(huì)上,由中國科學(xué)院軟件研究所研究員楊超等人完成的“千萬核可擴(kuò)展大氣動(dòng)力學(xué)全隱式模擬”獲得了2016年度的高性能計(jì)算應(yīng)用最高獎(jiǎng)——“戈登·貝爾”獎(jiǎng)。
這是近30年來,中國超算應(yīng)用團(tuán)隊(duì)第一次獲得這一被譽(yù)為“超級(jí)計(jì)算機(jī)應(yīng)用領(lǐng)域諾貝爾獎(jiǎng)”的獎(jiǎng)項(xiàng)。
戈登·貝爾獲獎(jiǎng)證書
楊超研究員在SC大會(huì)現(xiàn)場介紹項(xiàng)目工作成果
這個(gè)獎(jiǎng)項(xiàng)有多大的意義,獲獎(jiǎng)?wù)n題到底做出了什么樣杰出的成就,它跟我們的生活又有什么樣的關(guān)系?
從不靠譜的雪說起
最近你的朋友圈有沒有被賣萌的中國氣象局刷屏?
盡管這次老天爺搗亂,但不得不說,絕大部分時(shí)候氣象局和天氣預(yù)報(bào)還是靠譜的。細(xì)想一下,不覺得天氣預(yù)報(bào)很神奇嗎?足不出戶,也不用掐指去算,我們就能知道明天、后天乃至一周內(nèi)的天氣變化,這豈不是諸葛再世,孔明重生。
獲獎(jiǎng)工作跟天氣預(yù)報(bào)有著密切的關(guān)系,你瞧,名稱中的“大氣動(dòng)力學(xué)”,這可正是氣象學(xué)家預(yù)測天氣的法寶之一。要了解獲獎(jiǎng)工作的意義,我們先得來了解一下科學(xué)家們是怎么用計(jì)算機(jī)來進(jìn)行天氣預(yù)報(bào)的。
氣象學(xué)家的登場
如果現(xiàn)在在你頭頂有一片黑壓壓的雨云,而天上又正刮著北風(fēng),把雨云往南吹,那你是不是可以預(yù)測南方某個(gè)地方即將迎來一場大雨?
這是人們依據(jù)生活經(jīng)驗(yàn)或常識(shí)的天氣預(yù)報(bào),但要準(zhǔn)確的說出這場雨的具體時(shí)間、地點(diǎn)、雨量大小、延續(xù)的時(shí)間,這就遠(yuǎn)超出人們的經(jīng)驗(yàn)和常識(shí)了,需要科學(xué)家出場“施法”。
首先出場的是氣象科學(xué)家,他們需要發(fā)現(xiàn)天氣變化的真正奧秘所在,并把這個(gè)奧秘清晰的呈現(xiàn)出來。用科學(xué)的語言說,那就是氣象學(xué)家需要分析出天氣變化與哪些因素有關(guān),并用一些數(shù)學(xué)方程描述出這些因素和天氣變化的內(nèi)在關(guān)系。
獲獎(jiǎng)成果中的“大氣動(dòng)力學(xué)”方程組就是氣象氣候中最重要的奧秘之一,它研究的方程長得就像下面圖示一樣,看起來很復(fù)雜。不同的符號(hào)代表了不同的物理量,包括速度、氣壓、濕度等。不同物理量可以千變?nèi)f化,但不管怎么變化都必須遵循這個(gè)方程所限定的規(guī)律——是不是有孫悟空翻不出如來佛手掌心的感覺?
獲獎(jiǎng)成果所針對(duì)的大氣動(dòng)力學(xué)方程組
氣象學(xué)家給出了上面這樣的方程,但計(jì)算機(jī)可沒法去理解這個(gè),這個(gè)時(shí)候就需要計(jì)算數(shù)學(xué)家出場了。
計(jì)算數(shù)學(xué)家出場
計(jì)算數(shù)學(xué)家的最主要任務(wù)是給出求解上面這個(gè)方程的計(jì)算方法,也就是算法。首先要做的是離散化。離散化?!蝦米
如果我們現(xiàn)在要對(duì)北京城區(qū)的天氣情況進(jìn)行計(jì)算預(yù)測,需不需要對(duì)每一個(gè)位置進(jìn)行預(yù)報(bào)呢?例如需要具體到自己前腳掌和后腳跟兩個(gè)不同位置的天氣情況,或者小區(qū)大門和后門的天氣情況?
顯然我們不需要這么“精確”的天氣預(yù)報(bào)。所以通常需要對(duì)北京地域進(jìn)行打網(wǎng)格,劃分成一個(gè)個(gè)小格子,每一個(gè)小格子內(nèi)的天氣是一樣的,這樣要對(duì)北京進(jìn)行天氣預(yù)報(bào),其實(shí)就是對(duì)下面的每一個(gè)小格子進(jìn)行預(yù)報(bào)。這就是離散化的過程。
對(duì)北京地域的離散化/網(wǎng)格化
大家自然可以知道,網(wǎng)格越密,那就意味著預(yù)測的精度越高。那為了更精確的預(yù)報(bào),是不是越密越好呢?確實(shí)是越密越準(zhǔn)確,但密到一定程度以后要更密,那就只能是——臣妾做不到呀。為什么做不到,咱們待會(huì)兒細(xì)說。
那么北京現(xiàn)在的網(wǎng)格大小是多大呢?度娘說啦,現(xiàn)在是3公里,力爭5年到1公里。也就是說,在每個(gè)3公里×3公里的網(wǎng)格區(qū)域里,氣象局認(rèn)為天氣是一樣的。
回到計(jì)算數(shù)學(xué)家的工作上來,離散化或者網(wǎng)格化是他們工作的第一步,但需要注意的是,實(shí)際的網(wǎng)格可不是像上面地圖一樣是二維的哦,而是包含了高度的三維網(wǎng)格。想想也是呀,刮風(fēng)下雨全在天上呢,研究天氣問題,哪能盯著地面呀。
離散化之后,每一個(gè)小方格/立方體就是一個(gè)獨(dú)立的個(gè)體,有自己的壓力、速度、溫度、濕度等數(shù)值信息。其中有些點(diǎn)的數(shù)值是我們現(xiàn)在知道的,這主要是通過氣象站、氣象衛(wèi)星、氣象氣球等多種途徑采集的數(shù)據(jù),根據(jù)這些已知點(diǎn)的信息,然后默念氣象學(xué)家給出的大氣動(dòng)力學(xué)、大氣熱力學(xué)等方程口訣,就可以計(jì)算推演一段時(shí)間以后,所有網(wǎng)格點(diǎn)的參數(shù)信息。這就是數(shù)值天氣預(yù)報(bào),也就是用計(jì)算機(jī)算出來的未來天氣情況。
計(jì)算數(shù)學(xué)家最主要的工作,就是將上面的方程翻譯成小方格/立方體之間的計(jì)算關(guān)系。這里有差分法、有限元法、有限體積法等多種方法,幾乎每一種方法都凝聚了全世界大量數(shù)學(xué)家的智慧,因?yàn)橐粋€(gè)好的方法,它必須滿足正確、可靠、穩(wěn)定、精確、高效等多個(gè)條件。
具體的方法我們就不在這里說了,你只要記住,現(xiàn)在,計(jì)算數(shù)學(xué)家將氣象學(xué)家的神秘的方程口訣變成了可以在計(jì)算機(jī)上處理的算法了。那下一個(gè)出場的,就該是“程序猿”了。
程序猿來了
程序猿或者計(jì)算機(jī)科學(xué)家面臨的任務(wù),是將算法寫成可以在計(jì)算機(jī)上執(zhí)行的程序。這聽起來好像很簡單——
打斷一下,你聽說過天河、神威的大名嗎?比如說天河二號(hào),神威·太湖之光?如果沒有聽過,那你就OUT了。
如果聽說了,你覺得在這些計(jì)算機(jī)上寫程序是簡單的事情嗎?要知道,這些可是傳說中的超級(jí)計(jì)算機(jī),而且還是當(dāng)前世界上最快的兩臺(tái)計(jì)算機(jī)。什么?有多快,神威·太湖之光相當(dāng)于普通家用電腦的200萬倍!在這樣的電腦上寫程序,跟在普通電腦上能一樣嘛,難度沒有200萬倍,也得有個(gè)2萬倍。
超級(jí)計(jì)算機(jī)為什么有那么強(qiáng)大的能力呢?其實(shí)很簡單,那就是“人多力量大”、“團(tuán)結(jié)就是力量”!每臺(tái)超級(jí)計(jì)算機(jī)都由大量的計(jì)算核心(計(jì)算節(jié)點(diǎn))組成,計(jì)算處理問題時(shí),這些計(jì)算核心團(tuán)結(jié)協(xié)作,一起努力工作,這就是所謂的“并行計(jì)算”。
計(jì)算機(jī)科學(xué)家的主要任務(wù),就是將計(jì)算數(shù)學(xué)家給出的算法,寫成能在超級(jí)計(jì)算機(jī)上高效執(zhí)行的并行程序。這可不是簡單的工作。
你現(xiàn)在可以想一件需要完成的工作,例如寫一本小說、抄寫生字1萬遍、造一輛汽車等等,然后設(shè)想把這件事情交給1個(gè)人做、10個(gè)人做、100個(gè)人做、1萬個(gè)人做,會(huì)是什么情形?10個(gè)人做一定是1個(gè)人做的效率的10倍嗎?當(dāng)中有人偷懶不干活怎么辦?又或者有人生病了該怎么辦?
計(jì)算機(jī)科學(xué)家面臨的挑戰(zhàn)和這個(gè)類似,他們需要指揮、協(xié)調(diào)眾多計(jì)算核心,讓它們齊心協(xié)力,不僅要把工作做對(duì),還要做得快、做得好。
還記得獲獎(jiǎng)?wù)n題的名稱嗎?
“千萬核可擴(kuò)展大氣動(dòng)力學(xué)全隱式模擬”,這次楊超和他的小伙伴們使用了超過10000000個(gè)核來計(jì)算一個(gè)問題,驚呆了沒?
最后需要補(bǔ)充的是,這三類科學(xué)家可都不是獨(dú)善其身、明哲保身的人哦,他們通常身兼多職。例如楊超研究員的工作既屬于計(jì)算數(shù)學(xué)領(lǐng)域,又屬于計(jì)算機(jī)軟件領(lǐng)域。事實(shí)上,只有身兼多職才有更開闊的視野,才更利于合作、研究以及取得成就。
了不起的“千萬核可擴(kuò)展大氣動(dòng)力學(xué)全隱式模擬”
首先,從成果名稱上,我們就能清晰的看到多領(lǐng)域科學(xué)家的協(xié)作:
氣象學(xué)家貢獻(xiàn)了大氣動(dòng)力學(xué);
計(jì)算數(shù)學(xué)家負(fù)責(zé)全隱式模擬算法;
而計(jì)算機(jī)科學(xué)家實(shí)現(xiàn)千萬眾核可擴(kuò)展計(jì)算。
當(dāng)然,還是剛剛所說的,這三個(gè)部分不是獨(dú)立的,每一部分都需要多領(lǐng)域?qū)<业耐f(xié)作。
我們首先來了解一下他們到底做了什么工作吧。這可是我辛辛苦苦閱讀了他們長達(dá)12頁的論文之后才領(lǐng)悟的奧妙。
楊超和他的小伙伴們這次完成的是一次氣候的數(shù)值仿真。注意哦,這里是氣候,而不是氣象。
通常氣候是指某一地區(qū)長時(shí)期內(nèi)(30年或更長)的天氣狀態(tài)的綜合表現(xiàn)。氣候和前面所說的天氣預(yù)報(bào)針對(duì)的是同一個(gè)問題,只是氣候通常研究的區(qū)域更大,計(jì)算的時(shí)間更長。它不是用來對(duì)某一天的天氣進(jìn)行預(yù)報(bào),而是對(duì)整個(gè)地區(qū)乃至全球未來的地理、氣象等因素進(jìn)行推演預(yù)測。
所以換句話說,對(duì)氣候而言,氣象關(guān)心的那都是小事情。當(dāng)然,問題本質(zhì)以及如前面所述的數(shù)值計(jì)算的過程那都是一樣一樣兒的。
但正因?yàn)闅夂蚝蜌庀箨P(guān)心問題的尺度不一樣,它們兩者之間沒法對(duì)接:氣象模擬的網(wǎng)格需要精細(xì)到幾公里乃至1公里以內(nèi),而氣候模擬網(wǎng)格通常為幾十乃至幾百公里;氣象模擬的時(shí)間精度要求到小時(shí)乃至分鐘,而氣候模擬通常到天、月、年。
如果能將氣候模擬和氣象模擬對(duì)接起來,那就可以大幅提升彼此預(yù)測的準(zhǔn)確度,為國計(jì)民生乃至全人類的發(fā)展有著重大的意義。美國、歐洲、日本、中國……,全世界的科學(xué)家們都在為這個(gè)目標(biāo)而努力著。
獲獎(jiǎng)成果的現(xiàn)實(shí)或科學(xué)意義正體現(xiàn)于此,它在打通氣象和氣候模擬之路上邁出了標(biāo)志性的一步。
獲獎(jiǎng)成果計(jì)算的區(qū)域是北緯18度至北緯72度之間,在地球儀上沿著兩條線各畫一個(gè)圓,計(jì)算的就是這兩個(gè)圓之間的帶狀區(qū)域,差不多占了整個(gè)地球表面積的1/3。然后,記得是三維問題哦,從地面往上30公里都在研究范圍內(nèi),超出這個(gè)范圍,就認(rèn)為對(duì)地表的的氣候沒有影響啦。所以,最后實(shí)際計(jì)算機(jī)需要處理的網(wǎng)格區(qū)域大小為40000公里×6000公里×30公里。
在算法層面,他們提出了一個(gè)新的全隱式計(jì)算方法,可以快速、正確的求解氣象學(xué)家給出的那個(gè)方程組。和已有的其他算法相比,這個(gè)算法最大的優(yōu)勢(shì)在于其高效性,使得更精細(xì)的網(wǎng)格成為可能。
事實(shí)上,他們測試的最小網(wǎng)格已經(jīng)到了488米,這比現(xiàn)在北京天氣預(yù)報(bào)的網(wǎng)格還要?。?/p>
也就是說,這個(gè)新的算法完全可以用來解決氣象和氣候模擬不能打通的問題。這個(gè)算法比美國的同類下一代大氣模擬系統(tǒng)的計(jì)算效率提升近一個(gè)數(shù)量級(jí)(接近10倍或幾十倍)。
計(jì)算結(jié)果的呈現(xiàn):溫度在不同模擬日的變化
這么厲害的算法到底是怎么實(shí)現(xiàn)的呢?拜托,這是一篇科普文章,不是科學(xué)研究論文,要感興趣的話,去聯(lián)系獲獎(jiǎng)團(tuán)隊(duì)的成員們吧,他們可有12人呢。不過,不管他們的算法再精深高妙,本質(zhì)上,可以用兩個(gè)字來形容,那就是“偷懶”!哦,說錯(cuò)了,其實(shí)是“聰明的偷懶”——干的少,可還干得好!
用科學(xué)的語言來描述呢,那就是“在不降低計(jì)算結(jié)果正確性的前提下,盡可能的減少計(jì)算工作量”!計(jì)算量少了,計(jì)算效率可不就高了嘛。不過看看他們算法的一些關(guān)鍵詞,“DD-MG預(yù)條件子”、“GP-ILU分解”,這是多么的高大上呀。
除了新的厲害算法之外,成果的另一個(gè)主要突破是前面提及的,在高達(dá)一千萬個(gè)計(jì)算核心的超級(jí)計(jì)算機(jī)上實(shí)現(xiàn)了算法,并實(shí)現(xiàn)了高效的并行計(jì)算。
聽起來好厲害!具體是什么呢?
就是在40000公里×6000公里×30公里區(qū)域上,網(wǎng)格大小是488米(為什么是488而不是500呢,我也疑惑中),總共是1000多億網(wǎng)格,每個(gè)網(wǎng)格有6個(gè)未知數(shù),最終的未知數(shù)個(gè)數(shù)約7700億!這樣的問題,也只有世界最快的超級(jí)計(jì)算機(jī)和我國最優(yōu)秀的一群年輕科學(xué)家們能夠勝任!
記得前面說的臣妾做不到的事情嗎,為什么把網(wǎng)格的尺寸縮小或者說把計(jì)算的精度提高這么困難呢?這是因?yàn)?,如果網(wǎng)格尺寸縮小一半,例如從1公里大小縮減到500米,由于處理的網(wǎng)格是三維的,那就是把原來1公里×1公里×1公里的立方塊剖分成了500米×500米×500米的小立方塊,1個(gè)變成了……8個(gè)!
這樣計(jì)算機(jī)要求解的未知數(shù)的個(gè)數(shù)也是原來的8倍,而求解過程的工作量可是比未知數(shù)的平方還要大,也就是說,網(wǎng)格精度每增加一倍,計(jì)算機(jī)的工作量是原來的一個(gè)數(shù)量級(jí)以上!
這下,大家能更好的理解這次獲獎(jiǎng)成果的意義了吧,那就是在前所未有的超級(jí)計(jì)算機(jī)上用出色的算法和高效的程序進(jìn)行了一次氣候問題前所未有復(fù)雜的計(jì)算!
未來,這項(xiàng)研究不僅可以用于高分辨率氣候模擬和高精細(xì)數(shù)值天氣預(yù)報(bào),也有助于提升我國應(yīng)對(duì)極端氣候事件和自然災(zāi)害時(shí)的減災(zāi)防災(zāi)能力,還能在航空、地學(xué)、能源等科學(xué)計(jì)算領(lǐng)域有著廣闊的應(yīng)用前景或重要的參考價(jià)值。
最后要提出的是,他們的論文還報(bào)告了從氣象科學(xué)家角度關(guān)心的模擬能力。比如3公里網(wǎng)格分辨率下是1.01模擬年/天(Simulated–Years-Per-Day,SYPD),比美國下一代大氣動(dòng)力框架FV3的0.16SYPD提高了好幾倍。
但是,即便是這么厲害的算法,這么快的計(jì)算機(jī),要實(shí)際解決超高分辨率模擬的問題還得計(jì)算很長時(shí)間。我們?cè)跒闂畛退男』锇閭儦g呼的同時(shí),也期待著更多的氣象氣候、計(jì)算數(shù)學(xué)和計(jì)算機(jī)科學(xué)家早日攻克這一難題。
到那個(gè)時(shí)候,我們就可以徹底告別那些不靠譜的雪和不正經(jīng)的風(fēng)了!
拿到國際上去參評(píng)會(huì)泄露核心技術(shù)?
中國科學(xué)家斬獲這一獎(jiǎng)項(xiàng)后,不少人為之興奮,但也有網(wǎng)友提出疑問 : 中國人自己的科研項(xiàng)目,拿到國際上去參評(píng),會(huì)不會(huì)因此泄露核心技術(shù)?
楊超研究員對(duì)此給出如下回應(yīng):
ACM Gordon Bell(戈登貝爾)獎(jiǎng)的評(píng)審,的確需要發(fā)表論文并作答辯報(bào)告,這是事實(shí),但并不會(huì)因此泄露所謂的核心技術(shù)。
技術(shù)的發(fā)展是不斷演進(jìn)的,尤其是像超算這種高技術(shù)領(lǐng)域。戈登貝爾獎(jiǎng)在超算領(lǐng)域享有盛譽(yù),但是該獎(jiǎng)項(xiàng)設(shè)立近30年來,一直被美日等國壟斷。
今年,中國入圍了3個(gè)項(xiàng)目,并最終有一個(gè)奪獎(jiǎng),這不但展示了我們?cè)诩夹g(shù)上取得的突破,也更充分展示了我們?cè)诩夹g(shù)上的自信。中國的強(qiáng)大需要這種自信。
聯(lián)系客服