-
-
Notifications
You must be signed in to change notification settings - Fork 11.1k
BLD: use github to build macos-arm64 wheels with OpenBLAS and update to 0.3.30 #29069
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
base: main
Are you sure you want to change the base?
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 :). |
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.