從2010.03寫到現在,我只是想寫 -- 把我對社會、人文、科技、產業、教育的觀察和感想寫出來。每次寫出當下所思所想,似乎腦袋可以清淨一點、心靈可以輕爽些。文章大多先在臉書上與臉友分享,隨後再轉到這裡。臉書網址為:https://www.facebook.com/shihhaohung
2015年9月4日 星期五
回黃博奕同學給我的感謝卡
這是剛畢業的碩班生黃博奕給我的感謝卡。
博奕謙稱他進實驗室的時候什麼都不會。我想這不是他個人如此,事實上大部分(我想有十之八九)進到碩士班的學生,不懂什麼是系統研究,更不用說要怎麼在系統領域上找問題、解問題,實作能力也很不足。
我特別為了這樣的學生開一門「系統研究專題」的課,為學生快速補充做系統研究所需的知識和技能,包括:Linux kernel, virtualization, hardware/software co-design, performance analysis, simulation,搭配實驗室的研究計畫,讓學生有辦法在短期間做出若干成果。
有些學生喜歡想新點子,有些學生比較喜歡幫忙學長解決問題,博奕比較像是後者,他幫忙過幾個計畫,但難度都頗高的。他先是研究如何將異質系統架構(HSA)虛擬化,接著探討如何讓HSA架構的GPU支援快速的context switch,但這兩個題目都遇到一些實驗環境上的問題,實作遇到困難,產生不出實驗數據。
我知道博奕遇到這些問題時,嘗試了很多方法,已經比一般學生有毅力了,可說是不屈不撓。但有時候研究不能夠硬碰硬,尤其是碩士班,通常必須在一年半載的時間內做出結果,所以必須要學會變通。
距離口試不到半年,博奕主動提出新題目,研究GPU/FPGA在執行OpenCL版本的蒙地卡羅模擬程式的效能差異。我當時想,這個題目也不容易做,搞不好就得延畢,但是博奕認為這個題目可以學到新東西,所以就毅然決然開始做新題目。
寫過OpenCL程式的朋友應該知道,寫程式雖然有其門檻,但學會寫出對的程式並不難,難的是寫出效能好的程式。要出效能好的OpenCL程式,必須懂得平行計算和GPU的架構,不然就算你拿過ACM程式競賽獎牌也沒用。
最後,博奕不只讓這個用於輻射癌症治療規劃的MCML程式(http://omlc.org/software/mc/),在GPU上的效能大幅改進,還說到做到,還這個程式能轉到FPGA上跑。試問,沒有扎實的學習,怎麼有辦法在短期間做出這些成果?這些都是所謂「不足為外人道」的成就 -- 只有內行人才知道這種沒有絢麗外表的工作,最好是能在解決多個疑難雜症之後,對人輕描淡寫地說「沒什麼」。
所以當博奕提到他「心理素質」變得更好,我想這是他個人努力不懈的結果。所謂「要怎麼收穫,就怎麼栽」,在研究生的生涯,不要只看研究的結果,更要看自己在研究方法、態度、和精神上,是不是有所長進。心理素質的成長,有時候比課業上的進步還要重要。
很多前瞻的系統研發計畫,如果要成功,不只需要有創新想法,也需要有毅力和不畏困難。我相信博奕的做事態度,一定能讓他在工作單位成為貢獻良多的棟梁人才。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言