[Pw_forum] mkl problem

Giuseppe Mattioli giuseppe.mattioli at mlib.ism.cnr.it
Sun Jun 6 18:04:15 CEST 2010


Dear Baris
Thank you for the explanation. MKL are installed and managed on such cluster 
by our system administrators, so I may only ask for an update...
However, I've compiled QE 4.2 by following Ricardo's advice, and it seems to 
work fine...
Yours
Giuseppe

On Friday 04 June 2010 21:35:00 Osman Baris Malcioglu wrote:
> Dear Giuseppe,
> Please notice that you are using an older (obsolete? eh, Intel certainly
> thinks so) version of MKL, the new standard INTEL has for MKL compile line
> is different
> (http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/)
> Newer versions of the espresso configure script look for the latter one. If
> there is significant demand for the older version, the configure script can
> be modified, with a sacrifice in performance in the configuration step of
> some select cases. Please let us know,
> Baris
>
> On 04.Haz.2010, at 12:28, Giuseppe Mattioli wrote:
> > Dear Ricardo
> > It seems to work... But I would ask the developers why does the configure
> > script not found any mkl even if they are in the path...
> > Thank you very much
> > Giuseppe
> >
> > On Thursday 03 June 2010 11:48:56 Ricardo Faccio wrote:
> >> Hi
> >> I faced almost the same problem but in a single QuadCore PC, I edited
> >> the make.sys file by hand and then it looks like as following.
> >> And it works!
> >> Regards
> >> Ricardo
> >> -------------------------------------------------
> >>  Dr. Ricardo Faccio
> >>  Prof. Adjunto de Física
> >>  Mail: Cryssmat-Lab., Cátedra de Física, DETEMA
> >>  Facultad de Química, Universidad de la República
> >>       Av. Gral. Flores 2124, C.C. 1157
> >>       C.P. 11800, Montevideo, Uruguay.
> >>  E-mail: rfaccio at fq.edu.uy
> >>  Phone: 598 2 924 98 59
> >>         598 2 929 06 48
> >>  Fax:   598 2 9241906
> >>  Web:  http://cryssmat.fq.edu.uy/ricardo/ricardo.htm
> >>
> >> # make.sys.  Generated from make.sys.in by configure.
> >>
> >> # compilation rules
> >>
> >> .SUFFIXES :
> >> .SUFFIXES : .o .c .f .f90
> >>
> >> # most fortran compilers can directly preprocess c-like directives: use
> >> #       $(MPIF90) $(F90FLAGS) -c $<
> >> # if explicit preprocessing by the C preprocessor is needed, use:
> >> #       $(CPP) $(CPPFLAGS) $< -o $*.F90
> >> #       $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o
> >> # remember the tabulator in the first column !!!
> >>
> >> .f90.o:
> >>        $(MPIF90) $(F90FLAGS) -c $<
> >>
> >> # .f.o and .c.o: do not modify
> >>
> >> .f.o:
> >>        $(F77) $(FFLAGS) -c $<
> >>
> >> .c.o:
> >>        $(CC) $(CFLAGS)  -c $<
> >>
> >>
> >> # DFLAGS  = precompilation options (possible arguments to -D and -U)
> >> #           used by the C compiler and preprocessor
> >> # FDFLAGS = as DFLAGS, for the f90 compiler
> >> # See include/defs.h.README for a list of options and their meaning
> >> # With the exception of IBM xlf, FDFLAGS = $(DFLAGS)
> >> # For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas
> >>
> >> DFLAGS         =  -D__INTEL -D__FFTW
> >> FDFLAGS        = $(DFLAGS)
> >>
> >> # IFLAGS = how to locate directories where files to be included are
> >> # In most cases, IFLAGS = -I../include
> >>
> >> IFLAGS         = -I../include
> >>
> >> # MOD_FLAGS = flag used by f90 compiler to locate modules
> >> # Each Makefile defines the list of needed modules in MODFLAGS
> >>
> >> MOD_FLAG      = -I
> >>
> >> # Compilers: fortran-90, fortran-77, C
> >> # If a parallel compilation is desired, MPIF90 should be a fortran-90
> >> # compiler that produces executables for parallel execution using MPI
> >> # (such as for instance mpif90, mpf90, mpxlf90,...);
> >> # otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90,
> >> ifort,...) # If you have a parallel machine but no suitable candidate
> >> for MPIF90, # try to specify the directory containing "mpif.h" in IFLAGS
> >> # and to specify the location of MPI libraries in MPI_LIBS
> >>
> >> MPIF90         = ifort
> >> #F90           = ifort
> >> CC             = gcc
> >> F77            = ifort
> >>
> >> # C preprocessor and preprocessing flags - for explicit preprocessing,
> >> # if needed (see the compilation rules above)
> >> # preprocessing flags must include DFLAGS and IFLAGS
> >>
> >> CPP            = cpp
> >> CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)
> >>
> >> # compiler flags: C, F90, F77
> >> # C flags must include DFLAGS and IFLAGS
> >> # F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate
> >> syntax
> >>
> >> CFLAGS         = -O3 $(DFLAGS) $(IFLAGS)
> >> F90FLAGS       = $(FFLAGS) -nomodule -fpp $(FDFLAGS) $(IFLAGS)
> >> $(MODFLAGS) FFLAGS         = -O2 -assume byterecl -g -traceback
> >>
> >> # compiler flags without optimization for fortran-77
> >> # the latter is NEEDED to properly compile dlamch.f, used by lapack
> >>
> >> FFLAGS_NOOPT   = -O0 -assume byterecl -g -traceback
> >>
> >> # Linker, linker-specific flags (if any)
> >> # Typically LD coincides with F90 or MPIF90, LD_LIBS is empty
> >>
> >> LD             = ifort
> >> LDFLAGS        =
> >> LD_LIBS        =
> >>
> >> # External Libraries (if any) : blas, lapack, fft, MPI
> >>
> >> # If you have nothing better, use the local copy :
> >> # BLAS_LIBS = /your/path/to/espresso/BLAS/blas.a
> >> # BLAS_LIBS_SWITCH = internal
> >>
> >> BLAS_LIBS      = -L/opt/intel/mkl/10.0.5.025/lib/em64t -lmkl_em64t
> >> BLAS_LIBS_SWITCH = internal
> >>
> >> # If you have nothing better, use the local copy :
> >> # LAPACK_LIBS = /your/path/to/espresso/LAPACK/lapack.a
> >> # LAPACK_LIBS_SWITCH = internal
> >>
> >> # The following lapack libraries will be available in flib/ :
> >> # ../flib/lapack.a : contains all needed routines
> >> # ../flib/lapack_atlas.a: only routines not present in the Atlas library
> >> # For IBM machines with essl (-D__ESSL): load essl BEFORE lapack !
> >> # remember that LAPACK_LIBS precedes BLAS_LIBS in loading order
> >>
> >> LAPACK_LIBS    = -L/opt/intel/mkl/10.0.5.025/lib/em64t -lmkl_lapack
> >> -lmkl_sequential -lmkl_core -lmkl_intel_lp64
> >> LAPACK_LIBS_SWITCH = internal
> >>
> >> SCALAPACK_LIBS =
> >>
> >> # nothing needed here if the the internal copy of FFTW is compiled
> >> # (needs -D__FFTW in DFLAGS)
> >>
> >> FFT_LIBS       =
> >>
> >> # For parallel execution, the correct path to MPI libraries must
> >> # be specified in MPI_LIBS (except for IBM if you use mpxlf)
> >>
> >> MPI_LIBS       =
> >>
> >> # IBM-specific: MASS libraries, if available and if -D__MASS is defined
> >> in FDFLAGS
> >>
> >> MASS_LIBS      =
> >>
> >> # pgplot libraries (used by some post-processing tools)
> >>
> >> PGPLOT_LIBS    =
> >>
> >> # ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv
> >>
> >> AR             = ar
> >> ARFLAGS        = ruv
> >>
> >> # ranlib command. If ranlib is not needed (it isn't in most cases) use
> >> # RANLIB = echo
> >>
> >> RANLIB         = ranlib
> >>
> >> # all internal and external libraries - do not modify
> >>
> >> FLIB_TARGETS   = all
> >>
> >> LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a
> >> ../iotk/src/libiotk.a ../Multigrid/mglib.a
> >> LIBS           = $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(FFT_LIBS)
> >> $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(PGPLOT_LIBS) $(LD_LIBS)
> >>
> >> # topdir for linking espresso libs with plugins
> >> TOPDIR = /home/rfaccio/espresso-4.2
> >>
> >>> Dear all
> >>> I'm facing some problems with mkl & QE 4.2 on a linux cluster. In the
> >>> case of
> >>> 4.1, the configure script found (and still find...) the installed mkl
> >>> 10.0.4.023 version and the make.sys looked like
> >>>
> >>> BLAS_LIBS      = -L/opt/intel/mkl/10.0.4.023/lib/em64t -lmkl_em64t
> >>> LAPACK_LIBS    =  -L/opt/intel/mkl/10.0.4.023/lib/em64t -lmkl_em64t
> >>>
> >>> QE 4.1 has been succesfully compiled and works fine.
> >>>
> >>> In the case of 4.2 the configure script does not find any external
> >>> lapack or
> >>> blas lib. I've tryed to use the './configure LIBDIRS=...' command but
> >>> it still does not find any lapack or blas lib. I would like to manually
> >>> link the
> >>> libs (./configure LAPACK_LIBS=... BLAS_LIBS=...) , but I do not know
> >>> what exactly I'm supposed to link...
> >>>
> >>> /opt/intel/mkl/10.0.4.023/lib/64
> >>>
> >>> libguide.a                       libmkl_blacs_openmpi_ilp64.a
> >>> libmkl_gf_lp64.a       libmkl_intel_sp2dp.so     libmkl_sequential.so
> >>> libguide.so                      libmkl_blacs_openmpi_lp64.a
> >>> libmkl_gf_lp64.so      libmkl_intel_thread.a     libmkl.so
> >>> libiomp5.a                       libmkl_blacs_sgimpt_ilp64.a
> >>> libmkl_gnu_thread.a    libmkl_intel_thread.so    libmkl_solver.a
> >>> libiomp5.so                      libmkl_blacs_sgimpt_lp64.a
> >>> libmkl_gnu_thread.so   libmkl_ipf.a              libmkl_solver_ilp64.a
> >>> libmkl_blacs_ilp64.a             libmkl_cdft.a
> >>> libmkl_i2p.so
> >>> libmkl_lapack.a           libmkl_solver_ilp64_sequential.a
> >>> libmkl_blacs_intelmpi20_ilp64.a  libmkl_cdft_core.a
> >>> libmkl_intel_ilp64.a   libmkl_lapack.so          libmkl_solver_lp64.a
> >>> libmkl_blacs_intelmpi20_lp64.a   libmkl_core.a
> >>> libmkl_intel_ilp64.so  libmkl_scalapack.a
> >>> libmkl_solver_lp64_sequential.a
> >>> libmkl_blacs_intelmpi_ilp64.a    libmkl_core.so
> >>> libmkl_intel_lp64.a    libmkl_scalapack_ilp64.a  libmkl_vml_i2p.so
> >>> libmkl_blacs_intelmpi_lp64.a     libmkl_gf_ilp64.a
> >>> libmkl_intel_lp64.so   libmkl_scalapack_lp64.a
> >>> libmkl_blacs_lp64.a              libmkl_gf_ilp64.so
> >>> libmkl_intel_sp2dp.a   libmkl_sequential.a
> >>>
> >>> or
> >>>
> >>> /opt/intel/mkl/10.0.4.023/lib/em64t
> >>>
> >>> libguide.a                       libmkl_blacs_openmpi_lp64.a
> >>> libmkl_gnu_thread.a     libmkl_lapack.so
> >>> libmkl_solver_ilp64_sequential.a
> >>> libguide.so                      libmkl_cdft.a
> >>> libmkl_gnu_thread.so    libmkl_mc.so              libmkl_solver_lp64.a
> >>> libiomp5.a                       libmkl_cdft_core.a
> >>> libmkl_intel_ilp64.a    libmkl_p4n.so
> >>> libmkl_solver_lp64_sequential.a
> >>> libiomp5.so                      libmkl_core.a
> >>> libmkl_intel_ilp64.so   libmkl_scalapack.a        libmkl_vml_def.so
> >>> libmkl_blacs_ilp64.a             libmkl_core.so
> >>> libmkl_intel_lp64.a     libmkl_scalapack_ilp64.a  libmkl_vml_mc2.so
> >>> libmkl_blacs_intelmpi20_ilp64.a  libmkl_def.so
> >>> libmkl_intel_lp64.so    libmkl_scalapack_lp64.a   libmkl_vml_mc.so
> >>> libmkl_blacs_intelmpi20_lp64.a   libmkl_em64t.a
> >>> libmkl_intel_sp2dp.a    libmkl_sequential.a       libmkl_vml_p4n.so
> >>> libmkl_blacs_intelmpi_ilp64.a    libmkl_gf_ilp64.a
> >>> libmkl_intel_sp2dp.so   libmkl_sequential.so
> >>> libmkl_blacs_intelmpi_lp64.a     libmkl_gf_ilp64.so
> >>> libmkl_intel_thread.a   libmkl.so
> >>> libmkl_blacs_lp64.a              libmkl_gf_lp64.a
> >>> libmkl_intel_thread.so  libmkl_solver.a
> >>> libmkl_blacs_openmpi_ilp64.a     libmkl_gf_lp64.so
> >>> libmkl_lapack.a
> >>> libmkl_solver_ilp64.a
> >>>
> >>> However, if I link the /acml/ifort64/lib/libacml.a libs (and it does
> >>> not sound
> >>> reasonable on a xeon cluster...), everything works fine...
> >>>
> >>> Any suggestion?
> >>>
> >>> Giuseppe
> >>>
> >>> --
> >>> ********************************************************
> >>> - Article premier - Les hommes naissent et demeurent
> >>> libres et ègaux en droits. Les distinctions sociales
> >>> ne peuvent être fondèes que sur l'utilitè commune
> >>> - Article 2 - Le but de toute association politique
> >>> est la conservation des droits naturels et
> >>> imprescriptibles de l'homme. Ces droits sont la libertè,
> >>> la propriètè, la sùretè et la rèsistance à l'oppression.
> >>> ********************************************************
> >>>
> >>>    Giuseppe Mattioli
> >>>    CNR - ISTITUTO DI STRUTTURA DELLA MATERIA
> >>>    v. Salaria Km 29,300 - C.P. 10
> >>>    I 00016 - Monterotondo Stazione (RM)
> >>>    Tel + 39 06 90672836 - Fax +39 06 90672316
> >>>    E-mail: <giuseppe.mattioli at ism.cnr.it>
> >>> _______________________________________________
> >>> Pw_forum mailing list
> >>> Pw_forum at pwscf.org
> >>> http://www.democritos.it/mailman/listinfo/pw_forum
> >>
> >> _______________________________________________
> >> Pw_forum mailing list
> >> Pw_forum at pwscf.org
> >> http://www.democritos.it/mailman/listinfo/pw_forum
> >
> > --
> > ********************************************************
> > - Article premier - Les hommes naissent et demeurent
> > libres et ègaux en droits. Les distinctions sociales
> > ne peuvent être fondèes que sur l'utilitè commune
> > - Article 2 - Le but de toute association politique
> > est la conservation des droits naturels et
> > imprescriptibles de l'homme. Ces droits sont la libertè,
> > la propriètè, la sùretè et la rèsistance à l'oppression.
> > ********************************************************
> >
> >    Giuseppe Mattioli
> >    CNR - ISTITUTO DI STRUTTURA DELLA MATERIA
> >    v. Salaria Km 29,300 - C.P. 10
> >    I 00016 - Monterotondo Stazione (RM)
> >    Tel + 39 06 90672836 - Fax +39 06 90672316
> >    E-mail: <giuseppe.mattioli at ism.cnr.it>
> > _______________________________________________
> > Pw_forum mailing list
> > Pw_forum at pwscf.org
> > http://www.democritos.it/mailman/listinfo/pw_forum
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum



-- 
********************************************************
- Article premier - Les hommes naissent et demeurent
libres et ègaux en droits. Les distinctions sociales
ne peuvent être fondèes que sur l'utilitè commune
- Article 2 - Le but de toute association politique
est la conservation des droits naturels et 
imprescriptibles de l'homme. Ces droits sont la libertè,
la propriètè, la sùretè et la rèsistance à l'oppression.
********************************************************

   Giuseppe Mattioli                            
   CNR - ISTITUTO DI STRUTTURA DELLA MATERIA   
   v. Salaria Km 29,300 - C.P. 10                
   I 00016 - Monterotondo Stazione (RM)          
   Tel + 39 06 90672836 - Fax +39 06 90672316    
   E-mail: <giuseppe.mattioli at ism.cnr.it>



More information about the users mailing list