目前最強(qiáng)顯卡 為什么A卡不像N卡那樣,開發(fā)類似CUDA的API,從而可以做科學(xué)計(jì)算?
為什么A卡不像N卡那樣,開發(fā)類似CUDA的API,從而可以做科學(xué)計(jì)算?雖然NVIDIA顯卡有CUDA,amd顯卡也有OpenCL。事實(shí)上,CUDA和OpenCL都是為了滿足通用并行計(jì)算的需求而設(shè)計(jì)的。
為什么A卡不像N卡那樣,開發(fā)類似CUDA的API,從而可以做科學(xué)計(jì)算?
雖然NVIDIA顯卡有CUDA,amd顯卡也有OpenCL。事實(shí)上,CUDA和OpenCL都是為了滿足通用并行計(jì)算的需求而設(shè)計(jì)的。然而,CUDA是一個(gè)成熟的開發(fā)平臺(tái),它為NVIDIA提供了一個(gè)完整的工具包,相對(duì)來說更加專業(yè)和封閉。OpenCL是一個(gè)開放的標(biāo)準(zhǔn),被許多軟硬件制造商廣泛使用。
就科學(xué)計(jì)算而言,CUDA對(duì)開發(fā)人員更友好,應(yīng)用更廣泛。這與CUDA相對(duì)完整的開發(fā)工具包有很大關(guān)系。經(jīng)過多年的開發(fā),CUDA擁有比OpenCL更好的生態(tài)系統(tǒng),它更易于使用,對(duì)程序員也更友好。雖然OpenCL是開放的,但是它的API設(shè)計(jì)很怪異,缺乏一致性,并且它的函數(shù)不是正交的,這并不簡(jiǎn)單,它還遠(yuǎn)遠(yuǎn)不夠成熟。
Amd顯卡目前不支持CUDA,但只能支持OpenCL。在一些科學(xué)計(jì)算程序中,AMD顯卡的計(jì)算效率明顯低于N顯卡。這就是CUDA的優(yōu)勢(shì)。amd之所以沒有像CUDA那樣開發(fā)API,是因?yàn)閍md沒有足夠的實(shí)力來制定這個(gè)標(biāo)準(zhǔn)。英偉達(dá)早在2006年就開始在gtx8800顯卡上推出CUDA,經(jīng)過這么多年的發(fā)展,英偉達(dá)已經(jīng)投入了巨大的人力物力取得了今天的成績(jī),包括一年一度的GTC大會(huì),在CUDA和相關(guān)技術(shù)推廣方面做了大量的工作,而amd顯然缺乏這樣的工作。
事實(shí)上,作為同時(shí)開發(fā)CPU和GPU的半導(dǎo)體制造商,AMD要做到這一點(diǎn)并不容易。在資金不能大幅度增長(zhǎng)的情況下,顯卡業(yè)務(wù)只要做好自己的工作就非常好。至于新的API標(biāo)準(zhǔn),顯然很難做到。我們只能期待OpenCL有一個(gè)更好的未來。
哪些NVIDIA顯卡支持CUDA技術(shù)?
在硬件方面,NVIDIA開始支持geforce9xxx系列圖形卡的CUDA技術(shù),即G92/G94/G96內(nèi)核。以前的g80核心系列也可以部分支持CUDA技術(shù),但性能效率和軟件兼容性還不完善。
但是,通過對(duì)驅(qū)動(dòng)程序級(jí)別的優(yōu)化,NVIDIA使從geforce8xxx系列圖形卡開始的所有產(chǎn)品都支持CUDA通用計(jì)算技術(shù)。也就是說,從g80/g84/g86的核心開始,未來的產(chǎn)品支持CUDA技術(shù)。