Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
Known ambiguous OpenCL 1.2 features
The OpenCL 1.2 and later standards are very ambiguous when it
comes to sub-devices. On the one hand, they claim that sub-devices
can be used wherever their parent devices can be used, on the
other hand various parts of the standard hint that they should be
treated independently.
In particular, it's not clear whether sub-devices can be used
within a context that only holds their parent device, or not. This
might even depend on whether the context was created "from type"
or not.
The implementation of subdevices in pocl currently converts
subdevices to their parents in most places, with the exception
being clEnqueueNDRangeKernel. This means, for example, that
sub-devices can be used in a context that does not contain
them (but contains their parent device). Note this is equivalent
to the AMD behavior (which is tested in the DeviceFission AMD APP
SDK example), but differs from e.g. Intel's behavior. Clarification
from the standard body is needed on which behavior is correct.
Known missing OpenCL 1.2 features
Missing APIs used by the tested OpenCL example suites are
entered here.
OpenCL 1.2 Extensions
* 9.7 Sharing Memory Objects with OpenGL / OpenGL
ES Buffer, Texture and Renderbuffer Objects
* 9.7.6 Sharing memory objects that map to GL objects
between GL and CL contexts