[Pw_forum] Compiling with intel fortran, MKL and MKL FFT wrappers

Axel Kohlmeyer akohlmey at cmm.chem.upenn.edu
Tue Sep 30 15:33:56 CEST 2008


On Mon, 29 Sep 2008, Serge Nakhmanson wrote:

SN> Dear All,
SN> 
SN> Here's a question to those of you who succeeded doing the Subj.
SN> 
SN> Here's how MKL distribution looks like on my cluster:
SN> 
SN> serafina {1323} > pwd
SN> /usr/local/intel/mkl/10.0.4.023/interfaces
SN> serafina {1324} > ls
SN> blas95  fftw2xc  fftw2x_cdft  fftw2xf  fftw3xc  fftw3xf  lapack95
SN> serafina {1325} >
SN> 
SN> We (me and our sysadmin) compiled all versions of the MKL FFT
SN> wrappers, but we assumed that the parallel one (fftw2x_cdft)
SN> is the one to be used when compiling Espresso.

no it is not. Q-E does its own parallelization of the 3d-FFT.

SN> However, linking with that one produces a bunch of undefined
SN> references in {espresso}/clib/fft_stick.c.
SN> 
SN> When, instead, we link with fftw2xc (which is serial), everything
SN> compiles and works just fine.

last time i tested them _neither_ of the intel MKL fftw wrappers
worked reliably under all circumstances and - with very few exceptions
- they had no advantage over using the regular FFTW. your version of
MKL is newer than the one that i had the opportunity to check, so
the fftw wrapper problems may have been resolved, but it is quite
likely, that plain fftw will still be faster in most cases.

the major advantage of the MKL fftw would be in using multi-threaded
MKL in combination with MPI, but so far a significant speedup vs. the
MPI parallelization has only been found for a _serial_ compile of Q-E 
in combination with a system with a large number of states.

cheers,
    axel.

SN> My question is: is the latter (serial) library really the
SN> one intended to be used with Espresso, or is it the parallel
SN> one that should work but fails due to some function renaming
SN> in the latest MKL version? Or is there something else that
SN> could be wrong?
SN> 
SN> Just in case, here are a few informative lines from our make.sys:
SN> 
SN> DFLAGS         =  -D__INTEL -D__FFTW -D__MPI -D__PARA
SN> IFLAGS         = -I../include -I/usr/local/intel/mkl/10.0.4.023/include/fftw
SN> BLAS_LIBS      = -L/usr/local/intel/mkl/10.0.4.023/lib/em64t -lmkl_intel_lp64 
SN> -lmkl_sequential -lmkl_core
SN> LAPACK_LIBS    = -L/usr/local/intel/mkl/10.0.4.023/lib/em64t -lmkl_intel_lp64 
SN> -lmkl_sequential -lmkl_core
SN> #FFT_LIBS       = -L/usr/local/intel/mkl/10.0.4.023/lib/64 -lfftw2x_cdft_DOUBLE
SN> FFT_LIBS       = -L/usr/local/intel/mkl/10.0.4.023/lib/64 -lfftw2xc_intel
SN> 
SN> 
SN> THX,
SN> 
SN> Serge
SN> 
SN> 
SN> 

-- 
=======================================================================
Axel Kohlmeyer   akohlmey at cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.



More information about the users mailing list