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
siesta version 4.1-b3
Any guidance would be appreciated.
Link Copied
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)
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
For more complete information about compiler optimizations, see our Optimization Notice.