[Beignet] Optional features and OpenCL 2.0 support.

Zhigang Gong zhigang.gong at linux.intel.com
Thu Jul 17 08:50:11 PDT 2014


Hi,

2.0 support will be a relatively long tern task and I would like
to defer its discussion to a proper time frame in the future.

As to the "double" support, although IVB introduces double data type,
the support is not really complete. You may notice there is a unit
test which is to check double precision. And it fails on IVB but success
on HSW. And besides the precision issue, you can refer the IVB or HSW
ISA spec, the math extension instruction lacks support of math which
means we need to do those double builtin math function at software level
completely which is really slow and is not a tiny effort. So the conclusion
of double support is that it may make no sense on IVB platform due to
precision issue. And it needs some effort on HSW platform to fix the
math extension gap.

On Thu, Jul 17, 2014 at 09:23:12AM -0400, Yichao Yu wrote:
> Hi,
> 
> I've recently noticed that 64bit floating point numbers are not
> supported by beignet but according to a post I have found[1], the GPU
> in IvyBridge chip does support fp64. Is this currently limited by the
> driver or is there any issue with the hardware as well? Also, I guess
> the compiler error message should be changed as well. The beignet
> compiler still complain about not having the corresonding #progma
> statement when double type is used while fp64 is already a optional
> feature rather than an extension for OpenCL 1.2 (yeah I know that the
> feature is not supported now but that error message is still wrong and
> misleading). The error message when using double (with the #progma
> statement) is also quite confusing as well (it talks about overloading
> functions not available...)
The weird error message may due to we haven't provide those "double"
version builtin function's prototype. Anyway, if you check the extension
string you can find out that beignet doesn't cl_khr_fp64. So beignet
doesn't provide those prototype seems not a big issue, as the application
should check whether the platform has cl_khr_fp64 extension and then
choose different kernel to use. What do you think?

> 
> Since it has been ~1yr after the OpenCL 2.0 release with a lot of
> interesting new features, it would be nice to know whether/when it
> will be supported by beignet, especially since AMD is planing for
> supporting it in Q4 2014. While features like dynamic parallelism
> might need new hardware, should it be possible to support sth like svm
> with existing hardware.
> 
> Just to be clear, the OpenCL 2.0 part is by no mean a feature
> request/bug report (on the other hand, it would be nice to see fp64
> support if the hardware does have the capability). Since beignet is an
> opensource project, I just think this might be the right place to ask
> about the capability of the hardware as well as future plan (after
> OpenCL 1.2 support).
> 
> Yichao Yu
> 
> [1] http://www.realworldtech.com/ivy-bridge-gpu/5/
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list