歡迎來(lái)到 常識(shí)詞典網(wǎng) , 一個(gè)專業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
從很多方面來(lái)看,CUDA和OpenCL的關(guān)系都和DirectX與OpenGL的關(guān)系很相像。如同DirectX和OpenGL一樣,CUDA和OpenCL中,前者是配備完整工具包、針對(duì)單一供應(yīng)商(NVIDIA)的成熟的開發(fā)平臺(tái),后者是一個(gè)-的標(biāo)準(zhǔn)。 雖然兩者抱著相同的目標(biāo):通用并行計(jì)算。但是CUDA僅僅能夠在NVIDIA的GPU硬件上運(yùn)行,而OpenCL的目標(biāo)是面向任何一種Massively Parallel Processor,期望能夠?qū)Σ煌N類的硬件給出一個(gè)相同的編程模型。由于這一根本區(qū)別,二者在很多方面都存在不同: 1)開發(fā)者友好程度。CUDA在這方面顯然受更多開發(fā)者青睞。原因在于其統(tǒng)一的開發(fā)套件(CUDA Toolkit, NVIDIA GPU Computing SDK以及NSig-t等等)、非常豐富的庫(kù)(cuFFT,cuBLAS,cuSPARSE,cuRAND,NPP,T-rust)以及NVCC(NVIDIA的CUDA編譯器)所具備的PTX(一種SSA中間表示,為不同的NVIDIA GPU設(shè)備提供一套統(tǒng)一的靜態(tài)ISA)代碼生成、離線編譯等更成熟的編譯器特性。相比之下,使用OpenCL進(jìn)行開發(fā),只有AMD對(duì)OpenCL的驅(qū)動(dòng)相對(duì)成熟。 2)跨平臺(tái)性和通用性。這一點(diǎn)上OpenCL占有很大優(yōu)勢(shì)(這也是很多National Laboratory使用OpenCL進(jìn)行科學(xué)計(jì)算的最主要原因)。OpenCL支持包括ATI,NVIDIA,Intel,ARM在內(nèi)的多類處理器,并能支持運(yùn)行在CPU的并行代碼,同時(shí)還獨(dú)有Task-Parallel Execution Mode,能夠更好的支持Heterogeneous Computing。這一點(diǎn)是僅僅支持?jǐn)?shù)據(jù)級(jí)并行并僅能在NVIDIA眾核處理器上運(yùn)行的CUDA無(wú)法做到的。 3)市場(chǎng)占有率。作為一個(gè)-標(biāo)準(zhǔn),缺少背后公司的推動(dòng),OpenCL顯然沒有占據(jù)通用并行計(jì)算的主流市場(chǎng)。NVIDIA則憑借CUDA在科學(xué)計(jì)算、生物、金融等領(lǐng)域的推廣牢牢把握著主流市場(chǎng)。再次想到OpenGL和DirectX的對(duì)比,不難發(fā)現(xiàn)公司推廣的高效和非盈利機(jī)構(gòu)/標(biāo)準(zhǔn)委員會(huì)的低效(抑或謹(jǐn)慎,想想C++0x)。 我接觸的很多開發(fā)者(包括我本人)都認(rèn)為,由于目前獨(dú)立顯卡市場(chǎng)的萎縮、新一代處理器架構(gòu)(AMD的Grap-ics Core Next (GCN)、Intel的Sandy Bridge以及Ivy Bridge)以及新的SIMD編程模型(Intel的ISPC等)的出現(xiàn),未來(lái)的通用并行計(jì)算市場(chǎng)會(huì)有很多不確定因素,CUDA和OpenCL都不是終點(diǎn),我期待未來(lái)會(huì)有更好的并行編程模型的出現(xiàn)(當(dāng)然也包括CUDA和OpenCL,如果它們能夠持續(xù)發(fā)展下去)。下一篇:“黃昏抱貓向夕陽(yáng)”出自哪首詞??? 下一篇 【方向鍵 ( → )下一篇】
上一篇:如何從數(shù)據(jù)庫(kù)同時(shí)取出信息內(nèi)容的同時(shí)取出轉(zhuǎn)發(fā)來(lái)源的記錄? 上一篇 【方向鍵 ( ← )上一篇】
快搜