差分

ナビゲーションに移動 検索に移動

Bfloat16

6,984 バイト追加, 2021年6月15日 (火) 07:13
ページの作成:「'''bfloat16''' (brain floating point、BF16)とは、浮動小数点を16ビット長で表す形式のひとつである。 bfloat16は「単純にFP32の仮数部を…」
'''bfloat16''' (brain floating point、BF16)とは、浮動小数点を16ビット長で表す形式のひとつである。

bfloat16は「単純にFP32の仮数部を切り詰めた」というものである。
汎用的なFP16に対して、BF16は「FP32に高速変換できる」のが利点。

{| class="wikitable" style="text-align:center; border-width:0;"
|+ [[FP16]]
|- style="line-height:70%;"
| style="border-width:0; background:#FFFFFF;" colspan="2" | sign
| style="border-width:0; background:#FFFFFF;" colspan="5" | exponent (5 bit)
| style="border-width:0; background:#FFFFFF;" colspan="10"| fraction (10 bit)
|- style="line-height:70%;"
| style="border-width:0; background:#FFFFFF;" colspan="2" |   ┃
| style="border-width:0; background:#FFFFFF;" colspan="5" | ┌───────┐
| style="border-width:0; background:#FFFFFF;" colspan="10"| ┌─────────────────┐
|- style="font-size:9pt;"
| style="border-width:0; background:#FFFFFF;" | || style="background:#C4FCFF;" |  0  || style="background:#9FFFAC;" |  0  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  0  || style="background:#9FFFAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  1  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0 
|-
| style="border-width:0; background:#FFFFFF;" | || style="border-width:0; background:#FFFFFF;" | 15 || style="border-width:0; background:#FFFFFF;" | 14 || style="border-width:0; background:#FFFFFF;" colspan="3" | || style="border-width:0; background:#FFFFFF;" | 10 || style="border-width:0; background:#FFFFFF;" | 9 || style="border-width:0; background:#FFFFFF;" colspan="8" | || style="border-width:0; background:#FFFFFF;" | 0
|}

{| class="wikitable" style="text-align:center; border-width:0;"
|+ bfloat16
|- style="line-height:70%;"
| style="border-width:0; background:#FFFFFF;" colspan="2" | sign
| style="border-width:0; background:#FFFFFF;" colspan="8" | exponent (8 bit)
| style="border-width:0; background:#FFFFFF;" colspan="7" | fraction (7 bit)
|- style="line-height:70%;"
| style="border-width:0; background:#FFFFFF;" colspan="2" |   ┃
| style="border-width:0; background:#FFFFFF;" colspan="8" | ┌─────────────┐
| style="border-width:0; background:#FFFFFF;" colspan="7" | ┌───────────┐
|- style="font-size:9pt;"
| style="border-width:0; background:#FFFFFF;" | || style="background:#C4FCFF;" |  0  || style="background:#9FFFAC;" |  0  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  0  || style="background:#9FFFAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  1  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0 
|-
| style="border-width:0; background:#FFFFFF;" | || style="border-width:0; background:#FFFFFF;" | 15 || style="border-width:0; background:#FFFFFF;" | 14 || style="border-width:0; background:#FFFFFF;" colspan="6" | || style="border-width:0; background:#FFFFFF;" | 7 || style="border-width:0; background:#FFFFFF;" | 6 || style="border-width:0; background:#FFFFFF;" colspan="5" | || style="border-width:0; background:#FFFFFF;" | 0
|}

{| class="wikitable" style="text-align:center; border-width:0;"
|+ FP32
|- style="line-height:70%;"
| style="border-width:0; background:#FFFFFF;" colspan="2" | sign
| style="border-width:0; background:#FFFFFF;" colspan="8" | exponent (8 bit)
| style="border-width:0; background:#FFFFFF;" colspan="23"| fraction (23 bit)
|- style="line-height:70%;"
| style="border-width:0; background:#FFFFFF;" colspan="2" |   ┃
| style="border-width:0; background:#FFFFFF;" colspan="8" | ┌─────────────┐
| style="border-width:0; background:#FFFFFF;" colspan="23"| ┌───────────────────────────────────────────┐
|- style="font-size:9pt;"
| style="border-width:0; background:#FFFFFF;" | || style="background:#C4FCFF;" |  0  || style="background:#9FFFAC;" |  0  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  1  || style="background:#9FFFAC;" |  0  || style="background:#9FFFAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  1  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0  || style="background:#FFACAC;" |  0 
|-
| style="border-width:0; background:#FFFFFF;" | || style="border-width:0; background:#FFFFFF;" | 31 || style="border-width:0; background:#FFFFFF;" | 30 || style="border-width:0; background:#FFFFFF;" colspan="6" | || style="border-width:0; background:#FFFFFF;" | 23 || style="border-width:0; background:#FFFFFF;" | 22 || style="border-width:0; background:#FFFFFF;" colspan="21" | || style="border-width:0; background:#FFFFFF;" | 0
|}

== 主なBF16をサポートする製品 ==
* [[Intel]]の[[CPU]] ([[AVX-512]]対応製品の一部)
* [[NVIDIA]]の[[GPU]] ([[NVIDIA Ampere]]搭載品)

案内メニュー