VRAM 使用量や帯域の節約目的で、CUDA や OpenCL のカーネルに FP16 半精度浮動小数点数(half)型のデータを渡す場合の話です。 通例 GPGPU で使われる実数は FP32 単精度浮動小数点数(float)型なんですが、half だとその半分のデータ量で済むため、帯域幅の比較的狭いシステム RAM ⇔ VRAM 間の転送負荷を減らすことができます。大容量データを GPU に転送してまとめて大量並列処理してもらう GPGPU では効果を発揮しやすいです。 OpenGL や Direct3D で FP16 浮動小数テクスチャを使って HDR レンダリング(High Dynamic Range Rendering)をやったことがある人はすぐに理解できるでしょう。 といっても 16bit 幅の浮動小数型は C/C++ にも CUDA にもない*1ので(OpenCL や NVI