Application of Half-float (float16) accelerators in software

Application of Half-float (float16) accelerators in software

In 'Intel IPP support for Intel(R) AVX2' article:

there is a statement about '...Half-float (float16) accelerators...'. Where could I find more technical information about these accelerators?

Thanks in advance.

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

As you can see in the referenced documentation it is no more than one command to convert 4 (XMM) or 8 (YMM) half-floats to single precision floats (VCVTPH2PS) and one command for the reverse (VCVTPS2PH).
The mentioned documentation is not up-to-date; you can download a newer version of the "Intel architecture instruction set extensions programming reference" (currently version 14) at but these commands are now "official" and were therefore moved into the regular documentation downloadable at

My understanding is that a 'float16' floating point type is a 16-bit long ( for example, NVIDIA's APIs allow to declare it in C/C++ codes ).

A regular Single-Precision floating point type is a 32-bit long: sign(1) + exponent(8) + mantissa(23). When 'sign' and 'mantissa' are combined it is known as a 24-bit precision. It could be called as 'float32' or 'float4' instead of just 'float'.

Anyway, Thanks for these web-links and I'll take a look at Intel's docs.

PS: Just found some additional information on:

Leave a Comment

Please sign in to add a comment. Not a member? Join today