+1 vote
asked by (200 points)


I am trying to use the MKL platform to run itensor. But I cannot find the two libraries libiomp5 & libpthread as stated in the option.mk file by

BLAS_LAPACK_LIBFLAGS=-L/opt/intel/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_rt -lmkl_core -liomp5 -lpthread

What I can see in the MKL library is

mkl/lib/intel64 $ ls
libmkl_ao_worker.so             libmkl_blacs_openmpi_lp64.so  libmkl_gf_ilp64.a       libmkl_lapack95_ilp64.a    libmkl_tbb_thread.so
libmkl_avx2.so                  libmkl_blacs_sgimpt_ilp64.a   libmkl_gf_ilp64.so      libmkl_lapack95_lp64.a     libmkl_vml_avx2.so
libmkl_avx512_mic.so            libmkl_blacs_sgimpt_ilp64.so  libmkl_gf_lp64.a        libmkl_mc3.so              libmkl_vml_avx512_mic.so
libmkl_avx512.so                libmkl_blacs_sgimpt_lp64.a    libmkl_gf_lp64.so       libmkl_mc.so               libmkl_vml_avx512.so
libmkl_avx.so                   libmkl_blacs_sgimpt_lp64.so   libmkl_gnu_thread.a     libmkl_rt.so               libmkl_vml_avx.so
libmkl_blacs_intelmpi_ilp64.a   libmkl_blas95_ilp64.a         libmkl_gnu_thread.so    libmkl_scalapack_ilp64.a   libmkl_vml_cmpt.so
libmkl_blacs_intelmpi_ilp64.so  libmkl_blas95_lp64.a          libmkl_intel_ilp64.a    libmkl_scalapack_ilp64.so  libmkl_vml_def.so
libmkl_blacs_intelmpi_lp64.a    libmkl_cdft_core.a            libmkl_intel_ilp64.so   libmkl_scalapack_lp64.a    libmkl_vml_mc2.so
libmkl_blacs_intelmpi_lp64.so   libmkl_cdft_core.so           libmkl_intel_lp64.a     libmkl_scalapack_lp64.so   libmkl_vml_mc3.so
libmkl_blacs_openmpi_ilp64.a    libmkl_core.a                 libmkl_intel_lp64.so    libmkl_sequential.a        libmkl_vml_mc.so
libmkl_blacs_openmpi_ilp64.so   libmkl_core.so                libmkl_intel_thread.a   libmkl_sequential.so       locale
libmkl_blacs_openmpi_lp64.a     libmkl_def.so                 libmkl_intel_thread.so  libmkl_tbb_thread.a

1 Answer

0 votes
answered by (70.1k points)

Hi, so the exact flags you have to use varies with different installations of MKL and different versions unfortunately. On our cluster at my office, I have to include also some headers associated with the Intel compiler to get MKL to work properly (though I don't believe this is necessary in general).

As you can see in your mkl/lib/intel64 folder, there are no libiomp5.so and libpthread.so files so that's the immediate reason why you're getting the error. As to where these files actually are on your system, that sort of depends.

A very useful thing to do can be to use the Intel "Link Line Advisor" website which asks you some questions about your system then recommends linker flags:


Hope that helps -


Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.