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:<br><br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br> task # 0<br>
from diropn : error # 3<br> wrong record length<br>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br><br>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:<br>
<br>...<br>
write(stdout,*)'the extension value is ',extension<br>...<br> !<br>
! the unit for record length is unfortunately machine-dependent<br>
!<br>
unf_recl = DIRECT_IO_FACTOR * recl<br>
write(stdout,*)'the DIRECT_IO_FACTOR value is ',DIRECT_IO_FACTOR<br>
write(stdout,*)'the recl value is ',recl<br>
write(stdout,*)'the unf_recl value is ',unf_recl<br>
if (unf_recl <= 0) call errore ('diropn', 'wrong record length', 3)<br>...<br><br>After this change the last lines of my ph.out file is:<br><br>...<br> Representation 292 1 modes - To be done<br>
<br> Representation 293 1 modes - To be done<br>
<br> Representation 294 1 modes - To be done<br>the extension value is wfc<br>the DIRECT_IO_FACTOR value is 8<br>the recl value is 41634666<br>the unf_recl value is 333077328<br>the extension value is bar<br>
the DIRECT_IO_FACTOR value is 8<br>the recl value is 41634666<br>the unf_recl value is 333077328<br>the extension value is dwf<br>the DIRECT_IO_FACTOR value is 8<br>the recl value is 41634666<br>
the unf_recl value is 333077328<br>the extension value is prd<br>the DIRECT_IO_FACTOR value is 8<br>the recl value is 5184000<br>the unf_recl value is 41472000<br>the extension value is com<br>the DIRECT_IO_FACTOR value is 8<br>
the recl value is 41634666<br>the unf_recl value is 333077328<br>the extension value is dvkb3<br>the DIRECT_IO_FACTOR value is 8<br>the recl value is 355119210<br>the unf_recl value is -1454013616<br>
<br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br> from diropn : error # 3<br> wrong record length<br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>
<br> stopping ...<br><br>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:<br>
<br>FFLAGS = -i8 -integer-size 64 -O2 -assume byterecl -xHost<br><br clear="all">I get the error when I run any calculation with ph.x or pw.x:<br><br>*** error in Message Passing (mp) module ***<br>*** error msg: <br>
*** error code: 8066<br>[xeonquad02:24463] MPI_ABORT invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 8066<br><br>Please, anybody can help me? If I compile with FFLAGS without "-i8 -integer-size 64" pw.x and ph.x run ok.<br>
<br>Thank you very much!!!<br>
<br>-- <br><a href="http://lattes.cnpq.br/8221674673413336" target="_blank">http://lattes.cnpq.br/8221674673413336</a><br>