DirectCompute

DirectCompute

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

基本信息

介紹

GPU通用計算API

GPU通用計算技術,簡單的說就是讓GPU(顯示卡核心)處理圖形數據之外的其他數據。

DirectCompute DirectCompute

在過去的幾年裡,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架構也可實現相同的功能 。

技術硬體支持

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

作業系統支持

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

實際套用

視頻處理

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技術實現。

物理加速

DirectCompute 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

利用Directcompute技術,GPU可以對自然界的事物做動態模擬,達到以假亂真的效果。

右圖是nVIDIA製作的DEMO,透過Directcompute技術,在GPU上運算快速傅立葉變換,展現了模擬的動態海洋。

隨著技術的發展, 動態模擬越來越多的用到遊戲中,為我們在遊戲中帶來栩栩如生的虛擬世界。

網頁加速

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

辦公軟體

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

參見條目

•OpenCL

•CUDA

•GPGPU

相關詞條

相關搜尋

熱門詞條

聯絡我們