[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