![]() Using F90 interface I have a Makefile which is complicated and not written by myself. In fortran program I use ifort compiler when using F77 interface I just type ifort myprogram.f. I have used fortran zheev(F77) and heev(F90) before, and I succeed in compiling the program. Zheev_mkl.c:(.text+0x3c): undefined reference to `LAPACKE_zheev' When I try to compile this program, using gcc myprogram.c command. I am testing a program which diagnalize a hermitian matrix, using LAPACKE_zheev function describe in the MKL manual. ![]() Python3 setup.py config -compiler=intelem + linker_so=compiler + ' -dynamiclib $(python3 -c $PYLINK)') + _exe = 'icc -m64 -O3 -g -fPIC -fp-model strict -fomit-frame-pointer -openmp -xhost' UnixCCompiler._init_ (self, verbose, dry_run, force) Patch numpy/distutils/intelccompiler.py <<EOF Include_dirs = /opt/intel/include:/opt/intel/include/intel64:/opt/intel/mkl/includeĮxport PYLINK="import sys import os print('-L' + os.path.abspath(os._file_ + '/./.') + ' -lpython3.' + str(sys.version_info))" Library_dirs = /opt/intel/lib/intel64:/opt/intel/lib:/opt/intel/mkl/lib I can consistently reproduce this by execution this script: wget Please note that I can't use the -mkl flag since that does too much. The above comes from installation of Intel Composer XE 2013 SP 1.1.103 Libmkl_intel_ilp64.a libmkl_lapack95_lp64.a libmkl_vml_avx.dylib Libmkl_intel.dylib libmkl_lapack95_ilp64.a libmkl_sequential.dylib locale Libmkl_intel.a libmkl_lapack95.a libmkl_sequential.a libmkl_vml_p4p.dylib Libmkl_core.dylib libmkl_intel_thread.dylib libmkl_rt.dylib libmkl_vml_p4m3.dylib Libmkl_core.a libmkl_intel_thread.a libmkl_pgi_thread.a libmkl_vml_p4m2.dylib Libmkl_blas95_lp64.a libmkl_intel_sp2dp.dylib libmkl_p4p.dylib libmkl_vml_p4m.dylib Libmkl_blas95_ilp64.a libmkl_intel_sp2dp.a libmkl_p4m3.dylib libmkl_vml_mc3.dylib Libmkl_blas95.a libmkl_intel_lp64.dylib libmkl_p4m.dylib libmkl_vml_mc2.dylib Libmkl_avx2.dylib libmkl_intel_lp64.a libmkl_mc3.dylib libmkl_vml_mc.dylib Libmkl_avx.dylib libmkl_intel_ilp64.dylib libmkl_mc.dylib libmkl_vml_avx2.dylib This is what I have in my mkl/lib directory: So the question is, what directory do I need to add for the above to work. Icc -m64 -O3 -g -fPIC -fp-model strict -fomit-frame-pointer -openmp -xhost -dynamiclib -L/opt/intel/lib/intel64 -L/opt/intel/lib -L/usr/local/Cellar/python3/3.4.1/Frameworks/amework/Versions/3.4/lib -lpython3.4 build/temp.macosx-10.9-x86_64-3.4/numpy/linalg/lapack_litemodule.o build/temp.macosx-10.9-x86_64-3.4/numpy/linalg/lapack_lite/python_xerbla.o -L/opt/intel/mkl/lib -Lbuild/temp.macosx-10.9-x86_64-3.4 -lmkl_lapack -lmkl_rt -lpthread -o build/lib.macosx-10.9-x86_64-3.4/numpy/linalg/lapack_lite.so In this process I have solved many problems myself, but I'm stuck on this one: Hi, I'm trying to compile numpy for python 3.4 with Intel MKL on Mac OS X. However, if I use only diagonal matrices for input, the runtime is stable. These problems occur with the routines "heev", "hpev" and "hpevd". After restarting the application, the run time gets back to normal, however, after many function calls, the run time gets unstable again. After this peak in the run time, there are tremendous variations in the run time and peaks in run times occur regularly. After ~ 2 000 000 function calls, at a certain point, the runtime increases to its double. However, using one routine many times in a row causes problems: The run time is stable around a certain mean value. Normally, there is no problem with theses routines. In particular I tried the routines "heev", "hpev" and "hpevd" to compute the eigenvalue decompositions including the eigenvectors. On these matrices, I run the routines provided by the MKL. As the input, I have complex Hermitian matrices with the dimension ~30X30. I have the following problem with the LAPACK driver routines used for solving symmetric eigenvalue problems in C++.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |