-
Notifications
You must be signed in to change notification settings - Fork 822
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
Anaconda's scipy.test() fails with "OMP: Error #100: Fatal system error detected #785
Comments
Which packages is MKL required for? As far as I know, it was only added recently to their free-tier Linux installer so most things should work fine with nomkl. |
For example, this ones fails at compilation time with exactly the same error (and it's not possible to install w/o MKL): |
Sorry, my last comment was wrong. TTpy packages doesn't fail at compile time, but it fails when some functions are called (for example, tt.tensor). What I've found is that setting environmental variable KMP_AFFINITY=disabled resolves the problem. However, I have no idea what implications it might have and not sure whether it's a proper workaround. And it actually means, that the problem is not with MKL itself, but with OpenMP becoming faulty with any other value of KMP_AFFINITY (I tried all). |
Yeah.. And all the packages built on top of it. I was using statsmodels.api.GLSAR and it was also failing with the same problem. I opened a bug in statsmodels |
Any solutions ? I am little anxious as one of my work depends on it. |
If nobody has a fix and you really need it, you might want to just run You can also run much of the data science stack in Windows (not Bash) just On Aug 7, 2016 12:29 AM, "srinath" notifications@github.com wrote:
|
Thanks for the suggestion. I am already doing that. Actually I am in final stages of development of a benchmark https://github.com/srinath29/UltimateAnalyticsBenchmark |
Have you tried setting KMP_AFFINITY=disabled? Does it really kills performance? I haven't tested yet, would be interesting to see. |
@evfro See the score at the bottom. Bash is performing better than windows. Now I am not sure it is because making it disabled or it's bash's power. Can you do the same test on your system? I am very curious to see how it is working. |
@srinath29 from timeit import default_timer Now, that said, I can confirm that there are performance differences in certain types of operations. a = numpy.random.random((10000, 10000))
%timeit a.mean() gives me on average 52ms on bash and 133ms on windows. However, more involved calculations like computing sparse SVD (scipy.sparse.linalg.svds) give me roughly equal results: 151ms on bash against 156ms on windows (for 6040 by 3706 matrix with 99% sparsity). And while this KMP_AFFINITY thing does the trick, I would really like to hear from core developers team of BashOnWindows whether this is an appropriate modification (and whether it can be made default without additional user actions). From Intel's website: "Thread affinity is supported on Windows systems and versions of Linux systems that have kernel support for thread affinity..." So the problem can be either due to a bug or due to a kernel-level limitation. |
does anyone know if there's a fix other than disabling MKL affinity? I'm using a numpy/scipy stack for one of my classes and i develop on Bash for windows and am wondering if there's any fix for this or if I still have to do it the hacky way (and can rest assured that unless professor runs BashOnWindows too, he won't get this error) |
suggest CLOSE this issue as it was resolved with Build 14936 and installing new default Ubuntu 16.04 |
how to get this build for Bash for Windows? or is it installed automatically with Windows update? |
You need Windows 14936 or newer, and no it will not autoupgrade, even when you get the latest build.
That erases everything but your home directory (in the Ubuntu lxss folder) so backup anything you might need. |
Can't you also run do-release-upgrade? So you don't lose all your files? On Nov 19, 2016 2:42 PM, "Michael Hirsch" notifications@github.com wrote:
|
Some people do that, I wanted a clean start. |
Same with CNTK ., KMP_AFFINITY=disabled made it work |
Closing this per the comment above, please let us know if there are any regressions in this scenario: "suggest CLOSE this issue as it was resolved with Build 14936 and installing new default Ubuntu 16.04" |
@scienceopen it is possible to upgrade Ubuntu 14 to 16
I've got 16.04 on my machine after these steps |
SciPy is a python package for scientific computing. Normally it's installed with Anaconda distribution, that also ships Intel's MKL library (with LAPACK and BLAS routines).
Executing
scipy.test()
from within python completes with the report on all errors and failures discovered.scipy.test()
doesn't complete and terminates python with the following error:Microsoft Windows [Version 10.0.14393]
Run from terminal:
python -c 'import scipy; scipy.test()'
https://gist.github.com/Evfro/2d0d83745a92d3f6e2f52ce3675a273d
The last thing before error there is the following line:
sched_getaffinity(0, 4, 0x7fc7757a7e00) = -1 EINVAL (Invalid argument)
Install latest miniconda (Python 2.7):
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh bash Miniconda*.sh
Update apt-get (prevents some errors):
Install scipy, numpy and nose (for running tests):
This will additionally install MKL and libgfortran-3.
Note: test doesn't fail if nomkl versions of numpy and scipy are installed, however, MKL (especially its LAPACK and BLAS) is required for some other packages, so it's not really an option.
The text was updated successfully, but these errors were encountered: