Proper linking of MKL library

130 views
Skip to first unread message

Miro

unread,
Jul 11, 2020, 11:11:04 AM7/11/20
to NWChem Forum
Hello,

I have
  export BLASOPT="-L${MKLROOT}/lib/intel64_lin -lbmkl_blas95_ilp64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl"
  #export LAPACK_LIB="${MKLROOT}/lib/intel64_lin/libmkl_lapack95_ilp64.a -L${MKLROOT}/lib/intel64_lin -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl"
  export LAPACK_LIB="-L${MKLROOT}/lib/intel64_lin -lmkl_lapack95_ilp64 -lbmkl_blas95_ilp64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl"
  export BLAS_SIZE=8
  export LAPACK_SIZE=8
  export USE_MPI=y
  export LARGE_FILES=1
  export USE_NOFSCHECK=1
 
and
Currently Loaded Modulefiles:
  1) /compiler/intel/17.4           2) /ucx/intel/1.5_intel17.4       3) /openmpi/intel/4.0_intel17.4


but final linkink show missing objects:
/lustre/ukt/milias/work/software/nwchem/nwchem_master_openmpi-intel17mkl/lib/LINUX64/libtce.a(ccd_t2.o): In function `ccd_t2_3_':
ccd_t2.F:(.text+0x4fda): undefined reference to `ygemm_'
/lustre/ukt/milias/work/software/nwchem/nwchem_master_openmpi-intel17mkl/lib/LINUX64/libtce.a(ccd_t2.o):ccd_t2.F:(.text+0x6ab1): more undefined references to `ygemm_' follow
/lustre/ukt/milias/work/software/nwchem/nwchem_master_openmpi-intel17mkl/lib/LINUX64/libtce.a(cis_xdiagon.o): In function `cis_xdiagon_':
cis_xdiagon.F:(.text+0x889): undefined reference to `yaxpy_'
/lustre/ukt/milias/work/software/nwchem/nwchem_master_openmpi-intel17mkl/lib/LINUX64/libtce.a(tce_dgeev.o): In function `tce_dgeev_.V':
tce_dgeev.F:(.text+0x5d8): undefined reference to `ylange_'
tce_dgeev.F:(.text+0x677): undefined reference to `ylascl_'
tce_dgeev.F:(.text+0x6c4): undefined reference to `ygebal_'


Any help, please ? In which MKL library we have these missing  'y...' routines ?

Best, Miro




 

Edoardo Aprà

unread,
Jul 11, 2020, 11:17:04 AM7/11/20
to NWChem Forum
Miro,
Since you have performed the command
make 64_to_32
you need to set the env. variable USE_64TO32
Edo
PS Since you are using BLAS_SIZE=8, this 64_to_32 step is not strictly necessary.

Miro

unread,
Jul 12, 2020, 6:30:04 AM7/12/20
to NWChem Forum
Thanks ! This works, so the MKL linking issue is solved.

Miro
Reply all
Reply to author
Forward
0 new messages