Kane,
 
Thank you, your suggestions worked, although I think I had to go a step further and get into make.sys and comment out the line where it found the intel BLAS libraries and point it to the internal BLAS.
Something about the intel MKL trips up compilation for us, my other researcher isn't able to get it to work either and he's got a good 20 years of experience on me.
 
-Andrew
 
Sent: Monday, November 09, 2015 at 10:23 PM
From: "Kane O'Donnell" <kane.odonn...@gmail.com>
To: "PWSCF Forum" <pw_forum@pwscf.org>
Subject: Re: [Pw_forum] compile attempt with external BLAS and intel MKL (espresso-5.2.1)
 
Hi Andrew,
 
Are you trying to just build espresso 5.2.1, or are you trying to build it using some custom linear algebra libraries? On a Cray you’re encouraged strongly *not* to stuff around with custom BLAS/FFT/scalapack/etc. The programming environments are set up so you don’t need to do that, and for example on our XC40 you can build SVN espresso just with:
 
module swap PrgEnv-cray PrgEnv-gnu
./configure —enable-parallel —with-scalapack=yes FC=ftn CC=cc 
make all
 
You can do the same for PrgEnv-intel (it’s exactly the same configure line) but it’s still wise to use the MKL link line advisor to change make.sys as necessary - you can copy and paste directly from the link line advisor as Cray set $MKLROOT properly when you load PrgEnv-intel.
 
Our cluster guys made a wiki entry about QE on the XC40 using the intel suite here:
 
 
It’s not quite the same as the link line advisor but it works (except XSpectra, you need the gnu environment to get that to work on our XC40 for some reason). 
 
Kane
 
 
On 10 Nov 2015, at 01:10, Andrew Downs <andrew.do...@mail.com> wrote:
 
Hello,
 
I've been able to jump a few hurdles that have come up in my compile process, but this one has me stumped.
I'm compiling on a Cray XC-40, and another researcher here was able to build 5.1.1 with out BLAS and MKL libraries.
He and I assumed 5.2.1 should also work under the same circumstances, but this may turn out not to be the case.
 
my configure line is as follows:

./configure ARCH=x86_64 MPIF90=ftn FFLAGS="-O3" CC=icc CFLAGS=-O3 --prefix=/usr/cta/unsupported/qe/espresso-5.2.1
 
relevant part of make.sys:
 
LDFLAGS=--static -I/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/include/  -I/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/include/intel64/lp64/
BLAS_LIBS=/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_sequential.a -Wl,--end-group /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a -lpthread -lm
LAPACK_LIBS=/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_core.a
SCALAPACK_LIBS=/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group
FFT_LIBS=/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_cdft_core.a
 
 
make all output:
ftn --static -I/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/include/  -I/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/include/intel64/lp64/ -o pw.x \
           pwscf.o  libpw.a ../../Modules/libqemod.a ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/libiotk.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_core.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_cdft_core.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_sequential.a -Wl,--end-group /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a -lpthread -lm
/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_core.a(mkl_memory.o): In function `mkl_serv_set_memory_limit':
../../../../serv/kernel/mkl_memory.c:(.text+0x521): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a(dgesd2d_.o): In function `dgesd2d_':
../../../../scalapack/BLACS/SRC/MPI/dgesd2d_.c:(.text+0x92): undefined reference to `mkl_serv_get_mpi_wrappers'
/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a(dgesd2d_.o): In function `dsendrecv_':
../../../../scalapack/BLACS/SRC/MPI/dgesd2d_.c:(.text+0x142): undefined reference to `mkl_serv_get_mpi_wrappers'
../../../../scalapack/BLACS/SRC/MPI/dgesd2d_.c:(.text+0x162): undefined reference to `mkl_serv_get_mpi_wrappers'
../../../../scalapack/BLACS/SRC/MPI/dgesd2d_.c:(.text+0x1aa): undefined reference to `mkl_serv_get_mpi_wrappers'
../../../../scalapack/BLACS/SRC/MPI/dgesd2d_.c:(.text+0x1da): undefined reference to `mkl_serv_get_mpi_wrappers'
/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a(dgesd2d_.o):../../../../scalapack/BLACS/SRC/MPI/dgesd2d_.c:(.text+0x1ea): more undefined references to `mkl_serv_get_mpi_wrappers' follow
make[2]: *** [pw.x] Error 1
make[2]: Leaving directory `/p/home/adowns/espresso-5.2.1/PW/src'
make[1]: *** [pw] Error 1
make[1]: Leaving directory `/p/home/adowns/espresso-5.2.1/PW'
make: *** [pw] Error 1
 
_______________________________________________
Pw_forum mailing list
Pw_forum@pwscf.org
http://pwscf.org/mailman/listinfo/pw_forum
_______________________________________________ Pw_forum mailing list Pw_forum@pwscf.org http://pwscf.org/mailman/listinfo/pw_forum
_______________________________________________
Pw_forum mailing list
Pw_forum@pwscf.org
http://pwscf.org/mailman/listinfo/pw_forum

Reply via email to