Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Linking issues with Siesta 4.1-b3 and MKL 2018

Jesse_Q_
Beginner
543 Views

Using the latest 2018 intel compilers and mkl with openmpi or mpich on OSX i get numerous mkl reference errors during linking of siesta. I have included the arch.make and a log file that contains the FFLAGS = -O0 -g -check bounds -traceback. Any information would be appreciated.

The following used openmpi-3.0.1; however, the exact same issue happens with mpich-3.1.4

https://jessequinn-my.sharepoint.com/:u:/g/personal/me_jessequinn_info/EZUK_6HTvOdOo_QeZ1-mqMwBudsBPNWDKJ2Ip6TxwOiCdQ?e=fafo6i

siesta version 4.1-b3

Any guidance would be appreciated.

0 Kudos
2 Replies
Jesse_Q_
Beginner
543 Views

resolved.

The following resolved the linking errors

LIBS = -qopenmp $(MKL)/lib/libmkl_blas95_ilp64.a $(MKL)/lib/libmkl_lapack95_ilp64.a $(INTEL_LIBS) -Wl,-rpath,$(MKL)/lib \
-lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_mpich_ilp64 -liomp5 -lpthread -lm -ldl \
$(HDF5_LIBS) -Wl,-rpath,$(HDF5_ROOT)/lib -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5 \
$(NETCDF_LIBS) -Wl,-rpath,$(NETCDF_ROOT)/lib -lnetcdf $(NETCDFF_LIBS) -Wl,-rpath,$(NETCDFF_ROOT)/lib -lnetcdff \
$(OTHER_LIBS) -Wl,-rpath,$(HOME)/Packages/zlib-1.2.11/lib -lz \
$(MPI_LIBS) -Wl,-rpath,$(HOME)/Packages/mpich-3.1.4/lib -lmpi $(COMP_LIBS)

0 Kudos
Ying_H_Intel
Employee
543 Views

Hi Jesse,

Nice to know you resolved the problem.  Just let you know, here is MKL library link advisor :

 https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/
​which will help to provide the exact MKL library wanted when you link in application.

for example,  -qopenmp $(MKL)/lib/libmkl_blas95_ilp64.a $(MKL)/lib/libmkl_lapack95_ilp64.a $(INTEL_LIBS) -Wl,-rpath,$(MKL)/lib \
-lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_mpich_ilp64 -liomp5 -lpthread -lm -ldl

Here you are using the ILP64 (integer is 64bit).  Please make sure your siesta​ application ask the 64bit integer.

Best Regards,
Ying

0 Kudos
Reply