[Beignet] [PATCH 1/8] Backend: Add half float as a new type.

He Junyan Junyan.he at inbox.com
Mon May 25 01:43:10 PDT 2015


After research, I find the F16C feature is only supported on
IVB later platforms and needs at least GCC 4.6 support.
This will cause some compatible issues. The beignet project
may be cross-compiled on some old platform using old version
GCC, and some one may use other compiler to build it.
According to this, I still prefer to use the software imitation
for half float. It's verbose, but it will not have any side effect
for runtime performance.



On 2015年05月22日 14:28, He Junyan wrote:
> Thanks for your information.
> I will do some research for it.
>
>
> On 2015年05月22日 05:51, Matt Turner wrote:
>> On Thu, May 21, 2015 at 1:25 AM, <junyan.he at inbox.com> wrote:
>>> From: Junyan He <junyan.he at linux.intel.com>
>>>
>>> Because the CPU of X86 does not support half float
>>> instructions, there is no support for half float operations.
>>> So we introduce the half class to handle the operations for
>>> half float using llvm's APFloat utility.
>> Ivybridge and newer have the F16C instruction set
>> (http://en.wikipedia.org/wiki/F16C) which offers instructions to
>> convert half-precision <-> single-precision floats.
>>
>> I don't know if it's valuable to use it, but it's there.
>> _______________________________________________
>> Beignet mailing list
>> Beignet at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/beignet
>
>
>
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet





More information about the Beignet mailing list