要DX11還是PhysX?2009年顯卡技術分析
● DirectCompute和OpenCL:NVIDIA和ATI支持度不同
提起GPU通用計算,自然會讓人想到NVIDIA的CUDA、ATI的Stream以及開放式的OpenCL標準,再加上微軟推出的DirectCompute,四種技術標準令人眼花繚亂,他們之間的競爭與從屬關系也比較模糊。
首先我們來明確一下概念:
1. OpenCL類似于OpenGL,是由整個業界共同制定的開放式標準,能夠對硬件底層直接進行操作,相對來說比較靈活,也很強大,但開發難度較高;
2. DirectCompute類似于DirectX,是由微軟主導的通用計算API,與Windows集成并偏向于消費領域,在易用性和兼容性方面做得更出色一些;
3. CUDA和Stream更像是圖形架構或并行計算架構,NVIDIA和ATI對自己的GPU架構自然最了解,因此會提供相應的驅動、開發包甚至是現成的應用程序,通過半開放的形式授權給程序員使用。
CUDA和Stream我們暫且不提,先說說關于DirectCompute和OpenCL這兩大通用計算標準的故事。
● DirectCompute:A卡僅HD5000支持,N卡全系列都支持
理論上來說,DX10以上級別的顯卡都可以支持DirectCompute技術,但DirectCompute也分版本的,它與DirectX(或ShaderModel)是一一對應的(10.0、10.1、11.0),比如DX10顯卡就只支持DirectCompute 10(GPU-Z識別為DirectCompute 4.0),DX10.1顯卡支持DirectCompute 10.1(4.1),DX11顯卡支持DirectCompute 11(5.0)。

由于ATI HD4000都支持DX10.1,HD5000支持DX11,按理說在DirectCompute支持方面A卡是絕對強于N卡的。但目前AMD只為HD5000提供DirectCompute 11的支持,在昨天剛剛發布的催化劑9.12驅動中,AMD終于為HD4000開放了DirectCompute 10.1支持。



NVIDIA方面因為沒有DX11顯卡的關系,雖然不支持DirectCompute 11,但全線DX10顯卡都能支持DirectCompute 10,部分新顯卡支持DirectCompute 10.1,讓所有用戶都能使用Windows 7系統集成的轉碼功能。
● OpenCL:N卡驅動內置,A卡需要安裝特定Beta驅動
NVIDIA依靠強大的驅動研發團隊,對DirectCompute和OpenCL都第一時間提供了完美支持,所以打開GPU-Z的話我們可以看到N卡能夠支持所有的四項通用計算技術,而HD4000系列A卡默認是一項都不支持的。
AMD也有供開發者測試用的OpenCL Beta驅動,并未向普通用戶開放下載,必須進AMD官網注冊之后才能下載到特殊版本的驅動,這個驅動需要搭配催化劑9.12以及催化劑9.12Hotfix驅動才能生效,安裝之后GPU-Z就可以顯示全系列A卡都支持OpenCL了(官網鏈接)。
關注我們


