Conversation
rgommers
left a comment
There was a problem hiding this comment.
+1 for dropping Accelerate support in NumPy. Please propose it on the mailing list though, since it may affect people (at least they need to change their build setups to pull in OpenBLAS somehow).
Also, please undo all the numpy.distutils changes. There are very likely other projects that rely on Accelerate, you can't just remove that.
|
I thought we dropped support for accelerate ages ago - at least, I remember the mailing list discussion, and my changes to |
|
reverted changes to distutils |
numpy/core/setup.py
Outdated
| # Accelerate is buggy and not supported | ||
| if 'accelerate' in blas_opt_info.blas_order: | ||
| blas_opt_info.blas_order.remove('accelerate') |
There was a problem hiding this comment.
I'm tempted to remove it from lapack here too, to keep it in one place
There was a problem hiding this comment.
You mean move the corresponding change to lapack_opt_info out of numpy/linalg.setup.py to here? That seems fragile.
There was a problem hiding this comment.
I repeated the code in both numpy/core/setup.py and numpy/linalg/setup.py, with comments.
5617218 to
c05bde1
Compare
|
The note about Accelerate in INSTALL.rst.txt at https://github.com/numpy/numpy/blob/master/INSTALL.rst.txt#os-x should be updated or removed. |
|
I'm using Mac OSX 10.12.6. I built Python 3.8 from source, and then tried to install NumPy from this pull request. I did not create the file 'site.cfg'. |
|
Update: I said
but that's not true. |
c05bde1 to
5fa589c
Compare
|
I think your log is OK; since the |
|
@mattip, thanks, I can build this PR now. I used In numpy/core: In numpy/linalg: So it looks like linalg is still linking to Accelerate. This might be a quirk of how my system is set up. Let me know if there is anything I should check before digging into this any deeper. |
|
The links to Accelerate in |
|
Does it also build like that on scipy? I think they removed support for accelerate as well. |
I haven't yet tried building scipy with no optimized blas installed -- I usually work from a miniconda installation, which includes MKL. I'll try a clean(ish) build, similar to what I'm doing with numpy.
Here you go: https://gist.github.com/WarrenWeckesser/200b6d91e34a41dd2fe90258532a76ac |
|
And here's |
|
Based on this: I tried an experiment in which I made this change to In other words, just set and the full test suite still passes. So it is possible to make this work, but I haven't figured out enough of the |
|
When I run the test suite for this PR with Python 3.8 built from source (still using Mac OSX 10.12.6), I get one test failure: |
|
SciPy also removed the use of Accelerate, so as a sanity check, I built SciPy with Python 3.8 built from source, and NumPy 1.17.4 installed with pip (which uses a self-contained copy of openblas). Running |
|
It looks like there are still some unknown issues here. After consultation with @mattip, I'm closing the PR, but anyone who has insights into this issue is welcome to comment. |
|
I'm updating the install docs, and was looking at the state of this. @WarrenWeckesser or @mattip can you please expand on why this was closed? We still want this right? A better description and ensuring that this PR is linked from the tracking issue (creating it if it doesn't exist yet) would be very useful to ensure we don't reinvent this particular wheel in the future. |
|
The goal of the PR was to disable the use of Accelerate. The problem is that I when I built NumPy from source with the changes in this PR (on macOS 10.12.6), there were still links to Accelerate from the NumPy extension modules. This appears to be the result of |
|
I remember someone tested that what Scipy does prevents Accelerate from being linked in, and found that it works. Are the I imagine what is happening in your case is that they are getting picked up as a generic BLAS and LAPACK libraries. |
Accelerate is buggy, closed-source, and not supported. Remove it.