[Q-e-developers] [Pw_forum] Bug fix after NAG compilation of QE
Samuel Poncé
samuel.pon at gmail.com
Wed Sep 16 14:58:09 CEST 2015
Dear QE-developers,
I've now debug the PH part of QE using NAG. There was only 8 'bugs'
therefore I did not do a patch. There should all be safe and minor.
1) Error: find_mode_sym.F90, line 63: Implicit type for NAT
==> swap after definition
INTEGER, INTENT(IN) :: &
nat, & ! number of atoms
nsym, & ! number of symmetries
flag, & ! if 1 u are displacements, if 0 u are
eigenvectors
ntyp, & ! number of atomic types
ityp(nat), & ! the type of each atom
irt(48,nat) ! the rotated of each atom
INTEGER, INTENT(OUT) :: num_rap_mode ( 3 * nat )
2) Error: io_pattern.F90, line 55: Implicit type for NAT
INTEGER :: nirr, nat, npert(3*nat), iflag
3) Error: obsolete.F90, line 1737: Implicit type for NAT
INTEGER, INTENT(IN) :: &
nat, &
nsym, &
flag, &
ntyp, &
ityp(nat), &
irt(48,nat)
CHARACTER(15), INTENT(OUT) :: name_rap_mode( 3 * nat )
INTEGER, INTENT(OUT) :: num_rap_mode ( 3 * nat )
INTEGER, INTENT(IN) :: nspin_mag
4) Error: transform_int_so.F90, line 203: Implicit type for NPERT
INTEGER :: na, npert
COMPLEX(DP) :: int3(nhm,nhm,npert,nat,nspin_mag)
5) Error: transform_int_nc.F90, line 162: Implicit type for NPERT
INTEGER :: na, npert
COMPLEX(DP) :: int3(nhm,nhm,npert,nat,nspin_mag)
6) Error: transform_dbecsum_so.F90, line 61: Implicit type for MODES
INTEGER :: na, modes
COMPLEX(DP) :: dbecsum_nc( nhm, nhm, nat, nspin, modes)
COMPLEX(DP) :: dbecsum( nhm*(nhm+1)/2, nat, nspin_mag, modes)
7) Error: fqha.F90, line 54: Nonstandard format field $: please use the
ADVANCE='NO' specifier instead
+ other errors (comma missing):
write (*,"('File containing the dos >>> ')",advance="no")
write (*,"('Output file for the Free energy >>> ')",advance="no")
write (*,"('Temperature (K) >>> ')",advance="no")
write(*,"('Check: 3*Nat = ',f8.4,5x,'zero-point energy (Ry)=',f15.8)")
norm,F0
8) q2qstar.028286.028286.c:(.text+0x73): undefined reference to `iargc_'
q2qstar.028286.028286.c:(.text+0xde): undefined reference to `getarg_'
Intrinsic functions should not be declared:
USE F90_UNIX_ENV, ONLY : iargc, getarg
! INTEGER :: iargc ! intrinsic function
Best Regards,
Samuel
On 15 September 2015 at 21:40, Filippo Spiga <spiga.filippo at gmail.com>
wrote:
> Dear Samuel,
>
> thank you very much for the patch! I suggest not to commit anything too
> destruptive this week because we are going to release a minor on
> Saturday/Sunday. Better be safe. In the meanwhile I will also try to sort
> out a temporary NAG license for testing, we do not have it in Cambridge at
> the moment...
>
> This "NAG thing" is top list next Monday.
>
> --
> Mr. Filippo SPIGA, M.Sc.
> Quantum ESPRESSO Foundation
> http://fspiga.github.io ~ 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."
>
> > On Sep 15, 2015, at 8:24 PM, Samuel Poncé <samuel.pon at gmail.com> wrote:
> >
> > Dear QE developer,
> >
> > We've recently purchase a NAG licence (latest version) and ran it on QE.
> >
> > Here is a list of changes/bug fix to make NAG happy (we have only solve
> the error, not
> > the warnings).
> >
> > 1) lapack-3.2/make.inc
> > Although my environment is set up for nagfor, the configure is not able
> to modify
> > the install/make_lapack.inc correctly. Therefore we have to change
> manually the following:
> > FORTRAN = nagfor
> > OPTS = -O0 -kind=byte -dcfuns -mismatch
> > DRVOPTS = -O0 -kind=byte -dcfuns -mismatch
> > NOOPT = -O0 -g
> > LOADER = nagfor
> > LOADOPTS = -g
> >
> > The same has to be done for install/make_blas.inc
> >
> > 2) The "pthread" option is not accepted by NAG.
> > This is not really a bug, just to say we had to remove this option from
> the make.sys file
> > of QE.
> >
> > Additionally, NAG doesn't have a great internal fortran preprocessor,
> > so use CPP (from make.sys):
> > .f90.o:
> > $(CPP) $(CPPFLAGS) $< -o $*.F90
> > $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o
> >
> > Also on the make.sys file, NAG does not support -x options, therefore
> change
> > to. Also notice the -kind=byte option to tell NAG that KIND(4) and
> KIND(8) is
> > the convention in QE.
> > The -mismatch option is to make NAG less strict and -dcfuncs is to
> allow non standard casting variable like dcmplx
> >
> > CFLAGS = -O0 $(DFLAGS) $(IFLAGS)
> > F90FLAGS = $(FFLAGS) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)
> > FFLAGS = -O0 -kind=byte -dcfuns -mismatch
> >
> > 3) It would be usefull to have a macro
> > !#ifdef NAG
> > USE F90_UNIX_ENV, ONLY : IARGC,GETARG
> >
> > The Wannier90 code does have a ifdef NAG macro.
> >
> > 4) The main corrections are related to
> > - change $ which is depreciated by advance="NO"
> > - small bug (an interface was defined with optional argument but the
> subroutine
> > called was not)
> > - swapping order of variable declaration so that the variable is first
> declared
> > and then used
> > - Change X by 1X
> >
> > Join to this email is a patch of the difference (to be applied on the
> QE-r11723):
> >
> > patch -p1 < diff-nag.patch
> >
> > Note: This only solves the problems to "make pw". Other parts like ph
> are not done yet.
> >
> > Best Regards,
> >
> > Samuel and Henry
> >
> > <diff-nag.patch>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20150916/83f29218/attachment.html>
More information about the developers
mailing list