<div dir="ltr"><div><div><div>Dear QE-developers, <br><br></div>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.<br><br>1) Error: find_mode_sym.F90, line 63: Implicit type for NAT<br>==> swap after definition<br><br> INTEGER, INTENT(IN) :: &<br> nat, & ! number of atoms<br> nsym, & ! number of symmetries<br> flag, & ! if 1 u are displacements, if 0 u are eigenvectors<br> ntyp, & ! number of atomic types<br> ityp(nat), & ! the type of each atom<br> irt(48,nat) ! the rotated of each atom<br><br> INTEGER, INTENT(OUT) :: num_rap_mode ( 3 * nat )<br><br>2) Error: io_pattern.F90, line 55: Implicit type for NAT<br> INTEGER :: nirr, nat, npert(3*nat), iflag<br><br>3) Error: obsolete.F90, line 1737: Implicit type for NAT<br> INTEGER, INTENT(IN) :: &<br> nat, &<br> nsym, &<br> flag, &<br> ntyp, &<br> ityp(nat), &<br> irt(48,nat)<br><br> CHARACTER(15), INTENT(OUT) :: name_rap_mode( 3 * nat )<br> INTEGER, INTENT(OUT) :: num_rap_mode ( 3 * nat )<br> INTEGER, INTENT(IN) :: nspin_mag<br><br>4) Error: transform_int_so.F90, line 203: Implicit type for NPERT<br>INTEGER :: na, npert<br>COMPLEX(DP) :: int3(nhm,nhm,npert,nat,nspin_mag)<br><br>5) Error: transform_int_nc.F90, line 162: Implicit type for NPERT<br>INTEGER :: na, npert<br>COMPLEX(DP) :: int3(nhm,nhm,npert,nat,nspin_mag)<br><br>6) Error: transform_dbecsum_so.F90, line 61: Implicit type for MODES<br>INTEGER :: na, modes<br>COMPLEX(DP) :: dbecsum_nc( nhm, nhm, nat, nspin, modes)<br>COMPLEX(DP) :: dbecsum( nhm*(nhm+1)/2, nat, nspin_mag, modes)<br><br>7) Error: fqha.F90, line 54: Nonstandard format field $: please use the ADVANCE='NO' specifier instead<br>+ other errors (comma missing):<br> write (*,"('File containing the dos >>> ')",advance="no")<br> write (*,"('Output file for the Free energy >>> ')",advance="no")<br> write (*,"('Temperature (K) >>> ')",advance="no") <br> write(*,"('Check: 3*Nat = ',f8.4,5x,'zero-point energy (Ry)=',f15.8)") norm,F0<br><br>8) q2qstar.028286.028286.c:(.text+0x73): undefined reference to `iargc_'<br>q2qstar.028286.028286.c:(.text+0xde): undefined reference to `getarg_'<br><br>Intrinsic functions should not be declared:<br>USE F90_UNIX_ENV, ONLY : iargc, getarg<br>! INTEGER :: iargc ! intrinsic function<br><br></div>Best Regards, <br><br></div>Samuel <br><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 15 September 2015 at 21:40, Filippo Spiga <span dir="ltr"><<a href="mailto:spiga.filippo@gmail.com" target="_blank">spiga.filippo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Samuel,<br>
<br>
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...<br>
<br>
This "NAG thing" is top list next Monday.<br>
<br>
--<br>
Mr. Filippo SPIGA, M.Sc.<br>
Quantum ESPRESSO Foundation<br>
<a href="http://fspiga.github.io" rel="noreferrer" target="_blank">http://fspiga.github.io</a> ~ skype: filippo.spiga<br>
<br>
*****<br>
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."<br>
<div><div class="h5"><br>
> On Sep 15, 2015, at 8:24 PM, Samuel Poncé <<a href="mailto:samuel.pon@gmail.com">samuel.pon@gmail.com</a>> wrote:<br>
><br>
> Dear QE developer,<br>
><br>
> We've recently purchase a NAG licence (latest version) and ran it on QE.<br>
><br>
> Here is a list of changes/bug fix to make NAG happy (we have only solve the error, not<br>
> the warnings).<br>
><br>
> 1) lapack-3.2/make.inc<br>
> Although my environment is set up for nagfor, the configure is not able to modify<br>
> the install/make_lapack.inc correctly. Therefore we have to change manually the following:<br>
> FORTRAN = nagfor<br>
> OPTS = -O0 -kind=byte -dcfuns -mismatch<br>
> DRVOPTS = -O0 -kind=byte -dcfuns -mismatch<br>
> NOOPT = -O0 -g<br>
> LOADER = nagfor<br>
> LOADOPTS = -g<br>
><br>
> The same has to be done for install/make_blas.inc<br>
><br>
> 2) The "pthread" option is not accepted by NAG.<br>
> This is not really a bug, just to say we had to remove this option from the make.sys file<br>
> of QE.<br>
><br>
> Additionally, NAG doesn't have a great internal fortran preprocessor,<br>
> so use CPP (from make.sys):<br>
> .f90.o:<br>
> $(CPP) $(CPPFLAGS) $< -o $*.F90<br>
> $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o<br>
><br>
> Also on the make.sys file, NAG does not support -x options, therefore change<br>
> to. Also notice the -kind=byte option to tell NAG that KIND(4) and KIND(8) is<br>
> the convention in QE.<br>
> The -mismatch option is to make NAG less strict and -dcfuncs is to allow non standard casting variable like dcmplx<br>
><br>
> CFLAGS = -O0 $(DFLAGS) $(IFLAGS)<br>
> F90FLAGS = $(FFLAGS) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)<br>
> FFLAGS = -O0 -kind=byte -dcfuns -mismatch<br>
><br>
> 3) It would be usefull to have a macro<br>
> !#ifdef NAG<br>
> USE F90_UNIX_ENV, ONLY : IARGC,GETARG<br>
><br>
> The Wannier90 code does have a ifdef NAG macro.<br>
><br>
> 4) The main corrections are related to<br>
> - change $ which is depreciated by advance="NO"<br>
> - small bug (an interface was defined with optional argument but the subroutine<br>
> called was not)<br>
> - swapping order of variable declaration so that the variable is first declared<br>
> and then used<br>
> - Change X by 1X<br>
><br>
> Join to this email is a patch of the difference (to be applied on the QE-r11723):<br>
><br>
> patch -p1 < diff-nag.patch<br>
><br>
> Note: This only solves the problems to "make pw". Other parts like ph are not done yet.<br>
><br>
> Best Regards,<br>
><br>
> Samuel and Henry<br>
><br>
</div></div>> <diff-nag.patch><br>
<br>
</blockquote></div><br></div>