i could be wrong on this but it seems that NWChem is not using the MKL it was linked against. I say this for two reasons.
1) The CPU time of all the test jobs seem for the NWChem built with the standard libraries and the one built with MKL are identical (+- 2%)
2) I have noticed that in the final linking step to generate NWChem binary "-lblas and -llapack" are there, which i suspect are the default libraries for NWChem
gfortran -L/home/joe/nwchem-6.1.1-src/lib/LINUX64 -L/home/joe/nwchem-6.1.1-src/src/tools/install/lib -o /home/joe/nwchem-6.1.1-src/bin/LINUX64/nwchem nwchem.o stubs.o -lnwctask -lccsd -lmcscf -lselci -lmp2 -lmoints -lstepper -ldriver -loptim -lnwdft -lgradients -lcphf -lesp -lddscf -ldangchang -lguess -lhessian -lvib -lnwcutil -lrimp2 -lproperty -lnwints -lprepar -lnwmd -lnwpw -lofpw -lpaw -lpspw -lband -lnwpwlib -lcafe -lspace -lanalyze -lqhop -lpfft -ldplot -ldrdy -lvscf -lqmmm -lqmd -letrans -lpspw -ltce -lbq -lcons -lperfm -ldntmc -lccca -lnwcutil -lga -lpeigs -lperfm -lcons -lbq -lnwcutil -L/home/joe/mkl/mkl/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_cdft_core -lmkl_gf_ilp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -ldl -lpthread -lm -llapack -lblas -L/home/joe/mpich-install/lib -lmpich -lopa -lmpl -lrt -lpthread
The following is the script I use for environment variables
#!/bin/bash
export NWCHEM_TOP=$HOME/nwchem-6.1.1-src
export NWCHEM_TARGET=LINUX64
export USE_MPI=y
export USE_MPIF=y
export USE_MPIF4=y
export MPI_LOC=$HOME/mpich-install
export LIBMPI="-lmpich -lopa -lmpl -lrt -lpthread"
export MPI_LIB=$MPI_LOC/lib
export MPI_INCLUDE=$MPI_LOC/include
export LARGE_FILES=TRUE
export NWCHEM_MODULES=all
export MKLROOT=$HOME/mkl/mkl/lib/intel64
export BLASOPT="-L$MKLROOT -lmkl_scalapack_ilp64 -lmkl_cdft_core -lmkl_gf_ilp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -ldl -lpthread -lm"
#make clean
make FC=gfortran FFLAGS="-fdefault-integer-8 -m64" nwchem_config
make FC=gfortran FFLAGS="-fdefault-integer-8 -m64" HAS_BLAS=yes
Any ideas? Thanks in advance
|