文/林新華
“管窺GPU”九則
文/林新華
2004年,Intel宣布停止單核CPU研發,全面轉向多核C P U。“秦失其鹿”,各路協處理器們蠢蠢欲動。最老牌的FPGA,頂著IBM和當時世界第一超級計算機RoadRunner光環的CELL,以及附東京工大Tsubame驥尾的Clear Speed,一時間群雄逐鹿。然而nVIDIA的GPU在2005~2006年之間以GPGPU技術之名異軍突起,在2007年推出CUDA之后,終于一戰成功,結束了這場長達數年的“協處理器戰爭”。與現在偏安一隅的FPGA,瀕臨絕境的CELL和已經銷聲匿跡的ClearSpeed相比,GPU有兩大制勝利器:CUDA這柄技術的“倚天劍”以及價格這把商業的“屠龍刀”。凡是用過FPGA和CELL編程的人,都對GPU上有CUDA艷羨不已。相比之下,真是又快又好用。而通過與出貨量巨大的面向消費級市場的Geforce和專業圖形的Quadro并線生產核心單元(SM),使得面向HPC市場的Tesla成本極具競爭力。

比爾·蓋茨
2005年,時任微軟CEO的比爾·蓋茨在西雅圖召開的Supercomputing2005上做主題報告,吹響了微軟進軍HPC的號角:在西雅圖和上海分別建立HPC研發團隊,在全球與10所著名高校合作成立HPC創新研究院(上海交大作為國內惟一的合作單位也參與其中),并積極聯絡開源軟件社區和CAE等商業公司,希望借助中國等Windows基礎良好的市場,推動Windows HPC生態環境的良性發展。然而如今,HPC研發團隊重組到Azure,部門總經理跳槽亞馬遜,市場份額無足輕重,銷售業績不溫不火。這不能不讓人感嘆,吳軍在《浪潮之巔》中關于公司基因一說頗為在理,就像擅長企業市場的HP玩不轉消費級的Palm,強悍如蘋果也才剛剛試水企業市場,做商業的微軟果然還是缺少HPC的基因。nVIDIA則運氣頗佳,在它進軍HPC領域時,正好趕上SGI式微,順勢招攬到一大批技術和商業人才,這些人既能融入到nVIDIA中做圖形的基因,又幫助nVIDIA迅速形成了HPC基因。
2009年“天河1號”橫空出世,2010年“天河1A”不負眾望,成功登頂TOP500,其中GPU助力良多。光環之下,CPU+GPU的異構計算模式頓成時髦名詞。各地超算中心建設時免不得捎帶上些GPU,一些科研型用戶也嘗試購置GPU。GPU的市場份額穩步增加,但漸漸趨于飽和,原因無外大型超算中心數量畢竟有限,而科研型用戶的需求又較小,真正占大頭的生產型用戶在沒找到對口GPU軟件之前又不會大規模部署GPU。目前GPU在石油行業中頗為成功,就是因為花力氣研發了幾個關鍵算法軟件,而且成果在實際生產中立竿見影。也有傳聞說nVIDIA期待Tesla版本的Kepler銷量能超過歷代總和。

John Hennessy
在M.J.Flynn眼里,Cray的向量機,Intel的SSE和AVX指令集與nVIDIA的GPU都可以歸到單指令、多數據(SIMD)這一模型中。斯坦福大學校長John Hennessy和伯克利計算機系前主任David Patterson在合著的《計算機體系結構:量化研究方法》最新第5版中就遵循這種思路,將這三者放在一章中串講。現代的GPU使脫胎于古老向量機的SIMD編程模式重新煥發青春,這就如同多核CPU使原先針對SMP機器設計的OpenMP再次流行起來一般。與目前常用的并行工具MPI、OpenMP等多指令多數據(MIMD)模式相比,SIMD模式編程的思維方式更接近串行程序,功耗也更低,因為一條指令能同時處理多個數據。
2008年,Apple首先提出OpenCL,隨后Intel,nVIDIA和AMD各自派人跟進,希望借鑒OpenMP的成功經驗,在CUDA之外,制定為各公司廣泛接受并支持的通用GPU編程標準。但與PC時代的Windows,智能手機時代的Android一樣,出于對抗CUDA的目的,OpenCL希望支持盡可能多的廠商設備,因此在技術上它遇到的“性能可移植性”非常棘手,即為設備A所編寫的程序如何在不修改源代碼的情況下,在設備B、設備C上繼續獲得良好的加速性能。讓人郁悶的是,雖然OpenCL的設計初衷是“通用”的CPU+GPU異構計算標準,但現實中出于商業利益的考慮,號稱支持OpenCL的廠商都只做了“半吊子”的實現。Intel的OpenCL只支持Intel CPU,nVIDIA的OpenCL只支持nVIDIA GPU,AMD的OpenCL倒是能同時支持CPU和G P U,但只是A M D自家的產品。隨著2011年底nVIDIA宣布會陸續開放CUDA源代碼之后,OpenCL最大的亮點“開放性”也似乎黯淡了不少。

Ian Buck
CUDA之父Ian Buck博士畢業后加入nVIDIA,從他在斯坦福做的Brook中獲得了不少啟發,開創性地引入了SM內部線程同步機制,實現了單指令多線程SIMT的編程方式,并在2007年發布1.0版本,之后每個版本都有相當的提高。與FPGA和CELL相較,CUDA當然簡單易學,但對于一般應用開發者來說,上手還是比較困難。因此當Cray 前CTO Steve Scott加入nVIDIA成為Tesla部門的CTO之后,他力推基于編譯器指令的編程方式,聯合了老東家Cray、Portland Group和法國的CAPS,一起推出OpenACC規范,希望做到真正的簡單易學好上手。但目前并沒有支持OpenACC的免費編譯器可用:Cray的編譯器可以免費贈送,但只針對購買了Cray機器的用戶;Portland和CAPS的編譯器都是要收費的。現在讓開發者自個掏錢買開發工具的比較少見,在國內就更難了。或許nVIDIA收購其中一家的編譯器,然后免費發布給開發者倒不失為一個良策。
巨型機之父Seymour Cray曾說,“如果你要耕田,你會用一頭強健的公牛,還是一群母雞?”一觀點深刻影響了上個世紀整個HPC領域CPU設計的理念。直至以GPU為代表的眾核芯片出現,人們才發現“原來一群母雞也是可以耕田的,而且耕得還挺快!”作為Fermi下一代的Kepler,會在今年如期而至。Tesla版的Kepler核數將一舉突破1000大關,每個SM所含的SP也從32增加至192。性能增加約2倍但核數增加不止了2倍,Kepler無異是準備用“更多更小的母雞耕田”了。

Seymour Cray
也許是因為有了Larrabee痛苦的“流產”經歷,連一向大氣的Intel這次也學習了港人懷孕前三月避而不宣的傳統,對將要出世的第二代MIC Knights Corner諱莫如深。50+的奔騰核心配上PCIE2-X16的接口,從技術參數上看似乎與Fermi同一輩分。但年中發布的MIC遇到年底發布的Kepler,屆時不知會是一副怎樣的光景。MIC宣稱的能實現對現有OpenMP和MPI程序無改動編譯及顯著提速,具體能對多少真實應用起效果,也只能拭目以待了。
目前以CUDA為代表的x86+GPU的異構編程模式,其實還是以GPU計算為主,高性能高能耗的x86 CPU只負責程序的框架部分,比如邏輯判斷、I/O等邊角料的工作,既然這匹吃很多的“千里馬”干不上活,不妨換上“跑得慢但也吃的少”的駑馬——ARM。CARMA就是CUDA on ARM原型系統的代號。nVIDIA將在今年年中發布工程樣機,勇于吃螃蟹的西班牙巴塞羅那超算中心會在今年大規模部署CARMA。在大型超算能耗問題日益突出的情況下,或許低能耗低性能的ARM+低能耗高性能的GPU的組合在未來能與高能耗高性能的Intel CPU一競高下。
(作者系上海交通大學高性能計算中心副主任)
本文所闡述的觀點,為探討學術之用。僅代表作者本人意見,無關所在單位立場。
IBM與羅格斯大學開放超級計算機中心
美國羅格斯大學(Rutgers University)與IBM在新澤西州開放一個超級計算機中心,該中心將包括一臺價值330萬美元的超級計算機。這臺超級計算機名為“IBM Blue Gene/P”,大小大約相當于兩臺電冰箱,它配備了數千個中央處理器,將是美國東部地區性能最強的計算機之一。IBM希望它能夠入選下一年的全球超級計算機500強名單。
這臺超級計算機的分析能力與IBM在Jeopardy電視游戲展會上展示的Watson不相上下。
私有企業也將能夠使用這臺超級計算機。據羅格斯大學發言人稱,至少有12家來自新澤西州和紐約州的公司有意使用這臺超級計算機,包括百時美施貴寶、強生、施樂、西門子和摩根大通等。
超級計算機可以處理大量數據,比如基因序列和消費者購買趨勢等。例如,羅格斯大學的研究與經濟開發副總裁邁克爾帕扎尼(Michael Pazzani)稱,在普通臺式機電腦上進行一次基因分析需要一年的時間,但在這臺超級計算機上只要1天就夠了。
帕扎尼稱:“IBM與羅格斯大學簽訂了一份長期合作協議,這只是雙方合作的第一步。我們希望能成為全球十大學術計算中心之一。”他說,由于計算時間大大縮短,不再成為制約研究進度的因素,因此研究人員可以更好地發揮出他們的創造力。
加州風險投資公司Trident Capital的伊萬戈洛斯西毛迪思(Evangelos Simoudis)稱,新澤西的高性能計算中心在美國大學之中也是比較少見的,它將專注于幫助企業和科學家。他說,只有大型企業內部開發的超級計算機才能在規模上與羅格斯大學的超級計算機相比。
Blue Gene超級計算機將幫助羅格斯大學的研究人員執行分析工作,最初的分析對象是癌細胞、超導材料和預報洪水。
羅格斯大學希望這臺超級計算機可以幫助它吸引更多全國科學基金和全國健康研究院的專用撥款。
羅格斯大學顧問專家組將決定哪些公司能夠使用這臺超級計算機以及收費標準。羅格斯大學還計劃通過它培養出數百名科學和計算機科學的學生。
為了在財務和生命科學創新領域保持競爭力,建立足夠強大的計算機來分析海量數據已經成為21世紀的一項挑戰。同樣,隨著可用信息量的不斷增長,數據科學技術將成為美國最新的需求。
IBM與羅格斯大學早在幾年前就開始合作了,IBM與200多家大學建立了合作關系,幫助它們增強計算機分析能力,包括耶魯大學、西北大學和福德漢姆大學等。