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: Accelerate wheels for macOS 14+ #20510
Conversation
In order to get the wheels to build you'll need to have |
e4573a9
to
4dc9b4f
Compare
It's often better to iterate on your own fork, as it can decrease CI usage. I open a PR against my own fork and iterate. When I'm happy I close the PR against my own fork and make a PR against the scipy fork. To get the CI to run on your own fork you have to change |
I did this before putting this PR up. You can view build logs from those early iterations via the link in the PR description. Just had a couple belated realizations afterwards haha. |
IP is deprecated (scipygh-20216) and these tests fail on macOS x86 Accelerate builds (scipygh-20510) [skip circle]
Hmm the rerun should've worked because I merged 20522. Can you rebase this PR on scipy/main after committing #20510 (comment)? |
df85538
to
f06f3c4
Compare
477ee53
to
f06f3c4
Compare
I added another commit that keeps our custom |
I think if you get it working then we should merge. However, I would like to transition to pre installed gfortran as it'll make life easier in the longrun |
dcc1ff1
to
443c2d2
Compare
Many of the Linux Meson Python 3.12 failures are related to numpy/numpy#26215. Here is the relevant code in our repo. I'll look into the sign flip in |
443c2d2
to
498f62d
Compare
This accumulated one merge conflict now. Other than that, is it good to go? |
I wanted one last look after the conflict is fixed |
[wheel build]
[wheel build]
498f62d
to
11b509c
Compare
ln -s $GFORTRAN_LOC gfortran | ||
if [[ ${{ matrix.buildplat[3] }} == 'accelerate' ]]; then | ||
echo CIBW_CONFIG_SETTINGS=\"setup-args=-Dblas=accelerate\" >> "$GITHUB_ENV" | ||
# Always use preinstalled gfortran for Accelerate builds |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens if the pre-installed gfortran is used for the openblas builds? It'd be nice to get rid of the gfortran installation in cibw_before_build_macos.sh.
Whilst we could probably iterate a bit further (e.g. to see if we can remove gfortran from cibw_before_build_macos), I think it's best to merge now. More mods could be done in a further PR. Thanks @thalassemia |
Great to get this in - thanks for the hard work! I added notes on Accelerate in https://github.com/scipy/scipy/wiki/*Release-Note-Entries-for-SciPy-1.14.0-(asterisk-makes-this-appear-at-the-top) |
What does this implement/fix?
Adds GHA jobs to build Accelerate wheels for macOS >= 14 as discussed in #19816 (comment).
Additional information
gfortran
included with the runner images to build Accelerate wheelsmacos-12
(macos-11
is EOL)pip
into installing and testing wheels targeting macOS >= 14 on the macOS 13 runner that built them (no free x86 runners on macOS 14) by renaming wheel during repair step and reverting name change after testingscipy.optimize.tests.test_linprog.TestLinprogIPDense.test_bug_6139
#20216