可編程圖形芯片進入并行計算領(lǐng)域
Andy Keane: FPGA僅在金融領(lǐng)域與可編程GPU形成競爭,其它并行計算領(lǐng)域沒有威脅。
“石油/天然氣/地震資料處理、金融風(fēng)險建模、醫(yī)療成像、有限元計算、生物序列匹配等新興應(yīng)用領(lǐng)域需要大規(guī)模并行計算能力,而我們專業(yè)的可編程GPU具有128個處理器內(nèi)核,非常適合于這些并行計算場合的需要,”nVidia專業(yè)解決方案事業(yè)部全球銷售副總裁Walter Mundt-Blum說道。他以金融行業(yè)為例進行了解釋,金融是并行計算的一個重要領(lǐng)域,如實時期權(quán)隱含波動引擎需要多個畫面圖形數(shù)據(jù)分析,進行互換期權(quán)波動計算,而GPU能進行單精度準確性計算,可在不到1秒鐘的時間內(nèi)評估所有美國的股票期權(quán)。
還有一個例子是醫(yī)療成像。在先進的醫(yī)療設(shè)備當(dāng)中,比如像CT機或者是核磁共振,往往傳感器會給出大量數(shù)據(jù)需要同時進行處理,這對GPU來說非常適用。“另外像地質(zhì)堪探,往往要處理非常大量的數(shù)據(jù),甚至有時候會使用T字節(jié)級的數(shù)據(jù)進行分析。這個領(lǐng)域已有用戶在使用我們的GPU,與CPU相比GPU的速度可提高17~20倍左右,假設(shè)你用一個GPU的話,可能得使用20個CPU才行。”Mundt-Blum說道。
另外一個非常有趣的領(lǐng)域就是可編程GPU能夠使機器有一些認知能力,像狗的嗅覺一樣,使機器能夠聞出癌細胞。nVidia已在美國和一家公司合作,對嗅覺進行一些和模擬,利用GPU教電腦學(xué)會聞東西,預(yù)計幾年之后我們就會看到這類研究和制作成果。
然而,大規(guī)模并行計算領(lǐng)域也正是其它新型半導(dǎo)體器件如多核CPU、多核DSP以及FPGA等瞄準的新興應(yīng)用,CPU和DSP向多核發(fā)展正是因為看好并行計算這個巨大的市場,而FPGA天生就在并行計算上具有優(yōu)勢。
眾所周知,傳統(tǒng)GPU是基于ASIC結(jié)構(gòu),是不可編程的,現(xiàn)在nVidia大力推廣其可編程GPU,也是因為看好并行計算這一重要的市場,但他們一定會面臨其它技術(shù)的巨大壓力。“我們承認在某些領(lǐng)域與一些器件有沖突,比如在金融領(lǐng)域與FPGA有沖突,但是與其它器件沖突不會很大,GPU不與多核CPU沖突,而是與其互補。另外,多核DSP在并行計算領(lǐng)域的應(yīng)用剛開始,還不是競爭對手。”該公司GPU計算事業(yè)務(wù)部總經(jīng)理Andy Keane對本刊表示。Keane曾在賽靈思公司任職,在賽靈思早期進行的可重配置計算以及FPGA系統(tǒng)開發(fā)中發(fā)揮了重要作用。他解釋道:“FPGA針對金融領(lǐng)域的并行計算比較有優(yōu)勢,但是在其它領(lǐng)域不構(gòu)成競爭。此外,其可編程性不如GPU,且FPGA的開發(fā)時間長,F(xiàn)PGA芯片也在不斷變化。可編輯GPU使用起來更方便,我們采用了基于C++語言的開發(fā)環(huán)境CUDA。”
對于業(yè)界普遍認為可編程GPU將與多核CPU競爭的觀點他并不認同,因為兩者完成的功能不同,多核CPU更適合于操作系統(tǒng)、數(shù)據(jù)庫、產(chǎn)能、臨時壓縮、遞歸算法等的處理。CPU的特長是當(dāng)從高速緩存獲取數(shù)據(jù)時,盡可能快地執(zhí)行一系列順序指令。CPU以很小的單位管理數(shù)據(jù)并順序地進行處理,信息的每個部分都必須等待著經(jīng)過單獨的執(zhí)行單元,單獨的執(zhí)行單元非常靈活,但不能并行地處理信息。而可編程GPU被設(shè)計用于進行一種完全不同的處理方式。在GPU內(nèi)部有128個處理器,每個處理器都可以同時采用并行方式計算一部分數(shù)據(jù),此外GPU硬件設(shè)計能夠管理數(shù)千個并行線程,這些線程全部由GPU創(chuàng)建和管理,不需要開發(fā)人員進行任何編程和管理,設(shè)計方便可行??删幊蘂PU上還有快速存儲系統(tǒng)——最大可至每秒76Gb。通過將并行計算放在GPU上而同時將串行計算放在CPU上,應(yīng)用程序可以從這兩種計算中充分受益。“我們不會替代多核CPU。”Keane再次強調(diào)道。
其實nVidia在2002年就引入了在GPU中進行計算的技術(shù),推出了第一個可編程GPU,“那時我們的編程單元只涉及了GPU的很小一塊——著色器,于是在2002年,我們開始有了可編程的著色器。”Keane介紹道。通過將32位浮點技術(shù)搭載在GPU中,該公司期待開發(fā)人員將GPU超強的計算能力用于應(yīng)用程序而不是圖形。但早期的GPU是用類似OpenGL或Cg的圖形API編程的,這些API很難并且大多數(shù)開發(fā)人員對這類API也不熟悉。
2003年,nVidia開始了一項旨在使GPU計算更容易的全新嘗試,并于2006年成功推出基于現(xiàn)在8系列GPU的CUDA技術(shù)。該公司開發(fā)了一個C程序,然后把CPU的代碼和GPU的代碼在源代碼當(dāng)中共存,而CUDA則成為串行計算和并行計算的連接。目前所有的8系列GPU,包括從筆記本電腦到高性能計算系統(tǒng),都具有CUDA技術(shù)。為方便統(tǒng)一串行CPU編程以及采用GPU并行計算,nVidia還設(shè)計了CUDA環(huán)境。“將來,我們認為CUDA環(huán)境還會用在GPU以外的處理器上,”Keane表示。“兩種計算方式——串行處理和并行計算——在每個應(yīng)用程序中都具有其可取之處,CUDA將是統(tǒng)一這兩種處理和計算方法的計算方式。”
目前nVidia高性能GPU有三個平臺,即用于高性能計算的Tesla、用于專業(yè)工作站圖形處理的Quadro以及用于娛樂的GeForce。Tesla適合的應(yīng)用包括地震、Monte Carlo服務(wù)器、分子動力學(xué)、天體物理學(xué)和信號處理;Quadro適合的應(yīng)用包括圖像、體視化、醫(yī)學(xué)成像、專業(yè)視頻和CAD等;GeForce適合的應(yīng)用包括圖像、音頻、編碼/解碼、壓縮和安全性應(yīng)用。GeForce平臺中目前僅有G8系列支持CUDA。“主要的區(qū)別在于Quadro支持OpenGL,性能是GeForce的五倍,尤其是它通過Shader Model 4.0、OpenGL和DX10進行了性能加速提高,更多關(guān)注垂直市場;Tesla集成內(nèi)存控制器和內(nèi)存,這對高性能計算非常重要。”Keane解釋道。
nVidia的目標(biāo)是將并行計算能力帶入所有領(lǐng)域。隨著在所有nVidia的8系列GPU上都加入CUDA技術(shù),配備CUDA的GPU現(xiàn)已經(jīng)超過5千萬個。nVidia使得開發(fā)GPU并行程序更為簡單。將來,任何開發(fā)人員都能輕松地獲得一枚使用在筆記本電腦、低成本PC或高性能工作站中的可編程GPU。
評論