Чтобы скомпилировать код MPI в gfortran, я должен использовать синтаксис
include mpif.h
в моем коде вместо
use mpi
Несколько веб-сайтов указывают, что этот синтаксис предназначен для Fortran 77, однако я использую gfortran gcc версии 4.7.2 (Debian 4.7.2-5) и mpfi90 для MPICH2 версии 1.4.1p1.
Командная строка
mpif90 test1.f90 -o test1.exe
выдает следующую ошибку
test1.f90:4.8: use mpi 1 Fatal Error: Parse error when checking module version for file 'mpi.mod' opened at (1)
test1.f90 (из курса Coursera по HPC)
program test1
use mpi !(fails to compile)
implicit none
include 'mpif.h' !(this works)
integer :: ierr, numprocs, proc_num
call mpi_init(ierr)
call mpi_comm_size(MPI_COMM_WORLD, numprocs, ierr)
call mpi_comm_rank(MPI_COMM_WORLD, proc_num, ierr)
print *, 'Hello from Process number', proc_num, &
' of ', numprocs, ' processes'
call mpi_finalize(ierr)
end program test1