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