[Numpy-discussion] Intel MKL 9.1 on Windows (was: Re: VMWare Virtual Appliance...)

Albert Strasheim fullung at gmail.com
Sat Jul 28 17:34:18 EDT 2007


Hello all

Turns out there's a third option:

[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_dll, libguide40
lapack_libs = mkl_lapack

Note mkl_c_dll, not mkl_c. From what I understand from the MKL release 
notes and user guide, one should be able to mix mkl_c (a static 
library) and libguide40 (a dynamic library), but this seems to crash in 
practice.

Anyway, with the site.cfg as above, NumPy passes its tests with MKL 9.1 
on 32-bit Windows. Whoot!

Regards,

Albert

On Tue, 12 Jun 2007, Albert Strasheim wrote:

> 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...
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion



More information about the NumPy-Discussion mailing list