DirectCompute
アプリケーションでDirectComputeを使用する場合、Direct3D 11 APIもしくはDirect3D 12 APIを通してGPUデバイスを利用することになる。 プログラムの記述にはHLSLと呼ばれるシェーダー言語(シェーディング言語)を使用するが、これはDirect3Dの頂点シェーダーやピクセルシェーダーといったグラフィックスパイプライン記述用に使われている言語でもある。GPGPU用のシェーダープログラムはコンピュートシェーダーと呼ばれ、グラフィックスパイプラインとは独立して動作する。 HLSLのコンピュートシェーダーはCUDAやOpenCLのカーネル関数(並列実行単位)の記述に非常によく似ている。 なおDirect3Dの競合APIであるOpenGLでは、バージョン4.3でDirect3D同様のコンピュートシェーダーを導入した(OpenGLではコンピュートシェーダーの記述にGLSLを使用する)。
DirectComputeおよびコンピュートシェーダーがCUDAやOpenCLと比較して優れている点として、Direct3Dリアルタイムグラフィックスパイプラインとの連携がしやすい(シミュレーションの実行と可視化に向いている)、Direct3D/HLSLをすでに利用している場合は修得が容易である、などが挙げられる。また、マイクロソフトプラットフォーム専用という制約はあるが、逆にDirectX 11/DirectX 12対応でさえあればいかなるデバイスでも動作するというメリットがある。