[Wien] Installation with MPI and GNU compilers

Gavin Abo gsabo at crimson.ua.edu
Tue May 1 10:19:05 CEST 2018


Using:

64 bit Ubuntu 16.04.4 LTS
WIEN2k 17.1 (with the siteconfig, libxc, and gfortran patches [ 
https://github.com/gsabo/WIEN2k-Patches/tree/master/17.1 ])
username at computername:~$ gfortran --version
GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

In SRC_lapw1/inilpw.f, I added a print statement after line 196:

          READ (1,*,END=20,ERR=960) IUNIT,FNAME,STATUS,FORM,IRECL
          print*,'iunit = ',IUNIT

then recompiled using siteconfig and executed "run_lapw -it".

For ifort, it prints out all units for me as expected in the case.dayfile:

iunit = 4
iunit = 5
iunit = 6
...
iunit = 200

With gfortran, it prints only the first three units in the case.dayfile 
for me from the lapw1.def file:

iunit = 4
iunit = 5
iunit = 6

Does the same thing happen for you?  Part of the problem might be that 
IUNIT of 200 is never read such that it is not opened on line 214 in 
inilpw.f because of a gfortran issue with the READ statement on line 
196.  Changing the file iunit of 5 and 6 to say 65 and 66 in x_lapw and 
all the source files in SRC_lapw1 seems to get the print statement that 
was added on line 197 to produce the same output as ifort.

However, an empty case.storeHinv_proc_0 file is still produced that 
results in that error on line 140 of the file SRC_lapw1/jacdavblock.F.

Before the write(200) statement on line 140 in jacdavblock.F, there is a 
read(200,iostat=ios) statement on line 96.  I'm not yet sure, but I'm 
wondering if a rewind or backspace statement has to be used after the 
read before the write statement is performed on line 140.

After the endo on line 99, if I put on line 100:

rewind(200)

Then, a non-empty case.storeHinv_proc_0 is produced and the "WRITE not 
allowed after EOF marker" error goes away.  Though, I may not have the 
logic quite right yet even though the error disappears.  If someone else 
has time to further look into the problem, then hopefully this 
information can help.

The source of the error is likely similar to what has been reported before:

https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg16674.html
https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg13671.html

> whenever I try to run a simulation with "-it" flag the simulations 
> fail in the second cycle with a "Fortran runtime error". In this 
> example I am doing TiC from the UG and executing the command "run_lapw 
> -it":
>
>     hup: Command not found.
>     STOP  LAPW0 END
>     foreach: No match.
>     Note: The following floating-point exceptions are signalling:
>     IEEE_DENORMAL
>     STOP  LAPW1 END
>     STOP  LAPW2 END
>     STOP  CORE  END
>     STOP  MIXER END
>     ec cc and fc_conv 0 1 1
>     in cycle 2    ETEST: 0   CTEST: 0
>     hup: Command not found.
>     STOP  LAPW0 END
>     At line 140 of file jacdavblock_tmp_.F (unit = 200, file =
>     './TiC.storeHinv_proc_0')
>     Fortran runtime error: Sequential READ or WRITE not allowed after
>     EOF marker, possibly use REWIND or BACKSPACE
>
>     >   stop error
>
>
> The "TiC.storeHinv_proc_0" file is empty and I can't find the file 
> "jacdavblock_tmp_.F". What could be the problem?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20180501/2b02261e/attachment.html>


More information about the Wien mailing list