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*.whlto 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. |
alalazo
left a comment
There was a problem hiding this comment.
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