I wish to exploit the power of intel mkl in Quantum Espresso, which is a popular open-source first-principle calculation suite.
I found this tutorial named "Quantum ESPRESSO* for Intel® Xeon Phi™ Coprocessor", in the intel document, which is quite in detail, illustrate step by step the setup flow for the software using intel compiler and mkl. Though I don't have Intel® Xeon Phi, But I guess the setup also works for ordinary multicore computer, am I right?
But I encountered problems following that installation tutorial. This maybe due to that the version of my parallel studio is different from that in the tutorial. My version of parallel studio is 2016.2.181. After completely follow the steps, I got this when running "make pw"
ifort: command line warning #10006: ignoring unknown option '-/fs00/software/intel/ps2016u2/compilers_and_libraries_2016.2.181/linux/mkl/include/fftw'
I notice the FCFLAGS is exported as
export FCFLAGS="-O3 -xAVX -fno-alias -ansi-alias -g -mkl -$MKLROOT/include/fftw"
here -$MKLROOT/include/fftw is not right, because apparently the ifort doesn't know this option.
Investigate further, I found the FFT_LIBS="-L$MKLROOT/intel64" is also wrong, because in version 2016.2.181, there is no intel64 folder under $MKLROOT. So I changed it to $MKLROOT/lib/intel64_lin. However, this still not working. Also after running ./configure --enable-openmp --enable-parallel, there is actually no FFT_LIBS detected. The configure finally shows
The following libraries have been found:
BLAS_LIBS= -lmkl_intel_thread -lmkl_core
LAPACK_LIBS=-lmkl_blacs_intelmpi_lp64
SCALAPACK_LIBS=-lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64
FFT_LIBS=
Please check if this is what you expect.
Why FFT is not being detected? What is wrong? How to compile it correctly?