この本の例は Windows, Linux, macOS 上で動作する。 computer vision を理解し、C++ や Python のプログラミング知識を前提としている。 この本のコード例を実行できる Nvidia GPU ハードウェアを保有している方が望ましい。
Compute Unified Device Architecture (CUDA)
nVidia によって最初に開発された GPU は GeForce 256 (1999年)。 その後、Graphics 命令だけではなく一般の数値計算にも利用できるようになり、 GP-GPU (General Purpose GPU) と呼ばれるようになった。
CPU とそのメモリを「ホスト」と呼ぶ。 GPUとそのメモリを「デバイス」と呼ぶ。 CUDA コードには、ホストとデバイスの両方のコードが含まれている。 ホストコードはカーネルコールによってデバイスコードを呼び出す。 デバイス上で多くのスレッドを並行して起動する。
スレッドを起動する前に、ホストはホストメモリからGPUメモリにデータをコピーする。 スレッドは、デバイスメモリ上のデータを処理し、デバイスメモリに結果を保存する。 最後にこの結果データはホストメモリに描き戻される。
CUDA toolkit ... https://developer.nvidia.com/cuda-downloads