文/魏臻
高性能計(jì)算,高興能計(jì)算
文/魏臻
在業(yè)界,“高性能計(jì)算”是個(gè)越來(lái)越火的詞,在高校里,它的另一個(gè)兄弟“并行計(jì)算”更為大家所熟悉,在很多場(chǎng)合,這兩個(gè)詞指代的其實(shí)是同一個(gè)很有意思很有潛力的領(lǐng)域。之所以說(shuō)它有意思有潛力,是因?yàn)槟贻p的計(jì)算機(jī)學(xué)科和其他歷史悠久的學(xué)科交叉結(jié)合在一起,迸發(fā)了魔術(shù)般絢爛奪目的光彩。
2004年我還在中國(guó)科學(xué)技術(shù)大學(xué)讀本科大四的時(shí)候,在機(jī)房做“并行計(jì)算導(dǎo)論”課程的上機(jī)作業(yè),上這門課程的教師就是并行計(jì)算領(lǐng)域的領(lǐng)軍人物陳國(guó)良院士和他的弟子、我的朋友孫廣中博士。我正專心敲著代碼呢,幾個(gè)不認(rèn)識(shí)的其他院系的同學(xué)走了進(jìn)來(lái),看來(lái)也是來(lái)上機(jī)的。
不過(guò)他們進(jìn)來(lái)后不久,就開始抱怨后臺(tái)的計(jì)算機(jī)性能太差,軟件硬件的版本都太落后。
當(dāng)時(shí)我自認(rèn)為是計(jì)算機(jī)科學(xué)技術(shù)專業(yè)“科班出身”,自然要比他們對(duì)計(jì)算機(jī)的了解強(qiáng)很多,所以有點(diǎn)輕視地說(shuō)你們懂高性能計(jì)算嗎。這時(shí)一個(gè)年齡看起來(lái)跟我差不多大的學(xué)生說(shuō)了一番話,原話我記不住了,大意就是“你們計(jì)算機(jī)專業(yè)碩士學(xué)的這點(diǎn)并行計(jì)算內(nèi)容,在我們實(shí)驗(yàn)室還不如個(gè)本科生,我們實(shí)驗(yàn)室的機(jī)器也比這機(jī)器強(qiáng)多了,要不是這幾天我們的機(jī)器出了故障,又急著等一個(gè)結(jié)果跑出來(lái)發(fā)論文,我們才不想過(guò)來(lái)呢。計(jì)算機(jī)它只有跟各行各業(yè)領(lǐng)域充分結(jié)合時(shí)才能發(fā)揮出最大的功用。計(jì)算機(jī)專業(yè),就是應(yīng)該做好其他專業(yè)行業(yè)的服務(wù)業(yè)。哪一天我們物理、數(shù)學(xué)、生物這些傳統(tǒng)學(xué)科真的不用關(guān)心并行計(jì)算機(jī)、并行算法、并行程序了,才好呢。我不想懂什么高性能計(jì)算,我只在乎高興了就能計(jì)算?,F(xiàn)在是反過(guò)來(lái)了,要難搞的機(jī)器高興了,難寫的算法高興了,難調(diào)的程序高興了,我們才能計(jì)算,這哪行啊?!庇谑俏覇】跓o(wú)言。
在有少年班的科大,從來(lái)都不缺少這樣遭遇牛人的意外。而“我不想懂什么高性能計(jì)算,我只在乎高興了就能計(jì)算”這樣的論點(diǎn),我在微軟高性能計(jì)算部門工作的三年多中又多次從制造業(yè)、金融、多媒體渲染等行業(yè)客戶和合作伙伴那里聽到。
這也顯示了一個(gè)有趣的現(xiàn)象,高校里最懂高性能計(jì)算的,并不一定是計(jì)算機(jī)專業(yè)的師生,而往往是其他學(xué)科有高性能計(jì)算需求的師生,同樣在業(yè)界最懂高性能計(jì)算的,也不一定是計(jì)算機(jī)專業(yè)的科學(xué)家和工程師,而往往是各行各業(yè)的領(lǐng)域?qū)<摇?/p>
其實(shí)在高校關(guān)于高性能計(jì)算的課程設(shè)置和人才培養(yǎng)上也能看出同樣的規(guī)律,大多計(jì)算機(jī)專業(yè)只在“計(jì)算機(jī)體系結(jié)構(gòu)”、“操作系統(tǒng)”、“計(jì)算機(jī)算法”等課程中對(duì)并行概念點(diǎn)到為止,專門開設(shè)《并行計(jì)算》課程的高校屈指可數(shù),而實(shí)施起來(lái)也容易變成“空中樓閣”,學(xué)生除了用MPI寫寫類似“Hello World”的并行程序,并沒(méi)機(jī)會(huì)接觸實(shí)際應(yīng)用。
相反,數(shù)理化專業(yè)開設(shè)如何利用并行計(jì)算幫助科研的課程卻屢見不鮮,學(xué)生目標(biāo)明確,更容易體會(huì)到高性能計(jì)算的威力和甜頭,只是計(jì)算機(jī)基礎(chǔ)偏弱,有時(shí)候?qū)W起來(lái)比較費(fèi)力。
鑒于高性能計(jì)算領(lǐng)域的發(fā)展,在硬件和軟件上離“高興能計(jì)算”的目標(biāo)都還有距離,我建議,對(duì)于有興趣從事高性能計(jì)算,或者說(shuō)用高性能計(jì)算來(lái)讓自己“高興能計(jì)算”的學(xué)生,既要認(rèn)真琢磨清楚并行計(jì)算機(jī)的體系結(jié)構(gòu)和工作原理、并行算法的一般規(guī)律和常見模式、并行程序的開發(fā)特性和調(diào)試技巧,也要針對(duì)某一具體領(lǐng)域的應(yīng)用夯實(shí)基礎(chǔ),積極實(shí)踐,這樣自然能夠積累很多實(shí)戰(zhàn)經(jīng)驗(yàn),其中甚至有很大一部分是放之各領(lǐng)域皆準(zhǔn)的問(wèn)題和解決方案的“模式”。
至于是否能在學(xué)校開設(shè)的課堂上學(xué)到這些內(nèi)容,可能很大程度上受制于學(xué)校的辦學(xué)條件,比如是否真能合理調(diào)配師資力量硬件設(shè)備,為交叉學(xué)科做好交叉教學(xué)。但是在大學(xué)階段最應(yīng)該培養(yǎng)的能力不就是自我學(xué)習(xí)能力嗎?學(xué)生完全可以沒(méi)有機(jī)會(huì)創(chuàng)造機(jī)會(huì),借用一句被用濫了的書名模版,讓自己“高性能計(jì)算,從入門到精通”。
我相信,我們?cè)诟咝阅苡?jì)算上培養(yǎng)出來(lái)的人才越多,離“高興能計(jì)算”的目標(biāo)也就更近。
魏臻
魏臻,2007年獲得上海交通大學(xué)計(jì)算機(jī)科學(xué)與工程系碩士學(xué)位?,F(xiàn)為微軟亞太研發(fā)集團(tuán)服務(wù)器與開發(fā)工具事業(yè)部的軟件開發(fā)工程師,專注于高性能計(jì)算的產(chǎn)品開發(fā),先后參與發(fā)布了微軟第一、第二代高性能產(chǎn)品。魏臻的另一個(gè)身份是高性能計(jì)算中文博客http://blogs.technet.com/chinahpc的博主。