"計(jì)算正在從CPU"中央處理"向CPU與GPU"協(xié)同處理"的方向發(fā)展,。為了實(shí)現(xiàn)這一新型計(jì)算模式,,英偉達(dá)發(fā)明了英偉達(dá)CUDA并行計(jì)算架構(gòu),。該架構(gòu)現(xiàn)在正運(yùn)用于英偉達(dá) (NVIDIA)Tesla,、英偉達(dá)Quadro(NVIDIA Quadro)以及英偉達(dá)精視(NVIDIA GeForce)GPU上,。對(duì)應(yīng)用程序開(kāi)發(fā)商來(lái)說(shuō),,英偉達(dá) CUDA架構(gòu)擁有龐大的用戶群,。"
各領(lǐng)域CUDA扮演的角色
在科學(xué)研究領(lǐng)域,,英偉達(dá) CUDA 受到狂熱追捧,。例如,,英偉達(dá) CUDA 能夠加快AMBER這款分子動(dòng)力學(xué)模擬程序的速度。全球有6萬(wàn)余名學(xué)術(shù)界和制藥公司的科研人員使用該程序來(lái)加速新藥開(kāi)發(fā),。在金融市場(chǎng),,Numerix和CompatibL已宣布在一款對(duì)手風(fēng)險(xiǎn)應(yīng)用程序中支持英偉達(dá) CUDA ,,而且因此實(shí)現(xiàn)了18倍速度提升。
在GPU計(jì)算領(lǐng)域中,,英偉達(dá) Tesla GPU的大幅增長(zhǎng)說(shuō)明了英偉達(dá) CUDA 正被人們廣泛采用,。目前,全球《財(cái)富》五百?gòu)?qiáng)企業(yè)已經(jīng)安裝了700多個(gè)GPU集群,,從能源領(lǐng)域中的斯倫貝謝和雪佛龍到銀行業(yè)中的法國(guó)巴黎銀行,,這些企業(yè)的范圍十分廣泛。
在消費(fèi)級(jí)市場(chǎng)上,,幾乎每一款重要的消費(fèi)級(jí)視頻應(yīng)用程序都已經(jīng)使用CUDA加速,,其中不乏Elemental-Technologies公司、MotionDSP公司以及LoiLo公司的產(chǎn)品,。
在科研界,,CUDA一直受到熱捧。例如,,CUDA現(xiàn)已能夠?qū)MBER進(jìn)行加速,。AMBER是一款分子動(dòng)力學(xué)模擬程序,全世界在學(xué)術(shù)界與制藥企業(yè)中有超過(guò)60,,000名研究人員使用該程序來(lái)加速新藥的探索工作,。
CUDA是一個(gè)新的基礎(chǔ)架構(gòu),這個(gè)架構(gòu)可以使用GPU來(lái)解決商業(yè),、工業(yè)以及科學(xué)方面的復(fù)雜計(jì)算問(wèn)題,。它是一個(gè)完整的GPGPU解決方案,提供了硬件的直接訪問(wèn)接口,,而不必像傳統(tǒng)方式一樣必須依賴圖形API接口來(lái)實(shí)現(xiàn)GPU的訪問(wèn),。在架構(gòu)上采用了一種全新的計(jì)算體系結(jié)構(gòu)來(lái)使用GPU提供的硬件資源,從而給大規(guī)模的數(shù)據(jù)計(jì)算應(yīng)用提供了一種比CPU更加強(qiáng)大的計(jì)算能力,。CUDA采用C語(yǔ)言作為編程語(yǔ)言提供大量的高性能計(jì)算指令開(kāi)發(fā)能力,,使開(kāi)發(fā)者能夠在GPU的強(qiáng)大計(jì)算能力的基礎(chǔ)上建立起一種效率更高的密集數(shù)據(jù)計(jì)算解決方案。
發(fā)展現(xiàn)況
支持CUDA的GPU銷量已逾1億,,數(shù)以千計(jì)的軟件開(kāi)發(fā)人員正在使用免費(fèi)的CUDA軟件開(kāi)發(fā)工具來(lái)解決各種專業(yè)以及家用應(yīng)用程序中的問(wèn)題,。這些應(yīng)用程序從視頻與音頻處理和物理效果模擬到石油天然氣勘探、產(chǎn)品設(shè)計(jì),、醫(yī)學(xué)成像以及科學(xué)研究,,涵蓋了各個(gè)領(lǐng)域。
CUDA 的核心有三個(gè)重要抽象概念: 線程組層次結(jié)構(gòu),、共享存儲(chǔ)器,、屏蔽同步,可輕松將其作為C語(yǔ)言的最小擴(kuò)展級(jí)公開(kāi)給程序員,。
CUDA 軟件堆棧由幾層組成,,一個(gè)硬件驅(qū)動(dòng)程序,,一個(gè)應(yīng)用程序編程接口(API)和它的Runtime,還有二個(gè)高級(jí)的通用數(shù)學(xué)庫(kù),,CUFFT 和CUBLAS,。硬件被設(shè)計(jì)成支持輕量級(jí)的驅(qū)動(dòng)和Runtime 層面,因而提高性能,。
所支持的OS(operating system)
CUDA目前支持linux和Windows操作系統(tǒng),。進(jìn)行CUDA開(kāi)發(fā)需要依次安裝驅(qū)動(dòng)、toolkit,、SDK三個(gè)軟件,。在安裝目錄/C/src目錄下有很多的例程可以進(jìn)行學(xué)習(xí)。
NVIDIA進(jìn)軍高性能計(jì)算領(lǐng)域,,推出了Tesla&CUDA高性能計(jì)算系列解決方案,CUDA技術(shù),,一種基于NVIDIA圖形處理器(GPU)上全新的并行計(jì)算體系架構(gòu),,讓科學(xué)家、工程師和其他專業(yè)技術(shù)人員能夠解決以前無(wú)法解決的問(wèn)題,,作為一個(gè)專用高性能GPU計(jì)算解決方案,,NVIDIA把超級(jí)計(jì)算能夠帶給任何工作站或服務(wù)器,以及標(biāo)準(zhǔn),、基于CPU的服務(wù)器集群,。
CUDA是用于GPU計(jì)算的開(kāi)發(fā)環(huán)境,它是一個(gè)全新的軟硬件架構(gòu),,可以將GPU視為一個(gè)并行數(shù)據(jù)計(jì)算的設(shè)備,,對(duì)所進(jìn)行的計(jì)算進(jìn)行分配和管理。在CUDA的架構(gòu)中,,這些計(jì)算不再像過(guò)去所謂的GPGPU架構(gòu)那樣必須將計(jì)算映射到圖形API(OpenGL和Direct 3D)中,,因此對(duì)于開(kāi)發(fā)者來(lái)說(shuō),CUDA的開(kāi)發(fā)門(mén)檻大大降低了,。CUDA的GPU編程語(yǔ)言基于標(biāo)準(zhǔn)的C語(yǔ)言,,因此任何有C語(yǔ)言基礎(chǔ)的用戶都很容易地開(kāi)發(fā)CUDA的應(yīng)用程序。
由于GPU的特點(diǎn)是處理密集型數(shù)據(jù)和并行數(shù)據(jù)計(jì)算,,因此CUDA非常適合需要大規(guī)模并行計(jì)算的領(lǐng)域,。目前CUDA除了可以用C語(yǔ)言開(kāi)發(fā),也已經(jīng)提供FORTRAN的應(yīng)用接口,,未來(lái)可以預(yù)計(jì)CUDA會(huì)支持C++,、Java、Python等各類語(yǔ)言,??蓮V泛的應(yīng)用在圖形動(dòng)畫(huà),、科學(xué)計(jì)算、地質(zhì),、生物,、物理模擬等領(lǐng)域。2008年NVIDIA推出CUDA SDK2.0版本,,大幅提升了CUDA的使用范圍,。使得CUDA技術(shù)愈發(fā)成熟。
結(jié)尾
從最初發(fā)現(xiàn)GPU在深度學(xué)習(xí)計(jì)算方面的潛力,,到如今幾乎“無(wú)GPU不深度學(xué)習(xí)”的行業(yè)現(xiàn)狀,,英偉達(dá)毅然向人工智能轉(zhuǎn)型,投入大量資源用以研發(fā),,不斷推陳出新,,極大地推動(dòng)了GPU在人工智能計(jì)算的應(yīng)用,同時(shí)更推動(dòng)了人工智能行業(yè)的發(fā)展,。說(shuō)一句“深度學(xué)習(xí)計(jì)算≈英偉達(dá)”不算過(guò)分吧,。