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