在黃小猛老師(清華大學(xué)超算參賽隊(duì)伍的帶隊(duì)老師)的帶領(lǐng)下,記者走進(jìn)一清華實(shí)驗(yàn)樓里的一間小屋,最先映入眼簾的是一張單人床,上面放著簡(jiǎn)單的被褥,還有一個(gè)圓桌擺在屋子的正中央,占據(jù)了小屋的大半部分面積……這就是清華大學(xué)“夢(mèng)之隊(duì)”的工作室?ASC2013冠軍隊(duì)就是在這么簡(jiǎn)陋的環(huán)境下誕生的?就在這樣一個(gè)與想象中相去甚遠(yuǎn)的場(chǎng)所中,在滿是疑惑的思緒中,開(kāi)始了采訪……
在介紹采訪內(nèi)容之前,筆者認(rèn)為有必要先簡(jiǎn)單介紹一下ASC大賽的背景和比賽規(guī)則:
ASC亞洲大學(xué)生超級(jí)計(jì)算機(jī)競(jìng)賽是由中國(guó)倡議成立,日本、俄羅斯、韓國(guó)、新加坡、泰國(guó)、中國(guó)臺(tái)灣、中國(guó)香港等國(guó)家和地區(qū)的超算專家和機(jī)構(gòu)聯(lián)合發(fā)起和組織,是與美國(guó)SC、德國(guó)ISC大學(xué)生超算大賽并駕齊驅(qū)的全球三大超算賽事之一,2013年是第一屆。中國(guó)大陸高校的前兩名可獲得參加6月份在德國(guó)舉行的ISC13國(guó)際大學(xué)生超級(jí)計(jì)算機(jī)競(jìng)賽資格。
各參賽隊(duì)由6名在校大學(xué)生組成,參賽學(xué)生必須為具有該校正式學(xué)籍的全日制在校本科生。每支參賽隊(duì)伍可配一名指導(dǎo)老師。參賽隊(duì)伍需按照競(jìng)賽評(píng)審委員給出的統(tǒng)一命題,在規(guī)定時(shí)間內(nèi)獨(dú)立完成超算系統(tǒng)方案、測(cè)試、優(yōu)化工作并提交書(shū)面報(bào)告,由評(píng)審委員會(huì)統(tǒng)一評(píng)定。
各參賽隊(duì)伍需要在3000瓦的總功耗約束條件下構(gòu)建小型超算系統(tǒng),并調(diào)試達(dá)到其最高運(yùn)算性能。在應(yīng)用考核上設(shè)置了五個(gè)應(yīng)用進(jìn)行測(cè)試和優(yōu)化:用于測(cè)試超級(jí)計(jì)算機(jī)系統(tǒng)浮點(diǎn)性能的Linpack測(cè)試、研究生物分子體系的分子動(dòng)力學(xué)應(yīng)用GROMACS等四個(gè)國(guó)際常用應(yīng)用測(cè)試,以及組委會(huì)特別設(shè)置的“基于期權(quán)定價(jià)應(yīng)用BSDE”的MIC眾核并行優(yōu)化試題。其中前兩道題是可以自由選擇計(jì)算平臺(tái),只有BSDE是必須使用MIC架構(gòu)進(jìn)行并行優(yōu)化。
從參賽隊(duì)伍的組建到比賽的結(jié)束,僅有三個(gè)月的時(shí)間,這三個(gè)月的時(shí)間里,要完成參賽隊(duì)伍的組件、架構(gòu)選擇、應(yīng)用調(diào)優(yōu)、測(cè)試等過(guò)程。選人組隊(duì),當(dāng)然是競(jìng)賽的第一步!
夢(mèng)之隊(duì)——一支具有“對(duì)抗性”和“策略性”的隊(duì)伍
在交流的過(guò)程中,記者發(fā)現(xiàn),清華大學(xué)參賽隊(duì)伍是一個(gè)充滿“對(duì)抗性”和“策劃性”的隊(duì)伍。
策劃性,主要是因?yàn)樵诒荣惖拿恳粋€(gè)環(huán)節(jié),清華都經(jīng)過(guò)了非常強(qiáng)的策劃手段,包括隊(duì)員選拔、架構(gòu)選擇、應(yīng)用調(diào)優(yōu)等方面,這些策略后文都會(huì)提到。
對(duì)抗性,是因?yàn)榍迦A的這6名隊(duì)員每一個(gè)都是實(shí)力非常強(qiáng),在編程方面具有非常豐富的經(jīng)驗(yàn),有的甚至從初中就開(kāi)始編程,并且團(tuán)隊(duì)協(xié)作非常之默契。隊(duì)長(zhǎng)徐持衡、負(fù)責(zé)硬件和系統(tǒng)的金昊衠、王欣亮、王凝枰(唯一一個(gè)大三的,其他都是大四的)、駱可強(qiáng),去年參賽隊(duì)的隊(duì)長(zhǎng)擔(dān)任黃小猛老師的助手。“參賽隊(duì)員每天在這邊工作的時(shí)間差不多14個(gè)小時(shí)左右,從早上到晚上一兩點(diǎn)鐘”,黃老師告訴記者,他說(shuō)的“這邊”就是采訪的那間小屋。
從隊(duì)員的組成來(lái)看,清華的隊(duì)員們都是計(jì)算機(jī)專業(yè)的本科生。然而,從比賽的應(yīng)用來(lái)看,物理、航空航天等專業(yè)的學(xué)生可能更熟悉比賽的應(yīng)用程序。當(dāng)記者問(wèn)到,有沒(méi)有考慮過(guò)選擇其他專業(yè)的學(xué)生做隊(duì)員時(shí),黃小猛表示,“從比賽奪冠的角度來(lái)說(shuō),只有計(jì)算機(jī)系的最好。因?yàn)榫退闶歉阄锢淼?,真把?yīng)用本身看懂了,再把代碼調(diào)優(yōu)了,三年時(shí)間也未必能做到。而我們只有三個(gè)月的時(shí)間,那只能是盡我們所能做到比別人強(qiáng)一點(diǎn)點(diǎn)”。
窮舉法確定架構(gòu)——GPU是最優(yōu)組合
主辦方規(guī)定BSDE應(yīng)用必須使用MIC架構(gòu)進(jìn)行并行優(yōu)化,因此,不涉及到硬件平臺(tái)的選擇方面,主要的工作集中在軟件調(diào)優(yōu)。還有其他的四個(gè)應(yīng)用,如何選擇計(jì)算平臺(tái)?這才是難點(diǎn)所在!
可以用純CPU計(jì)算,也可以用CPU加上GPU或者是MIC,還可以用CPU+GPU+MIC,到底該如何選擇? 3000W的功耗也限制了計(jì)算節(jié)點(diǎn)的數(shù)量,如何才能在有限的功耗范圍內(nèi)實(shí)現(xiàn)最高的計(jì)算速度?在計(jì)算平臺(tái)的選擇上,清華大學(xué)采用了窮舉法,在3000W的功耗范圍內(nèi),對(duì)所有可能的組合進(jìn)行測(cè)試,光是確定平臺(tái)就花了兩到三周的時(shí)間。
“最終,我們帶了10塊GPU卡參賽”,黃小猛在采訪中談到,“我們最先想到的是4塊MIC+6塊GPU,帶幾臺(tái)CPU,后來(lái)沒(méi)裝,因?yàn)楣谋葎澆粊?lái),在規(guī)定的能耗之內(nèi)效率上不去,沒(méi)有達(dá)到我們期望的必勝的效率。”
“MIC經(jīng)常會(huì)莫名其妙的變成互聯(lián)MIC,我們拿到的是被動(dòng)散熱的卡,一旦溫度過(guò)高后,就會(huì)限頻,限頻后溫度降下來(lái),頻率卻沒(méi)法回到原來(lái)那么高,會(huì)比原來(lái)更慢一些。還存在散熱的問(wèn)題,因?yàn)槟莻€(gè)MIC卡是3000瓦的被動(dòng)散熱,一般情況下被動(dòng)散熱不可以做到那么高。另外,服務(wù)器跟MIC卡之間也不是特別兼容”,其中一個(gè)隊(duì)員補(bǔ)充道,“MIC跟GPU的編程模式不太一樣, GPU的編程模式需要自己指定,英特爾的MIC是自動(dòng)指定,并且完全不知道bug出在哪,性能不好也完全不知道怎么回事”。
事實(shí)上,盡管其他四個(gè)可以自由選擇平臺(tái)的應(yīng)用都采用了GPU+CPU的機(jī)器,但其中真正用到GPU加速的只有OpenCFD和Linpack兩個(gè),另外兩個(gè)應(yīng)用——WRF和Gromacs只是把GPU放進(jìn)去了,主要是因?yàn)檫@兩個(gè)題目非常復(fù)雜,國(guó)外也沒(méi)把它改成GPU版。
賽場(chǎng)策略——穩(wěn)中取勝
“田忌賽馬”的故事告訴我們,隊(duì)伍的實(shí)力并不一定和比賽的結(jié)果成正比,比賽的結(jié)果很大一部分程度取決于戰(zhàn)略。盡管清華夢(mèng)之隊(duì)實(shí)力非凡,但策略方面,也絕對(duì)不輸旁人。
當(dāng)時(shí)比賽有五個(gè)應(yīng)用,其中有一個(gè)應(yīng)用是比較開(kāi)放的,代碼量比較小,方便大家去調(diào)整代碼,做特別大的優(yōu)化。
在那個(gè)應(yīng)用我們優(yōu)化到了幾萬(wàn)倍,然而,這種方法也存在著風(fēng)險(xiǎn)——因?yàn)榉椒ㄏ鄬?duì)來(lái)說(shuō)比較激進(jìn),可能會(huì)被組委會(huì)的人質(zhì)疑,比如說(shuō)算法去掉了一些部分或者算的不精確。究竟是不是該采取這樣激進(jìn)的辦法?
經(jīng)過(guò)綜合衡量,夢(mèng)之隊(duì)決定采用穩(wěn)中制勝的策略。“因?yàn)楫?dāng)時(shí)我們的成績(jī)已經(jīng)算領(lǐng)先一部分了,于是我們采取更保守的策略穩(wěn)中取勝。結(jié)果比下來(lái)發(fā)現(xiàn)有人比我們更快,于是后來(lái)我們不擔(dān)心這個(gè)事情了,大家都很開(kāi)心地把比賽比完了”,一個(gè)隊(duì)員告訴記者,臉上洋溢著回味和自豪笑容。
夢(mèng)之隊(duì),一只充滿夢(mèng)想和希望的隊(duì)伍,在他們的身上,我問(wèn)到了青春的氣息。