-
Notifications
You must be signed in to change notification settings - Fork 145
Remove lapack linking #328
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
Remove lapack linking #328
Conversation
Alexis - would you mind rebasing this one on master? |
@matthew-brett - unfortunately, i don't have any machines to offer. i live between my laptop and our compute clusters. but the following steps would setup anaconda with mkl (accelerate, which provides mkl, does require a license that is free for academic use, but also provides a 30 day trial period which allows using things like travis for unit-testing).
(there are other equivalent steps for os x and windows). |
This appears to install correctly and |
d1c8fc0
to
e185231
Compare
Removing the lapack linking is really great. However, I also get the errors on my box. |
Sorry guys - I have dropped the ball on this one. I will get to it tomorrow. |
Alexis - I can't get this to compile on OSX:
Shall I give you a login on my desktop so you can debug? |
On Linux I am getting this:
|
The Linux errors are also on Travis : https://travis-ci.org/nipy/nipy/jobs/40747586 |
Hi, -------- Message d'origine -------- The Linux errors are also on Travis : https://travis-ci.org/nipy/nipy/jobs/40747586 — |
0ae078c
to
67242ae
Compare
@matthew-brett @bthirion Let me know if that works for you now... |
Yes, working for me on OSX now, and I see it's building again on travis. Would you mind rebasing on master to get rid of the merge commits? |
67242ae
to
fae677e
Compare
…y import of lapack functions using scipy
fae677e
to
02cf23b
Compare
Can I merge this? |
As far as I can see this is OK (current travis errors do not seem related to this PR). |
MRG: Remove lapack linking This PR implements an alternate strategy to bind BLAS/LAPACK routines based on importing functions at run time via C-pointers provided by scipy. I removed any attempt to link BLAS/Lapack libraries at build time, even using source code (the lapack-lite distribution therefore becomes obsolete). Because not all the BLAS/LAPACK functions are available through scipy, I had to slightly rewrite some parts of the fff library and the labs package. The tests are however unchanged and all pass on my box.
Alexis - lots of errors on the buildbots - see http://nipy.bic.berkeley.edu/builders/nipy-py2.6-32/builds/269/steps/shell_6/logs/stdio - any thoughts? |
Hey Matthew, I just did a full re-install on my box and can't reproduce any of these bugs. I am running python 2.7.6, numpy 1.8.1 and scipy 0.13.3. The problem seems to be related with the failing of the following import on the buildbots:
Don't know if this is a scipy compatibility issue, or a deeper installation/library linking problem. |
* reverting-lapack-refactor: MAINT: update .c files from modified .pyx files RF: refactor import_array as documented BF: recythonize routines.pyx to fix import error MAINT: fix cythonize Makefile target Revert "Merge pull request nipy#328 from alexis-roche/remove-lapack-linking"
Some notes for my own understanding: http://mail.scipy.org/pipermail/nipy-devel/2014-July/010066.html http://mail.scipy.org/pipermail/scipy-user/2014-March/035561.html |
Another relevant note: Alexis - sorry to overwhelm you - but do you think there is any way of using the trick above in older Scipy versions? I think this is what Pauli is describing here: http://mail.scipy.org/pipermail/scipy-user/2014-March/035562.html |
I think this will also work for earlier versions:
at least it works in scipy 0.9.0 ... But 'dsymm' is still missing before 0.13. Possible to work round? |
Some explorations : https://gist.github.com/0f79c432b6f77d478d98 Output for scipy 0.13:
My Scipy 0.16 only has these missing:
I think this means that we'll run into trouble with missing routines on different scipy versions. |
Yes, that's one of the reasons why the most robust approach is probably to On Mon, Aug 31, 2015 at 11:23 AM, Matthew Brett notifications@github.com
Lead Clinical Research |
This PR implements an alternate strategy to bind BLAS/LAPACK routines based on importing functions at run time via C-pointers provided by scipy. I removed any attempt to link BLAS/Lapack libraries at build time, even using source code (the lapack-lite distribution therefore becomes obsolete).
Because not all the BLAS/LAPACK functions are available through scipy, I had to slightly rewrite some parts of the fff library and the
labs
package. The tests are however unchanged and all pass on my box.