[Numpy-discussion] MKL with 64bit crashes
Dag Sverre Seljebotn
dagss@student.matnat.uio...
Thu Jan 21 06:01:30 CST 2010
Kashyap Ashwin wrote:
> Matthieu,
> I am not sure what exactly you mean. I did pass in "static" to the
> link-adviser and this is the new setup.cfg
> mkl_libs = mkl_solver_ilp64, mkl_intel_ilp64, mkl_gnu_thread, mkl_core.
>
> On import, Numpy complains as usual about the mkl_def and mkl_mc. If I
> append these libs, then the crashes happen on test() (complains first
> about the DGES* functions).
> Also, I have made sure that g77 is not installed and only gfortran is
> available.
>
> I also put in the LD_LIBRARY_PATH=/opt/intel/mkl/10.2.2.025/lib/em64t.
>
> Thanks,
> Ashwin
>
This was an old post, but for Googlability of this thread: I think the
major problem here is that one uses "ilp64" rather than "lp64". Even on
a 64-bit system, it is common to assume integers are 32-bit for BLAS,
and it seems NumPy makes this assumption as well.
Just appending mkl_def or mkl_mc seems dangerous as I have a lurking
feeling the purpose of those is to load different libraries for
different CPUs, determined runtime. (This is not validated by anyone, it
is just a guess).
There's more problems, but I've detailed those in my recent post on
"Proposed fix for MKL and dynamic loading".
Dag Sverre
> Your message:
> Hi,
>
> You need to use the static libraries, are you sure you currently do?
>
> Matthieu
>
> 2009/10/15 Kashyap Ashwin <Ashwin.Kashyap@thomson.net>:
>
>> I followed the advice given by the Intel MKL link adviser
>>
>>
> (http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/)
>
>> This is my new site.cfg:
>> mkl_libs = mkl_intel_ilp64, mkl_gnu_thread, mkl_core
>>
>> I also exported CFLAGS="-fopenmp" and built with the
>>
> --fcompiler=gnu95.
>
>> Now I get these errors on import:
>> Running unit tests for numpy
>> NumPy version 1.3.0
>> NumPy is installed in
>> /opt/Personalization/lib/python2.5/site-packages/numpy
>> Python version 2.5.2 (r252:60911, Jul 22 2009, 15:33:10) [GCC 4.2.4
>> (Ubuntu 4.2.4-1ubuntu3)]
>> nose version 0.11.0
>>
>> *** libmkl_mc.so *** failed with error : libmkl_mc.so: undefined
>>
> symbol:
>
>> mkl_dft_commit_descriptor_s_c2c_md_omp
>> *** libmkl_def.so *** failed with error : libmkl_def.so: undefined
>> symbol: mkl_dft_commit_descriptor_s_c2c_md_omp
>> MKL FATAL ERROR: Cannot load neither libmkl_mc.so nor libmkl_def.so
>>
>>
>> Any hints?
>>
>
>
>> Thanks,
>> Ashwin
>>
>>
>>
>> Your message:
>>
>> On Thu, Oct 15, 2009 at 8:04 AM, Kashyap Ashwin
>> <Ashwin.Kashyap@thomson.net> wrote:
>>
>>> Hello,
>>> I compiled numpy-1.3.0 from sources on Ubuntu-hardy, x86-64 (Intel)
>>>
>> with
>>
>>> MKL.
>>> This is my site.cfg:
>>> [mkl]
>>> # library_dirs = /opt/intel/mkl/10.0.1.014/lib/32/
>>> library_dirs = /opt/intel/mkl/10.2.2.025/lib/em64t
>>> include_dirs = /opt/intel/mkl/10.2.2.025/include
>>> lapack_libs = mkl_lapack
>>> #mkl_libs = mkl_core, guide, mkl_gf_ilp64, mkl_def, mkl_gnu_thread,
>>> iomp5, mkl_vml_mc3
>>> mkl_libs = guide, mkl_core, mkl_gnu_thread, iomp5, mkl_gf_ilp64,
>>> mkl_mc3, mkl_def
>>>
>> The order does not look right - I don't know the exact order (each
>> version of the MKL changes the libraries), but you should respect the
>> order as given in the MKL manual.
>>
>>
>>> MKL ERROR: Parameter 4 was incorrect on entry to DGESV
>>>
>> This suggests an error when passing argument to MKL - I believe your
>> version of MKL uses the gfortran ABI by default, and hardy uses g77 as
>> the default fortran compiler. You should either recompile everything
>> with gfortran, or regenerate the MKL interface libraries with g77 (as
>> indicated in the manual).
>>
>> cheers,
>>
>> David
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>
>
>
>> -----Original Message-----
>> From: Kashyap Ashwin
>> Sent: Thursday, October 15, 2009 11:01 AM
>> To: 'numpy-discussion@scipy.org'
>> Subject: RE: MKL with 64bit crashes
>>
>> I followed the advice given by the Intel MKL link adviser
>>
> (http://software.intel.com/en-
>
>> us/articles/intel-mkl-link-line-advisor/)
>>
>> This is my new site.cfg:
>> mkl_libs = mkl_intel_ilp64, mkl_gnu_thread, mkl_core
>>
>> I also exported CFLAGS="-fopenmp" and built with the
>>
> --fcompiler=gnu95. Now I get these errors on
>
>> import:
>> Running unit tests for numpy
>> NumPy version 1.3.0
>> NumPy is installed in
>>
> /opt/Personalization/lib/python2.5/site-packages/numpy
>
>> Python version 2.5.2 (r252:60911, Jul 22 2009, 15:33:10) [GCC 4.2.4
>>
> (Ubuntu 4.2.4-1ubuntu3)]
>
>> nose version 0.11.0
>>
>> *** libmkl_mc.so *** failed with error : libmkl_mc.so: undefined
>>
> symbol:
>
>> mkl_dft_commit_descriptor_s_c2c_md_omp
>> *** libmkl_def.so *** failed with error : libmkl_def.so: undefined
>>
> symbol:
>
>> mkl_dft_commit_descriptor_s_c2c_md_omp
>> MKL FATAL ERROR: Cannot load neither libmkl_mc.so nor libmkl_def.so
>>
>>
>> Any hints?
>>
>> Thanks,
>> Ashwin
>>
>>
>>
>> Your message:
>>
>> On Thu, Oct 15, 2009 at 8:04 AM, Kashyap Ashwin
>> <Ashwin.Kashyap@thomson.net> wrote:
>>
>>> Hello,
>>> I compiled numpy-1.3.0 from sources on Ubuntu-hardy, x86-64 (Intel)
>>>
> with
>
>>> MKL.
>>> This is my site.cfg:
>>> [mkl]
>>> # library_dirs = /opt/intel/mkl/10.0.1.014/lib/32/
>>> library_dirs = /opt/intel/mkl/10.2.2.025/lib/em64t
>>> include_dirs = /opt/intel/mkl/10.2.2.025/include
>>> lapack_libs = mkl_lapack
>>> #mkl_libs = mkl_core, guide, mkl_gf_ilp64, mkl_def, mkl_gnu_thread,
>>> iomp5, mkl_vml_mc3
>>> mkl_libs = guide, mkl_core, mkl_gnu_thread, iomp5, mkl_gf_ilp64,
>>> mkl_mc3, mkl_def
>>>
>> The order does not look right - I don't know the exact order (each
>> version of the MKL changes the libraries), but you should respect the
>> order as given in the MKL manual.
>>
>>
>>> MKL ERROR: Parameter 4 was incorrect on entry to DGESV
>>>
>> This suggests an error when passing argument to MKL - I believe your
>> version of MKL uses the gfortran ABI by default, and hardy uses g77 as
>> the default fortran compiler. You should either recompile everything
>> with gfortran, or regenerate the MKL interface libraries with g77 (as
>> indicated in the manual).
>>
>> cheers,
>>
>> David
>>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
More information about the NumPy-Discussion
mailing list