Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor II
50 Views

Application of Half-float (float16) accelerators in software

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
Highlighted
Beginner
50 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
Highlighted
Valued Contributor II
50 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