-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Test/build failure (Illegal instruction) #124
Comments
Hi , VirtualBox didn't support AVX instruction. Because OpenBLAS detects your VM as Sandy Bridge, it uses AVX kernels. You can "make TARGET=NEHALEM". Thanks Xianyi 2012/7/9 pao <
|
Ah, that explains why this just recently broke. Thanks! I'll try to verify this soon, and leave it up to you to decide how you want to resolve. |
Hi pao, I think this is Virtual Box issue. It should support AVX. To my knowledge, KVM supports AVX. I use a Sandy Bridge Win7 64-bit KVM machine to test OpenBLAS. Xianyi |
VMWare supports AVX as well. |
Agree that it is a VBox issue; just leaving it up to you to decide whether it's worth handling as a special case or not, rather than closing the issue out from under you. I'm not concerned with the performance loss since I'm just using it for Julia development; switching to VMWare is really more trouble than it's worth to me. Thanks for the pointer, though. |
It isn't actually too difficult to detect whether AVX is actually supported by the operating system/virtualization software. For reference here is small program based on code from one of Agner Fog's libraries: https://gist.github.com/3078968. I have limited time at the moment, but it would certainly be welcomed if this was incorporated into OpenBLAS's detection routines. --Zaheer |
Can confirm that setting TARGET=NEHALEM works fine. Thanks! |
Hi @pao , Could you try OpenBLAS develop branch. Thank you Xianyi |
Yes, I just built it and it correctly selected the Nehalem kernels. Thanks! |
@xianyi, I have discovered the problem that OpenBLAS faces with some virtualization suites. It seems that the way e.g. Amazon EC2 nodes "disable" AVX is to disable XSAVE instead, as if XSAVE is disabled, AVX is also not available. Is it possible to check for XSAVE as well when checking to see if AVX is available? |
@staticfloat , Thank you for the tip. I will implement it in develop branch. |
v0.2.2. Log (from within a Julia build): http://http://sprunge.us/ADMc
Ubuntu 11.10 VM in VirtualBox, with access to four logical cores.
/proc/cpuinfo:
The text was updated successfully, but these errors were encountered: