-
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
urProgramBuild doesnt take a list of devices, like piProgramBuild #912
Comments
Leaving out the device list was a deliberate decision as we were under the impression that compiling for all devices in the context would be sufficient. Is the issue specificatlly with the mismatch between |
Thanks @kbenzie . I think if a given adapter cannot support multi-device kernel compilation then they can return UNSUPPORTED. However, the PI interfaces already accept a list of devices, so actually adding that allows us to keep compatibility with PI.
it is specifically with the mismatch. In a multi-device scenario, piProgramBuild is called several times, with only 1 device, allowing L0 to compile the program for that device, one at a time. However, w/o having the list, L0 doesnt know which device to compile in specifically, it could compile for all devices as you mention, but that support is not there yet (to be added in #942), so by not having the list of devices, behavior was broken with respect to behavior with PI. |
some feedback from others making a case for these APIs to be promoted to standard:
|
I've created v0.7.2 after merging the same spec changes used in the multi-device-compile-hotfix branch to v0.7.x. I'll aim to merge #924 to main shortly to ensure we have consistent availability of the experimental feature. From there we need to get the main and adapters branches in sync so we can merge the implementation in #934. Once all those steps are completed, we can make a final decision on promoting the experimental feature to core. |
#924 is now merged to main. @omarahmed1111 is working on getting the adapters branch up to date with main. We will then merge #934 after. |
We have now merged the spec and implementation changes to the adapters branch in #934 which is also now merged in intel/llvm#11464. This is functionally complete from the point of view of the experimental feature but I'll leave this open until we've decided about making these part of the core spec. |
addressed by #1195 |
piProgramBuild receives a list of devices, while urProgramBuild does not. This produces a series of issues when a UR program needs to be created for a specific device.
So we need to define a new API, something like urProgramBuildExp to pass this list (please see here #911)
Another alternative is to add numDevices and phDevices to existing urProgramBuild:
Other suggestions are welcome.
The text was updated successfully, but these errors were encountered: