Open1
FP16・FP32のとは何なのか?FP〇〇とは?
概要
- FP16 (16ビット浮動小数点数):
- 16ビット(2バイト)で数値を表現。
- 精度はFP32よりも低いが、メモリ使用量と計算速度が少ないため、高速な処理が可能。
- FP32の半分のメモリ使用量
- FP32 (32ビット浮動小数点数):
- 32ビット(4バイト)で数値を表現。
- FP16よりも高い精度を持ち、より複雑な計算や科学技術計算に適している。
FP16とは
- NVIDIAとMicrosoftが共同でGPUに採用した
- GeForce、Quadroで採用されている
- DirectX 9.0のタイミング
- メモリ容量やディスク容量が節約できるので活用されている
- モバイル向けGPUではFP16が結構使われている
- FP16はhalf形
- float形はFP32
- floatのほうが多く対応しているっぽい
- float16と同じ
- float16も16ビット(2バイト)で数値を表現する
- 16ビットの中身はこれ
- 符号ビット: 1ビット。数値の正負を表します。0は正、1は負を意味します。
- 指数部: 5ビット。数値の大きさ(スケール)を決定します。
- 仮数部(または小数部): 10ビット。数値の精度(細かさ)を表します。
- データベースとかで使われるfloat8とは違う物
- FP16
- メモリとか計算処理で使われるデータ形式
- 最大
- float8(PostgresSQLで聞くやつ)
- 正しくはFP64(float64)
- こいつが特殊、普通のやつじゃない、変。
- PostgresSQLのfloat8の「8」は「8バイト」の意味で「64ビット」と同等
- 「なんでお前だけバイトで書いとんねん」という感じ
- 中身はFP64(float64)
- FP16とかは「16ビット」をベースに書いている
- PostgresSQLのfloat8の「8」は「8バイト」の意味で「64ビット」と同等
- システムによって違う
- 64ビットの浮動小数点数(通常はdouble precisionと同等)になったりする
- 最大
- FP16