Skip to content

mpi4py: add build-mpi4py.yml for riscv64 wheels - #1686

Merged
luhenry merged 1 commit into
mainfrom
mpi4py
Sep 10, 2026
Merged

mpi4py: add build-mpi4py.yml for riscv64 wheels#1686
luhenry merged 1 commit into
mainfrom
mpi4py

Conversation

@luhenry

@luhenry luhenry commented Sep 10, 2026

Copy link
Copy Markdown
Member

Compiles mpi4py's Cython bindings for MPI into a mpi4py.MPI extension linked against a real MPI implementation. Upstream publishes no riscv64 wheel.

Mirrors upstream's own cd-wheel.yml, narrowed to Linux.

Differs from upstream

  • Links against Rocky 10's openmpi-devel via mpicc on PATH - upstream's own wheels build against a portable "MPI ABI" stub with MPI supplied by conda-forge, which carries no packages for linux-riscv64.
  • auditwheel repair excludes the whole Open MPI/PMIx/libfabric/hwloc/libevent chain instead of vendoring it, since Open MPI's MCA components are compiled in rather than a relocatable plugin tree; the target system provides its own Open MPI at runtime, matching mpi4py's own documented dnf install openmpi-devel instructions.

Testing

  • same as upstream's test/main.py suite (mpiexec -n 1 and -n 2, matching ci-test.yml), instead of the release job's own thinner smoke checks

License: OK

luhenry added a commit that referenced this pull request Sep 10, 2026
@luhenry
luhenry force-pushed the mpi4py branch 2 times, most recently from 54b848d to b6eb02c Compare September 10, 2026 07:56
Links against Rocky 10's openmpi-devel via mpicc since conda-forge
ships no MPI packages for linux-riscv64, which upstream's own release
wheels depend on for their MPI-ABI stub build. Excludes the whole
Open MPI dependency chain from the wheel rather than vendoring it,
since Open MPI's MCA components are not relocatable that way; the
target system provides its own Open MPI at runtime, same as a source
build would require. Deselects the dynamic-process-management tests
(MPI_Comm_spawn), which hang PRTE's resource mapper in this
container.
@luhenry
luhenry merged commit 95f423b into main Sep 10, 2026
9 checks passed
@luhenry
luhenry deleted the mpi4py branch September 10, 2026 10:44
@luhenry luhenry linked an issue Sep 10, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mpi4py riscv64 support

1 participant