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

BLD: add ppc64le, aarch64, s390x builds #9

Merged
merged 9 commits into from
Jan 2, 2020

Conversation

mattip
Copy link
Collaborator

@mattip mattip commented Dec 17, 2019

Using the recent updates to multibuild, this add multilinux2014-compatible tarballs for aarch64, ppc64le, and s390x. appveyor builds are disabled, let's see if travis likes this first

@tylerjereddy
Copy link
Collaborator

This will be pretty cool when it is ready to go! Should remove the manual building on the other platforms, etc.

@mattip
Copy link
Collaborator Author

mattip commented Dec 17, 2019

rebased, squashed, and added more set -v to see why the builds are failing

@mattip mattip changed the title WIP, BLD: add ppc64le, aarch64, s390x builds BLD: add ppc64le, aarch64, s390x builds Dec 18, 2019
@mattip
Copy link
Collaborator Author

mattip commented Dec 18, 2019

Removed the WIP label. The changes can be summarized as:

I think this is ready for review.

@mattip
Copy link
Collaborator Author

mattip commented Dec 18, 2019

It seems strange that the other architectures all build in <10 minutes, and the x86 ones take over 30 minutes. Are there some optimizations or flags missing?

@matthew-brett
Copy link
Contributor

Is it just the fact that there are many more kernels for Intel? Are the other architectures also multi-kernel? Or are they being built for only one CPU architecture?

@mattip
Copy link
Collaborator Author

mattip commented Dec 18, 2019

Ahh, right. I guess there is no log of which variant kernels are being compiled.

@mattip
Copy link
Collaborator Author

mattip commented Dec 18, 2019

I added the _64 variants on ppc64le and s390x, for some reason the aarch64 one segfaults so I removed it for now. TBD in a future PR, maybe we need to compare with the upstream CI configuration, but this can get us started with tarballs on the rackspace instance

@tylerjereddy
Copy link
Collaborator

Keep in mind that the tarballs will be built for v0.3.8-dev instead of the v0.3.7 stable release used in i.e., NumPy CI. I don't think it is that big of a deal, but Pauli did recently ask me to separately build the _64 ones for v0.3.7 for a better testing match.

There is a way to do that, but I'd prefer not to unless it is really necessary, since I made a bit of a mess of it yesterday with the hash change for some v0.3.7 tarballs (they can easily get regenerated with a new hash if not careful).

@tylerjereddy
Copy link
Collaborator

The NumPy CI would just need to be adjusted to check for the correct/bumped OpenBLAS version for those new tarballs vs. stable release tarballs in some matrix entries.

@tylerjereddy
Copy link
Collaborator

Then when 0.3.8 stable comes out everything can sync up again.

@mattip
Copy link
Collaborator Author

mattip commented Dec 30, 2019

waiting on MacPython/gfortran-install#2

@mattip
Copy link
Collaborator Author

mattip commented Dec 31, 2019

seems to work: the aarch64 run built openblas-v0.3.5-605-gc815b8fb-manylinux2014_aarch64.tar.gz

@mattip
Copy link
Collaborator Author

mattip commented Jan 2, 2020

@tylerjereddy does this look ok?

Copy link
Collaborator

@tylerjereddy tylerjereddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, this looks like a reasonable expansion as the ecosystem prepares for supporting more platforms. CI is green and the merge into master should not be disruptive to downstream projects immediately since we are pointing to a 0.3.8.dev build of OpenBLAS instead of the latest stable release (so not many projects should suffer from tarball hash regenerations, etc.).

Thanks Matti---let's give this a try & hopefully we can discover any issues early on before wheels have to be distributed for those platforms, etc.

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.

3 participants