autocmake/test/fc_mpi/src/example.F90
2015-09-18 12:04:33 +02:00

45 lines
822 B
Fortran

program example
call init()
call test_use()
call finalize()
contains
subroutine init()
use mpi, only: MPI_Init
implicit none
integer :: ierr
call MPI_Init(ierr)
end subroutine
subroutine finalize()
use mpi, only: MPI_Finalize
implicit none
integer :: ierr
call MPI_Finalize(ierr)
end subroutine
subroutine test_use()
implicit none
#include "mpif.h"
integer :: ierr, rank, num_ranks
logical :: test_ok
call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD, num_ranks, ierr)
test_ok = (num_ranks == 2 .and. (rank == 0 .or. rank == 1))
if (test_ok) then
if (rank == 0) print *, 'PASSED'
else
stop "FAILED"
endif
end subroutine
end program