[Pw_forum] wrong record length

Ary Junior aryjunior at gmail.com
Tue Jul 28 22:57:06 CEST 2009


Please, recently I posted a question about an error returned when I run
ph.x... I use ph.x with many other structures but with one in particular
ph.x stop and return:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     task #         0
     from diropn : error #         3
     wrong record length
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

By PW/diropn.f90 code inspection, the error occours because the unf_recl
variable value is negative... I wrote the value of the variables responsible
for this negative value like this:

...
  write(stdout,*)'the extension value is ',extension
...
  !
  !      the unit for record length is unfortunately machine-dependent
  !
  unf_recl = DIRECT_IO_FACTOR * recl
  write(stdout,*)'the DIRECT_IO_FACTOR value is ',DIRECT_IO_FACTOR
  write(stdout,*)'the recl value is ',recl
  write(stdout,*)'the unf_recl value is ',unf_recl
  if (unf_recl <= 0) call errore ('diropn', 'wrong record length', 3)
...

After this change the last lines of my ph.out file is:

...
     Representation   292      1 modes - To be done

     Representation   293      1 modes - To be done

     Representation   294      1 modes - To be done
the extension value is wfc
the DIRECT_IO_FACTOR value is            8
the recl value is     41634666
the unf_recl value is    333077328
the extension value is bar
the DIRECT_IO_FACTOR value is            8
the recl value is     41634666
the unf_recl value is    333077328
the extension value is dwf
the DIRECT_IO_FACTOR value is            8
the recl value is     41634666
the unf_recl value is    333077328
the extension value is prd
the DIRECT_IO_FACTOR value is            8
the recl value is      5184000
the unf_recl value is     41472000
the extension value is com
the DIRECT_IO_FACTOR value is            8
the recl value is     41634666
the unf_recl value is    333077328
the extension value is dvkb3
the DIRECT_IO_FACTOR value is            8
the recl value is    355119210
the unf_recl value is  -1454013616

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     from diropn : error #         3
     wrong record length
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

     stopping ...

Well, as already discussed in this list, the problem can be related to the
default 32 bits integer size when I compile PWscf with ifort... then I'm
compiling PWscf with MPI support and if I set FFLAGS in my make.sys like
this:

FFLAGS         = -i8 -integer-size 64 -O2 -assume byterecl -xHost

I get the error when I run any calculation with ph.x or pw.x:

*** error in Message Passing (mp) module ***
*** error msg:
*** error code:  8066
[xeonquad02:24463] MPI_ABORT invoked on rank 0 in communicator
MPI_COMM_WORLD with errorcode 8066

Please, anybody can help me? If I compile with FFLAGS without "-i8
-integer-size 64" pw.x and ph.x run ok.

Thank you very much!!!

-- 
http://lattes.cnpq.br/8221674673413336
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.democritos.it/pipermail/pw_forum/attachments/20090728/2c81574c/attachment.htm 


More information about the Pw_forum mailing list