Boost logo

Boost :

From: Matt Hurd (matthurd_at_[hidden])
Date: 2019-10-15 12:04:30


>
>
> Thanks for these useful references.
>
n.p.

> Are bloat16 and IEEE float16
> I:\boost\libs\math\include\boost\math\cstdfloat\cstdfloat_types.hpp
>
> the two layouts that we need to consider?
>

Arm also supports another in that it has two similar formats __fp16 and
_Float16 :-(

"ARM processors support (via a floating point control register
<https://en.wikipedia.org/wiki/Control_register> bit) an "alternative
half-precision" format, which does away with the special case for an
exponent value of 31 (111112).[10]
<https://en.wikipedia.org/wiki/Half-precision_floating-point_format#cite_note-10>
It
is almost identical to the IEEE format, but there is no encoding for
infinity or NaNs; instead, an exponent of 31 encodes normalized numbers in
the range 65536 to 131008." from wiki:
https://en.wikipedia.org/wiki/Half-precision_floating-point_format

Arm reference:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100067_0612_00_en/sex1519040854421.html
gcc ref: https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html

Strange complexity within Arm: "The ARM target provides hardware support
for conversions between __fp16 and float values as an extension to VFP and
NEON (Advanced SIMD), and from ARMv8-A provides hardware support for
conversions between __fp16 and double values. GCC generates code using
these hardware instructions if you compile with options to select an FPU
that provides them; for example, -mfpu=neon-fp16 -mfloat-abi=softfp, in
addition to the -mfp16-format option to select a half-precision format."

Unpleasant, sorry.

More bfloat16 FWIW (hardware support list is longer):
https://en.wikichip.org/wiki/brain_floating-point_format

So that makes at least 3 I guess.

Facebook has been experimenting with an alternate format Gustafson's post
which is quite neat and rational and perhaps better than ieee at 64 bit
too:
https://www.nextplatform.com/2019/07/08/new-approach-could-sink-floating-point-computation/
Facebook reference:
https://engineering.fb.com/ai-research/floating-point-math/
posit "land": https://posithub.org/news

but posit only lives in FPGA land AFAICT and not yet something to worry
about.

--Matt.

> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk