llvmlite
llvmlite copied to clipboard
Enable ppc64le wheels
Minimal patch to enable ppc64le wheels. This is no change content-wise :-)
I'm not entirely sure about the wheel CI/CD since I don't see any github actions, cibuildwheel. It seems you're using azure pipelines, but how is the aarch64 wheel produced? I don't see any CPU specification in the yaml and doesn't it need any kind of emulation (prob. similar to ppc64le?)
Thanks! :)
Thanks for the PR! I'm not entirely sure how the wheels are built, but I think @apmasell might be able to comment on what we're doing now and how we might plan to change it in the future.
.. or perhaps @esc knows. A question for both about the practicality of doing it on the available resources and time / admin constraints, rather than the technical nature of this PR itself: if this PR were merged, would it be straightforward to build the wheels on a ppc machine and upload them?
Yeah, I already build and upload ppc64le wheels (for llvmlite & numba) to my gemfury repo, however having it upstreamed would simplify other projects/processes that rely on this. (I'm currently using NVIDIA triton-inference-server that uses numba/llvmlite)
I also understand the additional effort that might come with more CPU architectures, but I'd be totally happy with having something like a "Tier 3 support" where the wheel is just build but not necessarily tested upstream during development process (which is probably done for Linux x86 & MacOS x86/aarch64).
Something similar is done for the qiskit project[1] where architectures like ppc64le or s390x got T3 support - that already helps a lot!
[1] https://qiskit.org/documentation/getting_started.html#platform-support
The patch looks fine. Right now, we're building wheels in a private environment, so these changes won't trigger building PPC wheel, though they are necessary preconditions. We do test on PPC, so everything should work even though there are no wheels.
I am moving the wheel builds to GitHub Actions (see #904), but there are no PPC machines available for GHA. We plan to supply our own, but that's work we haven't started. It's on the road map, but the plan is to get x86-64 wheel and conda builds deployed for all Numba projects, then ARM, then PPC.