-
Notifications
You must be signed in to change notification settings - Fork 808
[SYCL][Build] Add --enable-all-llvm-targets switch to configure.py #6153
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
Conversation
Can be used to enable all supported backends in the compiler build, currently: * NVPTX * AMDGPU Compiler backends do not require any 3rd party software to build and test, this can be useful in some local testing, for example when bringing changes from upstream Also minor fixes to docs based on currently supported switches. This is NFC for all existing processes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change looks good to me, but I think libclc impacts compilation as well. Is it okay to skip libclc build?
As far as I remember libclc has some dependency on 3rd party low-level runtimes, so it stays out of scope of this option, and included only when specific target is fully enabled in build (through --hip or --cuda switches). |
I was wrong. It doesn't have any dependency it seems. At least build and testing is successful. I also realized that after adding libclc there is going to be significant (but not a complete) overlap with --ci-defaults option, which seems actually is trying to accomplish the same idea, build everything without deps. The remaining differences in --ci-defaults:
On the other hand, and actually to answer @bader question, it seems libclc not required for NVPTX and AMDGPU (build and testing). So probably we should limit this change/switch to only that, to keep things limited to compiler targets (as new option says). Tagging @AerialMantis, @npmiller for opinion |
Building libclc is not required, but if a test program calls built-in functions implemented in libclc, having pre-built libclc improves compiler testing coverage. So, it really depends on what is our goal here. I assume it's to test as much as possible w/o external SW and HW dependencies. Am I right? |
@bader, I started with this as a primary goal, then realized that --ci-defaults is sort of doing the same thing already. If no other suggestions I'm leaning towards landing it in current state. |
I'm not sure how useful it will be in practice, as compiler changes should probably be tested against SYCL lit tests as well, but if you think there's a use case for it, I'm happy with the flag as it is as it's clear it only enables the compiler targets. |
…ntel#6153) Can be used to enable all supported backends in the compiler build, currently: * NVPTX * AMDGPU Compiler backends do not require any 3rd party software to build and test, this can be useful in some local testing, for example when bringing changes from upstream Also minor fixes to docs based on currently supported switches. This is NFC for all existing processes.
Can be used to enable all supported llvm compiler targets in the compiler build,
currently:
Compiler backends do not require any 3rd party software to build and
test, this can be useful in some local testing, for example when
bringing changes from upstream
Also minor fixes to docs based on currently supported switches.
This is NFC for all existing processes.