BLD: use github to build macos-arm64 wheels with OpenBLAS and update to 0.3.30#29069
BLD: use github to build macos-arm64 wheels with OpenBLAS and update to 0.3.30#29069rgommers merged 3 commits intonumpy:mainfrom
Conversation
|
A single parameterized test is failing for the csingle and cdouble cases: |
|
Changing to draft to indicate that this is stuck until we can figure out what is going wrong |
|
In case the logs go away before this gets revisited: the (failing) meson build here reports
while the (successful) cirrus CI one reports |
fb3bf2e to
17d0308
Compare
|
I hacked the call to zgetrf to reset the FPE registers on macos-arm64, since I couldn't actually fix the problem. In my defense most people with macos-arm64 machines will be using the Accelerate LAPACK wheel and not the OpenBLAS one, since they will have macos-14+ (released Sep 2023). |
|
I wonder why scipy does not see this Edit: scipy, if I am not mistaken, does not check FPE registers? |
|
The goal of this PR is to build macos-arm64 wheels on github, and with the hacky fix it is passing. The pypy failure is unrelated. |
|
If you can tell me what to look out for, I may find time eventually, but please don't expect me to wade through numpy logs. I take it you are seeing fpe exception registers getting set without an exception actually being raised, i.e. something like an underflow or a quiet NaN that depends on xcode/AppleClang version (so might be an Apple compiler bug) ? |
IIRC, it is using SME that has that problem, apparently it is part of the spec. See #29223. |
|
@martin-frbg sorry for the noise, I will try to whittle it down to a minimal reproducer in C. The general idea is that this sets FPE error registers in the call to |
|
I don't know if I should open an issue on OpenBLAS, I am not sure they commit to correct handling of FPE registers. Here is the minimum reproducer I could create, starting in the OpenBLAS repo HEAD on macos-arm64
|
|
@seiko2plus pointed out we need to add |
17d0308 to
88e865d
Compare
|
rebased and updated to use OpenBLAS 0.3.30 compiled with |
|
wheel building on macos is passing, now that OpenBLAS is built with The PyPy failures are fixed on PyPy-HEAD, the wheel building uses the last release. |
|
Would be nice if this ended up fixing the mac-os matmul warning heisenbug :). |
|
Ping |
seberg
left a comment
There was a problem hiding this comment.
Looks right to me thanks. Test failure is just the occasional PyPy issue.
|
I've marked this for backport, we may want it for the 3.14 build. Updating OpenBLAS is open for discussion. |
I don't think we can do one without the other, because this PR was blocked on failure that was fixed by rebuilding a new version of OpenBLAS with I think it'd be fine to backport this PR in whole to 2.3.x. Or not and stay with Cirrus CI for 2.3.x, either way should work so I think you should make the call on that @charris. |
Move the macos-arm64 wheel builds with OpenBLAS (targeting
MACOSX_DEPLOYMENT_TARGET=11) on github runners instead of cirrus. If this works, maybe it will impact the build failure in #29039. It should simplify CI, and will be less expensive, but does make us more dependent on github.