-
Notifications
You must be signed in to change notification settings - Fork 35
Level Zero memory provider should NOT be built by default #291
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
Level Zero memory provider should NOT be built by default #291
Conversation
Why it should not be built by default? |
hmm... that sounds right, but on the other hand, pls see this fail (on nigthly Coverity build): |
Hmm... See: #288 |
This failure indicates that our build environment is not correct, am I right? I think we should fix the build environment. |
This failure indicates that there is a check for L0 library missing in CMake. |
Basic build should be as easy as: clone -> configure -> make |
I'm also wondering about the requirements section in README - so should we expect from all UMF users to have L0 compatible GPU? |
Level Zero memory provider should NOT be built by default (UMF_BUILD_LEVEL_ZERO_PROVIDER should be OFF by default). Fixes: oneapi-src#288 Signed-off-by: Lukasz Dorau <[email protected]>
c6b3686
to
07fa195
Compare
So, UMF is going to be part of oneAPI distribution and we will build UMF with the required options (L0 provider should be ON in that case). So our CI should build UMF with both (ON/OFF) options for L0 provider, but ON is a main option for us (oneAPI distribution). But keep in mind also that execution environment does not require L0 installed even UMF was build with L0 provider.
Agree
No, we are not expecting it, that is why L0 provider can be ON/OFF. Now the question is what should be the default option? But anyway L0 provider ON is our (oneAPI) main option. |
Regarding the default option for the L0 memory provider, we have two opposing points of view:
When we discussed that with @bratpiorka yesterday I slightly prefered option 2 because it signals the user that when he/she turns off L0 provider the UMF binary will be different from what we have as part of oneAPI. But I have no strong preference on that question. |
fwiw, UR disables L0 by default. And, if it's enabled, it will fetch L0 automatically. So users don't need to have L0/compute runtime installed even if they do compile the L0 adapter. |
One more clarification, I think the requirements for L0 provider are wrong right now. For build L0 provider only |
Do I get it correctly that oneAPI build turns this option ON explicitly? If so, we can do the same in UMF: by default turn it OFF, but in CI we should test the ON option and ON it when we create oneAPI package. |
Will you fix it in this PR, instead of just changing the default option? Or do we need a quick fix in this PR to make CI green? |
Yes. It also has cmake variables to allow the build to use a precompiled L0 version (that's not installed in the system), which is how it's used most of the time. |
I have already fixed CI. This PR can stay as is to finish the discussion. |
Ok, great. based on the discussion above I suggest the following:
Did I miss something? |
|
@ldorau I think that this draft PR can be closed |
OK |
Level Zero memory provider should NOT be built by default (
UMF_BUILD_LEVEL_ZERO_PROVIDER
should be OFF by default). Fix also its name in the README.md file.Fixes: #288