It would help if you would include the error messages you encounter.
You need to call MPI_Init(ierr) before you can call (just about) any
other MPI call. E.g., add "call MPI_Init(ierr)" as the first executable
statement of your "program prog".
The error I get with your program is
*** An error occurred in MPI_Comm_f2c
*** before MPI was initialized
*** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
I suppose that message could be clearer.
If I add the MPI_Init call, things work fine.
Arunkumar C R wrote:
I have encountered some run time errors in the general purpose program
given below. Could you please assist me in correcting this.
The MPI code is written in Fortran 90. The concept of subroutine is
used because I want to write program for another scientific problem.
module data
use mpi
implicit none
integer::np, ierr, irank
end module
program prog
use data
implicit none
integer::trial, ntrials
insert "call mpi_init(ierr)" here
ntrials=10
do trial=1, ntrials
call mpi_comm_rank(mpi_comm_world, irank, ierr)
call mpi_comm_size(mpi_comm_world, np, ierr)
write(1, *) 'trial no=', trial
write(1, *) 'irank np'
call
process
!subroutine call
end do
print*,'Program completed!'
call mpi_finalize(ierr)
end
subroutine
process
!subroutine
use data
implicit none
if(irank.eq.0) then
write(10, *) irank, np
end if
end subroutine process
Could you please run the program and let e know the error?