英偉達(dá)公布開源CUDA編譯器及源代碼
英偉達(dá)公司宣布,LLVM現(xiàn)已支持英偉達(dá)GPU,從而讓更多的研究人員、獨(dú)立軟件供應(yīng)商(ISV)以及編程語言能夠利用GPU加速的優(yōu)勢(shì)。LLVM是一款在業(yè)內(nèi)極其流行的開源編譯器。
LLVM是一種應(yīng)用廣泛的開源編譯器架構(gòu),該架構(gòu)采用模塊化設(shè)計(jì),能夠輕松地新增對(duì)編程語言和處理器架構(gòu)的支持。CUDA 編譯器可支持C、C++ 以及Fortran語言,能夠?yàn)檫\(yùn)用大規(guī)模并行英偉達(dá)GPU的應(yīng)用程序加速。英偉達(dá)攜手LLVM開發(fā)者,共同提供針對(duì)LLVM內(nèi)核的CUDA 編譯器源代碼變化以及并行線程執(zhí)行后端。如此一來,程序員便能夠利用更廣泛的編程語言來針對(duì)GPU加速器開發(fā)應(yīng)用程序,從而令GPU 計(jì)算比以往任何時(shí)候都更加唾手可得、更加普遍。
LLVM支持各種各樣的編程語言和前端,其中包括C/C++、Objective-C、Fortran、Ada、Haskell、Java bytecode、Python、Ruby、ActionScript、GLSL以及Rust。它也是英偉達(dá)在其CUDA C/C++ 架構(gòu)中所采用的編譯器架構(gòu),長(zhǎng)期以來一直被蘋果、AMD以及Adobe等領(lǐng)先企業(yè)廣泛采用。
Double Negative公司研究員兼LLVM項(xiàng)目貢獻(xiàn)者Dan Bailey表示:“Double Negative 已經(jīng)將其流體動(dòng)力學(xué)解算軟件移植到Jet這一特定領(lǐng)域的語言上來,該語言就是基于LLVM的。 除了支持的現(xiàn)有架構(gòu)以外,英偉達(dá)的全新開源LLVM編譯器讓程序員能夠毫不費(fèi)力地編譯那些針對(duì)英偉達(dá)GPU架構(gòu)而大力優(yōu)化的代碼,從而可大幅加速電影視覺特效中用到的模擬計(jì)算。”
MathWorks公司并行計(jì)算營(yíng)銷高級(jí)經(jīng)理Silvina Grad-Freilich指出:“MathWorks 運(yùn)用LLVM工具鏈元件來在MATLAB語言中新增GPU支持。對(duì)我們所服務(wù)的技術(shù)領(lǐng)域來說,GPU支持與開源LLVM編譯器非常有價(jià)值。”
英偉達(dá)公司GPU計(jì)算軟件總經(jīng)理Ian Buck表示:“我們向LLVM提供的代碼是在屢獲殊榮的主流CUDA 產(chǎn)品上開發(fā)出來的,因而能夠?yàn)槌绦騿T確??煽啃砸约巴耆嫒莓?dāng)今PC與服務(wù)器中安裝的數(shù)億顆英偉達(dá) GPU。對(duì)于GPU計(jì)算來說,這無疑是一個(gè)改變行業(yè)面貌的里程碑,讓研究人員和程序員能夠無比靈活地選用各種編程語言和硬件架構(gòu)來開發(fā)其下一代應(yīng)用程序。”
更多計(jì)算機(jī)與外設(shè)信息請(qǐng)關(guān)注:21ic計(jì)算機(jī)與外設(shè)頻道