複製鏈接
請複製以下鏈接發送給好友

DirectCompute

鎖定
Microsoft DirectCompute是一個應用程序接口(API),允許微軟的Windows Vista、Windows 7或更新版平台上運行的程序利用圖形處理器(GPU)進行通用計算,DirectCompute是Microsoft DirectX的一部分。雖然DirectCompute最初在DirectX 11 API中得以實現,但支持DX10的GPU可以利用此API的一個子集進行通用計算,支持DX11的GPU則可以使用完整的DirectCompute功能。
中文名
DirectCompute
性    質
用於GPU通用計算應用程序接口
開發公司
Microsoft
基    於
DirectX

DirectCompute介紹

DirectComputeGPU通用計算API

GPU通用計算技術,簡單的説就是讓GPU(顯卡核心)處理圖形數據之外的其他數據。
在過去的幾年裏,GPU一直以每年或每半年更新一代的速度發展,其發展速度已遠把CPU拋在後面。隨着DirectX 10規範的出現,GPU開始採用統一渲染架構,其性能與功能也變得更為強大,它能做的事情已不單只是運行3D遊戲,不少科學計算領域已開始利用GPU的優勢進行計算。ATI最先提出通用計算的概念,與斯坦福大學合作,在Folding@Home研究項目中利用ATI Radeon X1900作運算加速。通過GPU來模擬蛋白質合成,進而找尋有關蛋白質的疾病。自ATI R520 GPU問世以來,基於它的可編程架構,ATI投入大量資源研究通用計算,也就是説用GPU處理非圖形數據,處理一般在主流服務器和桌面處理器上運行的軟件,性能比CPU高出10-30倍。
由於CPU與GPU在架構完全不同,軟件要在GPU上運行,就必須通過特定的環境或接口。通俗來説,就是需要一種工具,把程序員的語言翻譯成GPU聽的懂的語言。這個工具,就叫做GPU通用計算API。目前主流的通用計算API包括OpenCL 、Directcompute。當然還有nVIDIA CUDA架構和ATI Stream架構也可實現相同的功能 。

DirectCompute技術硬件支持

nVIDIA Geforce8系列,9系列,GT200系列,GT400系列,GT500系列 ,GT600系列,ION系列。AMD Radeon HD4000系列,HD5000系列,HD6000系列顯卡均提供最Directcompute的硬件支持。

DirectCompute操作系統支持

Windows Vista(需更新KB971512補丁,以便打開Vista的DirectX 11支持)、Windows 7、Windows Server 2008提供對Directcompute的支持。Windows XP以下和非Windows系統不在支持之列。 [1] 

DirectCompute實際應用

DirectCompute視頻處理

GPU在視頻轉碼方面有着得天獨厚的優勢。Windows 7增加了視頻即時拖放轉換功能,可以將電腦中的視頻直接轉換到移動媒體播放器上,如果你的GPU支持Directcompute,那麼這一轉換過程就將由GPU完成。其轉換速度將達到CPU5-6倍。
Windows 7中的Windows Media Player和Windows Media Center增加了對H.264和Quicktime.mov.content高清播放的原生支持。Windows 7還增加了對由GPU支持的高清播放的in-the-box支持,可以流暢觀看,同時CPU佔用率很低。這一切都是藉助Directcompute實現的。
CyberLink旗下軟件最新版均提供Directcompute支持。在AMD顯卡上,通過ATI Stream技術實現,在nVIDIA顯卡上,則通過CUDA技術實現。 [1] 

DirectCompute物理加速

nVIDIA公司非常成功的將PhysX物理引擎,通過CUDA技術與Geforce顯卡相結合,誕生了nVIDIA PhysX物理加速技術,但是PhysX物理加速技術是基於私有的CUDA標準。為了與之競爭,AMD推出了基於OpenCL和Directcompute的“開放物理計劃”與之抗衡。開放物理計劃聯合了Havok、Bullet和Pixelux DMM三種物理引擎,基於ATI Stream、OpenCL和Directcompute,將AMD GPU中強大的並行計算能力運用到遊戲中去加速物理計算。同時開放物理計劃也貫徹了異構運算理念,由CPU+GPU聯合進行物理計算,GPU負責柔性材料模擬、流體模擬、爆炸模擬等大計算量的物理模擬計算。任何支持Directcompute技術的顯卡都將支持這一計劃。

DirectCompute動態模擬

動態模擬 動態模擬
利用Directcompute技術,GPU可以對自然界的事物做動態模擬,達到以假亂真的效果。
如圖《動態模擬》所示是nVIDIA製作的DEMO,透過Directcompute技術,在GPU上運算快速傅里葉變換,展現了模擬的動態海洋。
隨着技術的發展, 動態模擬越來越多的用到遊戲中,為我們在遊戲中帶來栩栩如生的虛擬世界。

DirectCompute網頁加速

Internet Explorer 9加入了對Directcompute技術的支持,可以調用GPU對網頁中的大計算量元素做加速計算,從而減輕CPU的負擔。 在AMD顯卡上,通過ATI Stream技術實現,在nVIDIA顯卡上,則通過CUDA技術實現。

DirectCompute辦公軟件

Excel2010、Powerpoint2010均提供Directcompute技術支持。在AMD顯卡上,通過ATI Stream技術實現,在nVIDIA顯卡上,則通過CUDA技術實現。 [1] 

DirectCompute參見條目

參考資料
  • 1.    Gianelli, Silvia E. (January 14, 2015). "Xilinx SDAccel Development Environment for OpenCL, C, and C++, Achieves Khronos Conformance". PR Newswire. Xilinx. Retrieved April 27, 2015.