Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Application of Half-float (float16) accelerators in software

SergeyKostrov
Valued Contributor II
174 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
174 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
SergeyKostrov
Valued Contributor II
174 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
Reply