Ошибка выполнения MPIF90 «неверное значение во время чтения целых чисел» - PullRequest
0 голосов
/ 14 ноября 2018

Существует проблема, когда я использую компилятор mpif90, который жалуется, что «неверное значение во время целочисленного чтения». Однако, когда я использую компилятор gfortran, проблем не возникает.

gfortran версия

program main
implicit none
character*100 :: line
integer :: ierr, i
open(10, file="test.txt", action="read")
read(10, '(A)' ,iostat=ierr) line
read(line, "(6X, I5)") i
print*, i
end program

mpif90 версия

program main
implicit none
include "mpif.h"
character*100 :: line
integer :: ierr, i, procID

call mpi_init(ierr)
call mpi_comm_rank(mpi_comm_world,procID,ierr)
if (procID==0) then
    open(10, file="test.txt", action="read")
    read(10, '(A)' ,iostat=ierr) line
    read(line, "(6X, I5)") i
    print*, i
endif
call mpi_finalize(ierr)
endprogram

файл test.txt содержит это

TEST      1
  1. Версия gfortran дает правильный ответ 1
  2. mpif90 версия использует mpif90 компилятор для компиляции программы и использует mpirun -n 4 ./a.out для запуска программы, результат

    В строке 12 файла read.f90
    Ошибка выполнения Fortran: неверное значение при чтении целого числа

Почему возникает такая проблема? Кто-нибудь может это исправить?

...