[Numpy-discussion] Intel MKL 9.1 on Windows (was: Re: VMWare Virtual Appliance...)
Albert Strasheim
fullung at gmail.com
Mon Jun 11 21:06:15 EDT 2007
Cancel that. It seems the problems with these two tests are being
caused by Intel MKL 9.1 on Windows. However, 9.0 works fine.
You basically you have 2 options when linking against MKL on Windows as
far as the mkl_libs go.
[mkl]
include_dirs = C:\Program Files\Intel\MKL\9.1\include
library_dirs = C:\Program Files\Intel\MKL\9.1\ia32\lib
mkl_libs = mkl_c, libguide40
lapack_libs = mkl_lapack
or
mkl_libs = mkl_c, libguide
I think libguide is the library that contains various thread and OpenMP
related bits and pieces. If you link against libguide, you get the
following error when running the NumPy tests:
OMP abort: Initializing libguide.lib, but found libguide.lib already initialized.
This may cause performance degradation and correctness issues.
Set environment variable KMP_DUPLICATE_LIB_OK=TRUE to ignore
this problem and force the program to continue anyway.
Please note that the use of KMP_DUPLICATE_LIB_OK is unsupported
and using it may cause undefined behavior.
For more information, please contact Intel(R) Premier Support.
I think this happens because multiple submodules inside NumPy are
linked against this libguide library, but this caused some
initialization code to be executed multiple times inside the same
process, which shouldn't happen.
If one sets KMP_DUPLICATE_LIB_OK=TRUE, the tests actually work with
Intel MKL 9.0, but no matter what you do with Intel MKL 9.1, i.e.,
- link against libguide40 or
- link against libguide and don't set KMP_... or
- link against libguide and set KMP_...
the following tests always segfault:
numpy.core.tests.test_defmatrix.test_casting.check_basic
numpy.core.tests.test_numeric.test_dot.check_matmat
Cheers,
Albert
On Tue, 12 Jun 2007, Albert Strasheim wrote:
> I've set up a 32-bit Windows XP guest inside VMWare Server 1.0.3 on a 64-bit
> Linux machine and two of the NumPy tests are segfaulting for some strange
> reason. They are:
>
> numpy.core.tests.test_defmatrix.test_casting.check_basic
> numpy.core.tests.test_numeric.test_dot.check_matmat
>
> Do these pass for you? I'm inclined to blame VMWare at this point...
More information about the NumPy-Discussion
mailing list