CUDA
CUDAの演算処理技術を利用するには、上述のハードウェア・OSのサポートに加えて、アプリケーションが対応していることが必要。一部アプリケーションベンダーより対応ソフトが出ている。
Freemake Video Converter (Free Make)(フリーソフトウェア)
MediaCoder (MediaCoder)(フリーソフトウェア)
LoiLoTouch (LoiLo)
Super LoiLoScope (LoiLo)
EDIUS
VideoStudio (COREL)
WinDVD (COREL)
PowerDirector (CyberLink)
PowerDVD (CyberLink)
TMPGEnc (ペガシス)
Adobe Photoshop CS4(アドビ)
Adobe After Effects CS4(アドビ)
Adobe Premiere Pro CS4(アドビ)
Blender (GPLのフリーソフトウェア)
Vegas Pro 10 (Sony Creative Software)
パスゲッター(インターナル)
Any Video Converter(フリーソフトウェア・シェアソフトウェア)
CUDA C はC言語とC++の一部の構文のみ対応。C言語を拡張している。CUDA C/C++のソースコードの拡張子には通例.cuが使われ、ヘッダーの拡張子には.cuhが使われる。BLASインターフェイス経由でベクトル・行列演算が可能(cuBLAS)。FFTライブラリ(cuFFT)も付属する。SDKとなるCUDA Toolkitには、CUDA実装によるC++向けのテンプレートベース並列アルゴリズムライブラリ「Thrust」も付属する。
なおCUDAバージョン7では、C++11規格のサポートが強化され、デバイスコードにおけるラムダ式の利用などが可能となっている 。 CUDAバージョン8では、機械学習向けのライブラリが強化され、Pascalアーキテクチャの固有機能を利用した拡張が多数追加された。
CUDA Fortran は The Portland Group (PGI) から提供されている。Fortran 2003 を拡張している。
NVIDIAのCUDAコンパイラnvcc自体はLLVMベースであり、新しいプログラミング言語や新しいプロセッサのサポートを追加するコンパイラSDKも提供されている。
DirectX 10世代(G80世代)以降の統合型シェーダーアーキテクチャを採用したNVIDIA製GPUがCUDAに対応している。
NVIDIA GeForce 8シリーズ以降(一般/ゲーミング向け)
NVIDIA Quadro G80ベース以降(ワークステーション向け)
NVIDIA Tesla(ハイパフォーマンスコンピューティング/データセンター向け)
NVIDIA Jetson(組み込み用)
NVIDIA Tegra K1以降(モバイル向けの統合型プロセッサ)
NVIDIA ION(ネットブック/ネットトップデバイス用、サポート終了)
実行には専用のデバイスドライバーを必要とする。詳細は、 CUDA GPUs | NVIDIA Developer Zone を参照。なお、ハードウェアの世代/アーキテクチャ(Compute Capability, CC)によって利用可能なGPU命令やリソースサイズ上限、倍精度浮動小数点対応可否などの制約が異なる。また、上位のCCを持つハードウェアでは、下位のCC向けにコンパイルされたCUDAコードを実行できるが、その逆は不可能となっている。
CUDA基盤上に実装されたプログラマブルGPUレイトレーシングエンジンとして、NVIDIAはOptiX(英語版)を公開している。OptiX 3.xまではFermi世代以降、OptiX 4.xはKepler世代以降のNVIDIA GPU上で利用可能。OptiX 6/7はMaxwell世代以降のNVIDIA GPU上で利用可能。なお、After Effects CCではレイトレーシングエンジンにOptiXを採用している。