Hi Pierre,

As far as I understand, bfloat16 is specialized for machine learning
(and other applications that require little precision but might have
inputs of very varying magnitude).

The format spec does not state it explicitly, but Arrow expects
floating-point data to be represented in IEEE format.

If you want to transfer bfloat16 data, you may want to create an
extension type for it.  The underlying storage type could be UInt16 or
FixedSizeBinary(2), for example.

(perhaps at some point we may want to create and maintain a reference of
"standard" extension types such as UUID, IPv4, etc.)

Regards

Antoine.


Le 09/06/2020 à 01:45, Pierre Belzile a écrit :
> Hi,
> 
> There seems to be two competing standards for floats with 16 bits:
> 
>    - https://en.wikipedia.org/wiki/Bfloat16_floating-point_format
>    - IEEE: https://en.wikipedia.org/wiki/IEEE_754-2008_revision
> 
> Was there any thought on how this could be handled? Would it make sense to
> add some kind of DataType attribute to the HALF_FLOAT?
> 
> Cheers, Pierre
> 
  • float 16 Pierre Belzile
    • Re: float 16 Antoine Pitrou

Reply via email to