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