Microsoft DirectCompute (マイクロソフト・ダイレクトコンピュート) は、Microsoft Windows OS上で"General-Purpose computing on Graphics Processing Unit" (GPGPU) をサポートするためのアプリケーション・プログラミング・インターフェイス(API)の1つである。

概要

編集

DirectComputeWindowsAPIMicrosoft DirectX115.0DirectX 11Direct3D11GPUDirectX 10.xDirectX 11GPUcs_5_0cs_4_0cs_4_1[1] [2] [3] [4] [5]DirectComputeen:Khronos GroupOpen Computing Language (OpenCL) NVIDIACompute Unified Device Architecture (CUDA) 

DirectComputeDirectX 11Windows VistaSP2 Platform UpdateWindows 7Windows 8.xWindows 10Windows 11

Windows 10DirectX 12 (Direct3D 12) DirectX 11APICPU[6]Direct3D 12APIAPI (PSO)  (DirectCompute) [7]Root SignatureRasterizer Ordered View (ROV) ROV使cs_5_1[8] [9] [10]

コンピュートシェーダー

編集

DirectCompute使Direct3D 11 APIDirect3D 12 APIGPU HLSL使Direct3D使GPGPU[11] HLSLCUDAOpenCL Direct3DAPIOpenGL4.3Direct3DOpenGLGLSL使

DirectComputeCUDAOpenCLDirect3DDirect3D/HLSLDirectX 11/DirectX 12

ダウンレベルハードウェアでの実行

編集

前述のようにDirectX 10.x世代のGPUであってもDirectX 11 APIを使ってDirectComputeを実行することができるが、DirectX 11フル対応のGPUと比較して実行可能条件にいくつかの制約があるため、使用する際は注意が必要となる[12]。なお、DirectX 10.x(シェーダーモデル4.x)対応のコンピュートシェーダーはDirectCompute 4.x、およびDirectX 11(シェーダーモデル5.0)対応のコンピュートシェーダーはDirectCompute 5.0とも呼ばれる[13]

倍精度浮動小数点数サポートに関しては、DirectCompute 4.xでは完全に不可能だが、DirectCompute 5.0では任意対応となる。

D3DCSX

編集

Direct3D 11用のマイクロソフト公式拡張ライブラリとしてD3DX 11が存在するが、その中でもさらにDirectCompute(コンピュートシェーダー)の拡張ライブラリとしてD3DCSXが存在する[14]。D3DCSX 11にはFFTおよびスキャンアルゴリズムが実装されている。

採用事例

編集

C++ AMP

編集

脚注

編集


(一)^ AMDGPGPU - ATI StreamDirectX Compute Shader (4) GPGPU? | 

(二)^ ASCII.jpGPGPUWindowsDirectCompute (2/2)Windows

(三)^ DirectCompute | NVIDIA Developer

(四)^ CUDA - NVIDIA (201113) []

(五)^ Nigel Dessau, senior VP and CMO at AMD, about DirectCompute - AMD (201113DirectCompute) []

(六)^ What is Direct3D 12? (Windows)

(七)^ DirectCompute in DirectX12: Innovations from the Game Space

(八)^ Shader Model 5.1 (Windows)

(九)^ HLSL Shader Model 5.1 Features for Direct3D 12 (Windows)

(十)^ Hardware Feature Levels (Windows)

(11)^   | Microsoft Learn

(12)^  

(13)^ Compute Shader Overview - Win32 apps | Microsoft Learn

(14)^ D3DCSX 11 Interfaces (Windows)

(15)^ BattleForge - AMD

(16)^ Battleforge: The First DX11 Game - AMDs Radeon HD 5850: The Other Shoe Drops

(17)^ AMD Gaming: 11 Days of DirectX® 11, Day Nine: GSC | AMD Blogs

(18)^ CEDEC 2010 - Windows2DirectX 11() (1) DirectCompute(1) | 

(19)^ 西3DDirectCompute - GAME Watch

(20)^ Battlefield 4 + Frostbite + Mantle

(21)^ 4Gamer.net  DiRT 2DirectX 11

(22)^ 4Gamer.net  DirectX 11AMDDirectX

(23)^ AMD Gaming: DiRT 3- Rally racing is back | AMD Blogs

(24)^ GS-4108, DirectCompute in Gaming, by Bill Bilodeau

(25)^ "GPU Computing for Games", Cem Cebenoyan, gameworks.nvidia.com

(26)^ Beyond Programmable Shading Course; ACM SIGGRAPH 2010; DirectCompute Use in Real-Time Rendering Products; Chas. Boyd, Microsoft Windows Graphics

(27)^ 4Gamer.net  GDC 2013PCTOMB RAIDER

(28)^ CEDEC 2013TOMB RAIDERPCTressFX Hair - 4Gamer.net

(29)^ AMD APU13: AMD Talks DirectCompute in Gaming

(30)^ Radeon SDK - Enhance Your 3D Graphics Development - AMD

(31)^ Introducing NVIDIA HairWorks: fur and hair simulation solution | PhysXInfo.com - PhysX News

関連項目

編集

外部リンク

編集