超級計算機(jī)可視化突破瓶頸 正在遠(yuǎn)離GPU
在專門的圖形處理芯片誕生后,在一些可視化需求很高的超前領(lǐng)域里通常使用多內(nèi)核的超級計算機(jī)用以實現(xiàn)3D。不過超級計算機(jī)發(fā)展到今天,機(jī)器處理數(shù)據(jù)的速度早就超過了它們能夠的I/O傳輸速度。基于圖形處理器的集群正在變得過時。
沒有GPU,能否實現(xiàn)可視化?
美國阿爾貢實驗室以及其它地方的研究人員正試圖找到一種解決方案——他們正在進(jìn)行編程工作使得數(shù)以千計的處理器可以使超級計算機(jī)實現(xiàn)可視化,而不是將大量的數(shù)據(jù)都轉(zhuǎn)移向一個專門的圖形處理器渲染集群。
阿爾貢實驗室的兩位計算機(jī)科學(xué)家Tom Peterka、Rob Ross以及美國加利福尼亞大學(xué)戴維斯分校的兩位研究員于洪峰(音譯)、馬匡六(戴維斯加大電腦科學(xué)系華裔副教授)已經(jīng)為Intrepid(一臺IBM藍(lán)色基因超級計算機(jī))完成了一種軟件的編寫,使得數(shù)據(jù)完全繞過圖形芯片變成現(xiàn)實。“它允許我們在和數(shù)據(jù)附近——其實是同一臺機(jī)器里,運行可視化的實驗。” Peterka表示說,這個團(tuán)隊的解決方案避免了數(shù)據(jù)從次要的集群系統(tǒng)里轉(zhuǎn)移時產(chǎn)生的延遲。
Peterka從北卡州立大學(xué)的John Blondin與Oak Ridge國家實驗室的Anthony Mezzacappa獲得實驗數(shù)據(jù),代表著30步驟的模擬恒星的爆炸,這是像Argonne這樣的超級計算機(jī)能模擬的常見的數(shù)據(jù)。
通常情況下,Intrepid產(chǎn)生的可視化和后處理器的數(shù)據(jù)在557 Teraflops左右,這是世界上第七快的超級計算機(jī),需要一塊單獨的圖形處理器單元。在Petaflop的范圍里需要更強(qiáng)大的計算機(jī),目前還有更大的挑戰(zhàn)。
“集群系統(tǒng)越大,I/O傳輸問題就會越明顯。” Peterka說。在一個Petaflop級別的的超級計算機(jī)產(chǎn)生的數(shù)據(jù)寫入磁盤的時候需要不可想象的時間。原因很簡單:當(dāng)超級計算機(jī)迫不及待地奔向下一代的時候,存儲容量和存儲帶寬并沒有跟上腳步。
GPU拖累千萬億次成本?
這一差距意味著,未來的超級計算機(jī),只是可能無法負(fù)擔(dān)獨立的圖形處理單元。“在千萬億次級別,獨立的圖形單元不符合成本效益。” 勞倫斯伯克力國家實驗室的一位計算機(jī)系統(tǒng)工程師和可視化專家這樣認(rèn)為。他還指出,一臺類似于阿爾貢實驗室的Intrepid的可視化集群,通常投入在一百萬美元左右,但是在未來這種花費可能提升20%。
Pat McCormick主導(dǎo)了位于美國洛斯阿拉莫斯國家實驗室的世界上最快的超級計算機(jī)走鵑的可視化工作,他也認(rèn)為說Peterka有關(guān)直接可視化的工作是至關(guān)重要的,因為“這些機(jī)器正在變得越來越大,你真的沒有別的選擇,” McCormick說,“現(xiàn)有的以GPU為基礎(chǔ)的可視化方法以后將只適合某些類型的模擬。”
“如果你消耗掉了計算機(jī)所有的計算資源,我不認(rèn)為你還可以有選擇,” McCormick表示說,“如果你正在運行這么大規(guī)模的計算,你將必須在一個地方工作,因為它會一直不斷地產(chǎn)生數(shù)據(jù),你哪還有多余的計算資源去處理這些數(shù)據(jù)?”
Peterka、McCormick以及Hank Childs都在設(shè)想,未來的超級計算機(jī)可以實現(xiàn)仿真可視化的“就地處理”,數(shù)據(jù)邊產(chǎn)生邊處理,而不是在全部產(chǎn)生后再進(jìn)行處理。
“如果要在數(shù)據(jù)全部產(chǎn)生后再進(jìn)行處理,這就需要繞行I/O,” Childs如此表示,“你永遠(yuǎn)不用向磁盤里寫東西??梢栽诎l(fā)生的時候采取可視化程序和鏈接直接將仿真代碼輸出圖像。”
當(dāng)然,這種做法并非完全沒有缺陷。“超級計算機(jī)是非常寶貴的資源,” Childs提示說,“有人做了一個仿真模擬,然后這些數(shù)據(jù)耗費了一個小時來處理——這是非常昂貴的。”
隨著桌面電腦向超級計算機(jī)和GPU一樣融入到多核的世界和大型并行處理中,Peterka認(rèn)為遠(yuǎn)離某種特殊功能的處理器會成為趨勢。AMD已經(jīng)推出了OpenCL代碼,這使得有可能在任何X86的芯片上運行為GPU所寫的代碼——反之亦然。 #p#page_title#e#