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
py-scipy: add v1.9 #31810
py-scipy: add v1.9 #31810
Conversation
The SciPy build itself never provided such a thing, in an automated fashion at least. Spack does it with quite a bit of custom code: spack/var/spack/repos/builtin/packages/py-numpy/package.py Lines 243 to 330 in a4ad4b3
I'm guessing we want a bit more custom code, that maps the BLAS/LAPACK determined from the
Yes, there are. We need to get that done before Python 3.12 becomes a thing. Once |
|
Those are the ones I have tested. I'd expect some hiccups with MKL, because of the multiple ways you can build against it, and IIRC the pkgconfig files it ships are not great. Other than that, any valid name will work. If you have a
|
This indeed doesn't work with |
We can always use |
I don't think |
This will work fine except for the fact that Meson does not (yet) have dist-info generation, so you can install SciPy, but you cannot make importlib-metadata et al. aware that it is installed. (This will be added to Meson after a) the python 3.11 release with stdlib A technically gross hack is to mkdir the intended dist-info directory, and copy the |
It is, it's new in pip 22.1: pypa/pip#11059. Docs: https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-config-settings There's this issue: https://github.com/FFY00/meson-python/issues/54. That may explain why it does not work.
There's also a difference in default build options (like I think this is the one working way to work around the problem right now:
That should pick up the desired BLAS/LAPACK version, and build with the same debug and optimization settings as well as dependencies when simply doing I did test this and it works for me, but it of course looks a bit shaky. |
This is a |
Thanks for all of the ideas and links! Since Spack users are very concerned about proper BLAS/LAPACK linking, I think the appropriate path forward is:
Does this sound appropriate? I would rather avoid anything too hacky since we'll be ripping it out later. The alternative is just to wait for https://github.com/FFY00/meson-python/pull/122 to be merged and released before moving forward with this PR. Not sure how many Spack users are desperate to start using scipy 1.9. |
There's a few other issues coming up for
I'd prefer either waiting for a week or so (I imagine that that's when the fixes land), or building |
28a53f8
to
621859a
Compare
It seems like https://github.com/FFY00/meson-python/pull/122 isn't going to be merged any time soon. I'm starting to think that we should use: $ meson setup build -Dblas=openblas -Dlapack=openblas --prefix=$PWD/build-install -Ddebug=false -Doptimization=2
$ python -m build --wheel -Cbuilddir=build --no-isolation --skip-dependency-check .
$ pip install dist/scipy*.whl to build while we wait for that. Can steps 2 and 3 be replaced with |
Yes, I think that is reasonable, it's only a couple of lines more and it does the job.
No, I don't think so, that will ignore step 1. Also, |
621859a
to
5243219
Compare
P.S. This builds properly for me now. Just want to figure out the correct syntax for the conflict and this should be ready to merge assuming CI passes. |
@spackbot run pipeline |
I had a problem triggering the pipeline. |
683c179
to
b44067d
Compare
Ping @scottwittenburg @zackgalbreath, we're currently unable to reproduce the pipeline issues so it's difficult to debug this. @rgommers you mentioned that you were working on improving MKL support, any progress on this? |
No work on my Meson PR in the last few weeks, but the |
Other users are clamoring for newer scipy (#33929) so let me see if I can just add a conflict for MKL for the time being and we can figure it out in the future... |
Sorry about that, #33953 should fix
|
Tests are finally passing. I say we merge this and figure out MKL support in a follow-up PR. |
That sounds good to me! Thanks for the persistence @adamjstewart & everyone who helped out! |
I agree, too. Since @scottwittenburg says reproducing will work now, I should be able to track down the problem. |
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.
Tests are finally passing. I say we merge this and figure out MKL support in a follow-up PR.
👍
https://github.com/scipy/scipy/releases/tag/v1.9.0
Successfully builds on macOS 12.4 (Apple M1 Pro) with Python 3.9.13 and Apple Clang 13.1.6.
Scipy 1.9.0 switches from setuptools to meson. Pros: build times are down from ~6 min to ~2.5 min! Cons: I don't yet see a way to define which BLAS/LAPACK library is used. It seems meson uses pkg-config and picks up whichever BLAS/LAPACK it finds first. It's unclear what the behavior is when multiple BLAS/LAPACK libraries are installed on the system. @rgommers do you know of any way to force scipy to use the same BLAS/LAPACK as numpy? Are there any plans to port numpy to use meson too?
Depends on #31809