[Numpy-discussion] Intel MKL 9.1 on Windows (was: Re: VMWare Virtual Appliance...)
fullung at gmail.com
Sat Jul 28 17:34:18 EDT 2007
Turns out there's a third option:
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
Anyway, with the site.cfg as above, NumPy passes its tests with MKL 9.1
on 32-bit Windows. Whoot!
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.
> 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
> 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:
> 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
More information about the NumPy-Discussion