要DX11還是PhysX?2009年顯卡技術(shù)分析
● DirectCompute和OpenCL:NVIDIA和ATI支持度不同
提起GPU通用計(jì)算,自然會(huì)讓人想到NVIDIA的CUDA、ATI的Stream以及開放式的OpenCL標(biāo)準(zhǔn),再加上微軟推出的DirectCompute,四種技術(shù)標(biāo)準(zhǔn)令人眼花繚亂,他們之間的競(jìng)爭(zhēng)與從屬關(guān)系也比較模糊。
首先我們來(lái)明確一下概念:
1. OpenCL類似于OpenGL,是由整個(gè)業(yè)界共同制定的開放式標(biāo)準(zhǔn),能夠?qū)τ布讓又苯舆M(jìn)行操作,相對(duì)來(lái)說(shuō)比較靈活,也很強(qiáng)大,但開發(fā)難度較高;
2. DirectCompute類似于DirectX,是由微軟主導(dǎo)的通用計(jì)算API,與Windows集成并偏向于消費(fèi)領(lǐng)域,在易用性和兼容性方面做得更出色一些;
3. CUDA和Stream更像是圖形架構(gòu)或并行計(jì)算架構(gòu),NVIDIA和ATI對(duì)自己的GPU架構(gòu)自然最了解,因此會(huì)提供相應(yīng)的驅(qū)動(dòng)、開發(fā)包甚至是現(xiàn)成的應(yīng)用程序,通過(guò)半開放的形式授權(quán)給程序員使用。
CUDA和Stream我們暫且不提,先說(shuō)說(shuō)關(guān)于DirectCompute和OpenCL這兩大通用計(jì)算標(biāo)準(zhǔn)的故事。
● DirectCompute:A卡僅HD5000支持,N卡全系列都支持
理論上來(lái)說(shuō),DX10以上級(jí)別的顯卡都可以支持DirectCompute技術(shù),但DirectCompute也分版本的,它與DirectX(或ShaderModel)是一一對(duì)應(yīng)的(10.0、10.1、11.0),比如DX10顯卡就只支持DirectCompute 10(GPU-Z識(shí)別為DirectCompute 4.0),DX10.1顯卡支持DirectCompute 10.1(4.1),DX11顯卡支持DirectCompute 11(5.0)。
由于ATI HD4000都支持DX10.1,HD5000支持DX11,按理說(shuō)在DirectCompute支持方面A卡是絕對(duì)強(qiáng)于N卡的。但目前AMD只為HD5000提供DirectCompute 11的支持,在昨天剛剛發(fā)布的催化劑9.12驅(qū)動(dòng)中,AMD終于為HD4000開放了DirectCompute 10.1支持。
NVIDIA方面因?yàn)闆](méi)有DX11顯卡的關(guān)系,雖然不支持DirectCompute 11,但全線DX10顯卡都能支持DirectCompute 10,部分新顯卡支持DirectCompute 10.1,讓所有用戶都能使用Windows 7系統(tǒng)集成的轉(zhuǎn)碼功能。
● OpenCL:N卡驅(qū)動(dòng)內(nèi)置,A卡需要安裝特定Beta驅(qū)動(dòng)
NVIDIA依靠強(qiáng)大的驅(qū)動(dòng)研發(fā)團(tuán)隊(duì),對(duì)DirectCompute和OpenCL都第一時(shí)間提供了完美支持,所以打開GPU-Z的話我們可以看到N卡能夠支持所有的四項(xiàng)通用計(jì)算技術(shù),而HD4000系列A卡默認(rèn)是一項(xiàng)都不支持的。
AMD也有供開發(fā)者測(cè)試用的OpenCL Beta驅(qū)動(dòng),并未向普通用戶開放下載,必須進(jìn)AMD官網(wǎng)注冊(cè)之后才能下載到特殊版本的驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)需要搭配催化劑9.12以及催化劑9.12Hotfix驅(qū)動(dòng)才能生效,安裝之后GPU-Z就可以顯示全系列A卡都支持OpenCL了(官網(wǎng)鏈接)。
關(guān)注我們
