[Beignet] [PATCH V4] Enable OpenCL 2.0 only where supported

Yang, Rong R rong.r.yang at intel.com
Mon Feb 13 07:37:54 UTC 2017



> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Rebecca N. Palmer
> Sent: Saturday, February 11, 2017 7:02
> To: beignet at lists.freedesktop.org
> Subject: Re: [Beignet] [PATCH V4] Enable OpenCL 2.0 only where supported
> 
> Yang, Rong R wrote:
> > Because use -cl-std=CL1.2 by default when OpenCL 2.0 enabled, I prefer to
> always report address_bits = 32 now.
> > OpenCL spec consider only one address bits in one device, but when GEN9
> now support both 32 bits and 64 bits address, so there is no way to comply
> with spec.
> 
> As previously noted
> (https://lists.freedesktop.org/archives/beignet/2017-January/008517.html),
> the spec actually says *default* address space size
> (https://www.khronos.org/registry/OpenCL/specs/opencl-2.0.pdf page 64),
> so I agree it should be 32, and device->address_bits
> (src/cl_get_gt_device.h:45) is where this is set.
> 
> > An other issue is that beignet OpenCL 2.0 don't support i386 system now,
> maybe we also need set CAN_OPENCL_20 to off in i386 system.
> 
> What happens if you try - explicit error or mystery crash?  Does a 2.0-capable
> beignet+hardware work if you only actually use 1.2?
> (Debian's 2.0-enabled beignet does work in an i386 chroot, but that's on my
> non-2.0-capable hardware, and only major bugs are allowed to be fixed
> during freeze.)

OpenCL 2.0's SVM requires GPU address bits are same as host address bits. So in i386 system, one
known issue is GPU must use 32 bits address, otherwise SVM application such as linked-list may crash.
It is more complex in i386 chroot, because kernel's drm drivers will patch the GPU address to 64 bits, but
User space application hope to use 32 bits address.

So we decide to disable OpenCL 2.0 temporary in i386 system, just as LLVM 3.9 version check, Xiuli has sent a
new version patch. Do you have any suggestion?

If only use 1.2, I thinks there is no issue. We have done the full i386 test on non-2.0-capable hardware.

> 
> > And also need to update readme after this patch merged.
> 
> https://sources.debian.net/src/beignet/1.3.0-1/debian/patches/opencl2-
> runtime-detection.patch/#L351
> is what I used, though you'll want to remove the (Debian-specific) jessie-
> backports reference.
> 
Thanks.


> Signed-off-by: Rebecca N. Palmer <rebecca_palmer at zoho.com>
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list