[Q-e-developers] Compilation of QE with PGI 15

Filippo SPIGA filippo.spiga at quantum-espresso.org
Mon May 16 19:56:08 CEST 2016


Hello Samuel,

which PGI 15 exactly? I have 7 minor versions of PGI 15 installed in the HPC cluster here in Cambridge. I've just run latest SVN (12411) using PGI 16.4 and it works without any change in the make.sys. Let me know the exact PGI version, I want to try replicate the issue.

$ pgfortran --version

pgfortran 16.4-0 64-bit target on x86-64 Linux -tp sandybridge
The Portland Group - PGI Compilers and Tools
Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.

$ ldd bin/pw.x
        linux-vdso.so.1 =>  (0x00007fff5e4c5000)
        libmkl_intel_lp64.so => /usr/local/Cluster-Apps/intel/mkl/11.3.3.210/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_intel_lp64.so (0x00007f0be29df000)
        libmkl_core.so => /usr/local/Cluster-Apps/intel/mkl/11.3.3.210/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_core.so (0x00007f0be0fce000)
        libmkl_pgi_thread.so => /usr/local/Cluster-Apps/intel/mkl/11.3.3.210/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_pgi_thread.so (0x00007f0bdfc10000)
        libmpi_usempif08.so.0 => /usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib/libmpi_usempif08.so.0 (0x00007f0bdf9b1000)
        libmpi_usempi_ignore_tkr.so.0 => /usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib/libmpi_usempi_ignore_tkr.so.0 (0x00007f0bdf7aa000)
        libmpi_mpifh.so.2 => /usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib/libmpi_mpifh.so.2 (0x00007f0bdf549000)
        libmpi.so.1 => /usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib/libmpi.so.1 (0x00007f0bdf212000)
        libpgf90rtl.so => /usr/local/Cluster-Apps/pgi/linux86-64/16.4/lib/libpgf90rtl.so (0x00007f0bdefec000)
        libpgf90.so => /usr/local/Cluster-Apps/pgi/linux86-64/16.4/lib/libpgf90.so (0x00007f0bdea3d000)
        libpgf90_rpm1.so => /usr/local/Cluster-Apps/pgi/linux86-64/16.4/lib/libpgf90_rpm1.so (0x00007f0bde83a000)
        libpgf902.so => /usr/local/Cluster-Apps/pgi/linux86-64/16.4/lib/libpgf902.so (0x00007f0bde627000)
        libpgftnrtl.so => /usr/local/Cluster-Apps/pgi/linux86-64/16.4/lib/libpgftnrtl.so (0x00007f0bde3f2000)
        libpgmp.so => /usr/local/Cluster-Apps/pgi/linux86-64/16.4/lib/libpgmp.so (0x00007f0bde171000)
        libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x00007f0bddf36000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0bddd19000)
        libpgc.so => /usr/local/Cluster-Apps/pgi/linux86-64/16.4/lib/libpgc.so (0x00007f0bdda90000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f0bdd888000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f0bdd604000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f0bdd26f000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f0bdd06b000)
        libopen-rte.so.7 => /usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib/libopen-rte.so.7 (0x00007f0bdcddb000)
        libopen-pal.so.6 => /usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib/libopen-pal.so.6 (0x00007f0bdcaeb000)
        libpciaccess.so.0 => /usr/lib64/libpciaccess.so.0 (0x00007f0bdc8e2000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007f0bdc6de000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f0be34f1000)

$ mpif90 -show
pgfortran -I/usr/local/Cluster-Apps/openmpi/pgi/1.8.8/include -I/usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib -Wl,-rpath -Wl,/usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib -Wl,--enable-new-dtags -L/usr/local/Cluster-Apps/openmpi/pgi/1.8.8/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

$ cat make.sys | grep "CPPFLAGS       ="
CPPFLAGS       = -P -C -traditional $(DFLAGS) $(IFLAGS)

On May 17, 2016, at 1:40 AM, Samuel Poncé <samuel.pon at gmail.com> wrote:
> Dear QE-developers, 
> 
> The current trunk of QE does not compile with PGI 15:
> cpp -P -C -traditional -D__PGI -D__FFTW3 -D__MPI -D__PARA -D__SCALAPACK -I../include fft_types.f90 -o fft_types_tmp.f90 ; \
>         mpif90 -fast -r8 -Mcache_align -D__PGI -D__FFTW3 -D__MPI -D__PARA -D__SCALAPACK -I/home/farm2/local/fftw3_pgi1507/include/ -I../include  -c fft_types_tmp.f90 -o fft_types.o
> 
> PGF90-S-0034-Syntax error at or near / (fft_types_tmp.f90: 1)
> PGF90-S-0034-Syntax error at or near identifier file (fft_types_tmp.f90: 2)
> PGF90-S-0034-Syntax error at or near identifier gnu (fft_types_tmp.f90: 4)
> PGF90-S-0034-Syntax error at or near identifier it (fft_types_tmp.f90: 5)
> 
> To make it compile, the following line should be changed in the make.sys (therefore in the Makefile):
> 
> The line 
> CPPFLAGS       = -P -C -traditional $(DFLAGS) $(IFLAGS)
> 
> should be replace by
> CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS) $(MANUAL_DFLAGS)
> 
> The reason is because the -C option place C comments at the beginning of the pre-processed file and pgi cannot interpret it correctly.
> The manual_dflag is important in my case because the fftw lib is not correctly recognize and I have to add the fftw3 /include file. 
> 
> With the modification, QE compiles perfectly with pgi 15. 
> 
> Best, 
> 
> Samuel & Martin


--
Mr. Filippo SPIGA, M.Sc.
Quantum ESPRESSO Foundation
http://www.quantum-espresso.org ~ skype: filippo.spiga

*****
Disclaimer: "Please note this message and any attachments are CONFIDENTIAL and may be privileged or otherwise protected from disclosure. The contents are not to be disclosed to anyone other than the addressee. Unauthorized recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20160517/1d99902f/attachment.html>


More information about the developers mailing list