Skip to content

Conversation

@mgiessing
Copy link

Minimal patch to enable ppc64le wheels.
This is no change content-wise :-)

Signed-off-by: Marvin Giessing <[email protected]>
@mgiessing
Copy link
Author

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! :)

@gmarkall
Copy link
Member

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.

@gmarkall
Copy link
Member

.. 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?

@mgiessing
Copy link
Author

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).

@mgiessing
Copy link
Author

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

@apmasell
Copy link
Contributor

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.

@esc
Copy link
Member

esc commented Oct 28, 2025

@mgiessing Hi and sorry for the long radio silence. Quick update here: we managed to establish a Tier based support policy framework for the Numba project:

PR: numba/numba#10283

Rendered doc: https://numba.readthedocs.io/en/latest/reference/support_tiers.html

Currently ppc64le is in Tier 2. In order for it to be promoted to Tier 1, the following pre-conditions would need to be met:

    A conda based Python distribution for the operating system and hardware target is required. This is because the public CI
    CD for the Numba stack is driven by conda and conda packages (even for wheel builds). The purpose of this condition is to 
    reduce the overall CI/CD maintenance burden.

    The operating system and hardware target must be supported by GitHub Actions on the free-tier.

    The release package type must be conda or wheel.

    The distribution system must be PyPI or Anaconda repositories.

Do you know anything about the state of those pre-conditions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants