Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
1095 Discussions

Application of Half-float (float16) accelerators in software

SergeyKostrov
Valued Contributor II
475 Views
In 'Intel IPP support for Intel(R) AVX2' article: http://software.intel.com/en-us/articles/haswell-support-in-intel-ipp there is a statement about '...Half-float (float16) accelerators...'. Where could I find more technical information about these accelerators? Thanks in advance.
0 Kudos
2 Replies
sirrida
Beginner
475 Views
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 http://software.intel.com/en-us/avx/ but these commands are now "official" and were therefore moved into the regular documentation downloadable at http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
0 Kudos
SergeyKostrov
Valued Contributor II
475 Views
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: . http://en.wikipedia.org/wiki/Half-precision_floating-point_format
0 Kudos
Reply