Intel MKL 9.1 on Windows (was: Re: VMWare Virtual Appliance...)
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...
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@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion
participants (1)
-
Albert Strasheim