[Pw_forum] QE-GPU compilation problems

Uri Argaman argamanu at post.bgu.ac.il
Sun Sep 21 16:53:16 CEST 2014

Dear QE users and developers,

I'm trying to compile GPU-accelerated Quantum Espresso and I'm running into
I'm using QE-GPU 14.03 and I have attempted to compile it with QE 5.1 and
QE 5.0.2.
My system specifications are: intel xeon CPU, nvidia quadro graphic card
with Compute Capability of 3.0, CUDA 6.5, Ubuntu 14.04 lts, OpenMPI 1.8.2,

If I understand correctly, there is no patch needed for the QE 5.1 version.
On the QE 5.0.2 I used the espresso-5.0.2_GPU-14.03.patch.
Since I don't have Intel's MKL, I started by trying to compile it with the
internal libraries:

cd GPU
./configure --enable-openmp --disable-parallel --enable-cuda
--with-gpu-arch=sm_30 --with-cuda-dir=/usr/local/cuda-6.5 --with-phigemm
cd ..
make -f Makefile.gpu pw-gpu

I got Consistent warnings about nonexistent quark include directory and the

gfortran -g -fopenmp -o pw-gpu.x \
     pwscf.o  ../../PW/src/libpw.a libpwgpu.a ../../Modules/libqemod.a
../Modules/libqemodgpu.a ../../flib/ptools.a ../../flib/flib.a
../../clib/clib.a ../../iotk/src/libiotk.a
-L/usr/local/cuda-6.5/lib64 -lcublas  -lcufft -lcudart
undefined reference to symbol '__cxa_pure_virtual@@CXXABI_1.3'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO
missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [pw-gpu.x] Error 1

I tried adding -lstdc++ flag which resulted in many undefined reference

In function `magma_zgeqp3':
zgeqp3.cpp:(.text+0x33f): undefined reference to `cblas_dznrm2'
In function `magma_zlaqps':
zlaqps.cpp:(.text+0x207): undefined reference to `cblas_idamax'
zlaqps.cpp:(.text+0x97c): undefined reference to `cblas_dznrm2'
zlaqps.cpp:(.text+0xa15): undefined reference to `cblas_dznrm2'
In function `magma_zlatrd':
zlatrd.cpp:(.text+0x716): undefined reference to `cblas_zdotc_sub'
zlatrd.cpp:(.text+0xb25): undefined reference to `cblas_zdotc_sub'

I also tried to compile with OpenBLAS and with the most recent FFTW instead
of the internal libraries.

./configure --enable-openmp --disable-parallel --enable-cuda
--with-gpu-arch=sm_30 --with-cuda-dir=/usr/local/cuda-6.5 --with-phigemm
--with-magma FFT_LIBS=/usr/local/lib/libfftw3.a

and I got:

gfortran -O3 -g -fopenmp -x f95-cpp-input -fopenmp -D__GFORTRAN -D__STD_F95
-I/usr/local/cuda-6.5/include -I../../iotk/src -I../../PW/src
-I../../Modules -I../Modules -I.  -c newq_compute_gpu.f90
Warning: Nonexistent include directory

  USE mp_bands,             ONLY : intra_bgrp_comm
Fatal Error: Can't open module file 'mp_bands.mod' for reading at (1): No
such file or directory
make[1]: *** [newq_compute_gpu.o] Error 1
make[1]: Leaving directory `/home/iftahg/QE-GPU_2/espresso-5.0.2/GPU/PW'

Does any of these errors ring a bell? Is it plausible that getting Intel's
MKL would solve my problems?

Uri Argaman
Ben-Gurion University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20140921/12157029/attachment.html>

More information about the users mailing list