Skip to content
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

Linux aarch64 wheels #84

Merged
merged 2 commits into from
May 3, 2023
Merged

Linux aarch64 wheels #84

merged 2 commits into from
May 3, 2023

Conversation

alugowski
Copy link
Collaborator

@alugowski alugowski commented May 2, 2023

Builds Linux aarch64 wheels using cibuildwheel's built in multi-arch support: https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation
Inspired by matplotlib's approach: https://github.com/matplotlib/matplotlib/blob/main/.github/workflows/cibuildwheel.yml

This uses QEMU emulation since GitHub only offers x86 Linux runners. Cross-compilation isn't built into cibuildwheel yet.

Emulation is about 5x slower than native, but is all-inclusive including the libgraphblas build.
More types are disabled (only for aarch64) because otherwise suitesparse.sh only achieves about 70% complete in the 6-hour time limit.

cibuildwheel can use the same Linux runner for all Linux architectures. This PR uses a separate runner for aarch64 only. This way aarch64 has the full 6 hours, and also any general wheel issues still show up quickly in the x86 build. The aarch64 build runtime is about 5:15.

NOTE: this is based on the macOS ARM branch #83 NOT main! Merging this will merge that as well. The reason is a change in specifying CIBW_ARCH that would cause a merge conflict.

See #81

Uses cibuildwheel's QEMU mechanism.
@eriknw
Copy link
Member

eriknw commented May 3, 2023

Nice! LGTM. Will probably merge and do an alpha release tomorrow.

Thanks again @alugowski!

@eriknw eriknw merged commit 1d266a9 into GraphBLAS:main May 3, 2023
This was referenced May 3, 2023
@alugowski alugowski deleted the aarch64 branch May 4, 2023 19:27
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.

2 participants