-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[L0] UR_PROGRAM_INFO_DEVICES is unimplementable for urProgramCreateWithNativeHandle #1384
Comments
|
If that's not the desired set of devices, then we'd likely need to require the user to provide the device list when calling |
But can't a module be built for a subset of devices in a context? @nrspruit can you chime in? |
I think that would require the SYCL API to change. |
It can, that's different to the list of devices associated with the program though. The list of associated devices is all the devices the program can be built for. |
Gotcha, I was misled by this comment "return true number of devices this program exists for." in the current L0 implementation. So, generally, is We found this with @nrspruit in a real application when SYCL was hitting this assert: https://github.com/intel/llvm/blob/sycl/sycl/source/detail/program_impl.cpp#L164 The problem ended up being that |
from https://registry.khronos.org/OpenCL/sdk/3.0/docs/man/html/clGetProgramInfo.html OpenCL has better docs than UR :-) Based on this, I believe |
We will clarify the UR spec to align with the OpenCL spec on this. |
Fixes oneapi-src#1384 by clarifying what the *list of devices associated with a program* means when the program is created in various ways.
This is currently unimplementable for programs that are created using
urProgramCreateWithNativeHandle
because there doesn't appear to be a way to retrieve a list of devices from L0 for a module (see L0 docs) nor does this function take a list of devices we could just store.As far as I can tell, we don't even have device information in SYCL. Instead, SYCL relies on exactly
UR_PROGRAM_INFO_DEVICES
to populate its list of devices in theprogram_impl
class.I don't think there are any user-visible issues, performance or functional, related to this in SYCL right now, but we might want to consider returning 0 devices or some error status for this case.
The text was updated successfully, but these errors were encountered: