Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

Armv8でBfloat16をサポート

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった

ArmがArmv8でBFloat16をサポートすると発表

community.arm.com

何故か? プレスリリースではなく、Machine Learning IP blog にて

Armv8.6になるみたい。下記の4つの命令が BFloat16 関連なのかな?

BFDOT

    a [1×2] × [2×1] dot product of BF16 elements, accumulating into each IEEE-FP32 element within a SIMD result.
BFMMLA

    effectively comprising two BFDOT operations which performs a [2×4] × [4×2] matrix multiplication of BF16 elements, accumulating into each [2x2] matrix of IEEE-FP32 elements within a SIMD result.
BFMLAL

    a simple product of the even or odd BF16 elements, accumulating into each IEEE-FP32 element within a SIMD result.
BFCVT

    converts IEEE-FP32 elements or scalar values to BF16 format.

 これ によると、Armv8.3までの実装はあるが、8.4, 8.5 の実装がない。

しかしながら、BFloat16 は ディープラーニング の領域では有用なので実装してくるんでしょうね。となると、8.4, 8.5 の内容も併せて実装されるの?

 

そんでもって、

Following that announcement, support for the new BF16 instructions will be available in tools, models, and libraries such as the Arm Compute Library and Arm NN.

とあるのでユーザーは ライブラリから使えばいいのね。

 関連記事

www.tomshardware.com