半精度浮動小数点数
FP16は当初、主にコンピュータグラフィックス用として提唱された、浮動小数点数フォーマットのひとつである。
GPUにおいては、リアルタイム3次元コンピュータグラフィックス処理において単精度浮動小数点数に対するスループット向上などを目的に、DirectX 9.0 (Direct3D 9.0) APIとCg/HLSL(シェーディング言語)で利用可能なデータ形式として、NVIDIAとマイクロソフトが共同で策定し、GeForce FXやQuadro FXで採用したのが始まりである。ただし当時のFP16の主な目的は浮動小数テクスチャのデータ量を削減するためのフォーマットであり、FP16のハードウェアアクセラレーションをサポートしないハードウェアにおけるhalf型の演算はfloat型と同じく32ビットの単精度浮動小数点数用の演算器を利用して実行されていたため、演算の速度性能自体には寄与しなかった。
インダストリアル・ライト&マジック社の研究の中で、広いダイナミックレンジと浮動小数点数の特徴を生かして光量の調整に向いていることが分かり、OpenEXRで採用された。
その後、IEEE 754rを経てIEEE 754-2008でbinary16として、データ交換とデータ容量削減を主目的とした保存用フォーマットとして採用された。
近年では、ハードウェアサポート(SIMD: Packed FP16)があれば高い演算性能 (FLOPS) が見込める上に、メモリ容量やディスク容量が節約できることから、ディープラーニングにおいて利用が活発化している。