-
Notifications
You must be signed in to change notification settings - Fork 322
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
Add RISC-V + all default targets to LLVM build #788
Conversation
I am running this through the anaconda internal build farm as |
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.
Thanks for the patch. In principle this change looks fine, I think the build farm run will give us more confidence. I also wonder if llvm-config --targets-built
should be checked or printed as part of the conda build
test phase?
@@ -5,7 +5,8 @@ | |||
set -x | |||
|
|||
# allow setting the targets to build as an environment variable | |||
LLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD:-"host;AMDGPU;NVPTX"} | |||
# default is LLVM 11 default architectures + RISCV. Can remove this entire option in LLVM 13 |
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.
Thanks, checked.
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.
This works locally for me and enabled #775 to pass its tests.
Here is a log-snippet ⬆️ |
OK, I'll see if there is a way to skip those tests. We really don't care about the ability of an x86 32-bit host to cross compile to PPC 64-bit. |
@seibert yes, if you can skip the tests, we would have a new FWIW: @stuartarchibald suggested OOB to skip running them from within the conda-build recpie. |
Here is a suggested patch:
|
In the interest of time, I'll push the above patch now and re-run it through the farm. |
Thanks! I was having some VPN trouble trying to test the patch. |
Testing the `llvmdev` build 4 produced via: numba#788
There is growing interest in using llvmlite as a cross-compiler to target RISC-V. (See #785 and #775) This adds the RISC-V target as well as all the default targets to both the llvmdev package build and the llvmdev_manylinux2014 package build for all platforms. The increase in package size with this target should be ~30%.
(Note this is not adding RISC-V as a supported host platform for llvmlite, as that will require greater availability of RISC-V hardware running Linux, as well as a reasonable ecosystem of Python packages on that platform.)
Edit: Originally this PR only added RISC-V (at a size cost of 1.5%) but further discussion in #785 made it clear that we could add all the standard targets too. Note that starting with LLVM 13, the standard targets include RISC-V and WebAssembly, so the explicit target selection in our config can be dropped whenever we upgrade to LLVM 13.