[Pw_forum] mkl problem

Ricardo Faccio rfaccio at fq.edu.uy
Thu Jun 3 11:48:56 CEST 2010


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
>






More information about the users mailing list