simplify MPI test

This commit is contained in:
Radovan Bast 2015-09-18 12:04:33 +02:00
parent 7548f26a08
commit 05fadb04ee
2 changed files with 38 additions and 27 deletions

View File

@ -1,27 +1,44 @@
program example program example
#if defined USE_MPI_MODULE call init()
use mpi call test_use()
implicit none call finalize()
#else
implicit none 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" #include "mpif.h"
#endif
integer :: ierr, rank, num_ranks integer :: ierr, rank, num_ranks
logical :: test_ok logical :: test_ok
call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD, num_ranks, ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD, num_ranks, ierr)
call MPI_FINALIZE(ierr)
test_ok = (num_ranks == 2 .and. (rank == 0 .or. rank == 1)) test_ok = (num_ranks == 2 .and. (rank == 0 .or. rank == 1))
if (test_ok) then if (test_ok) then
if (rank == 0) print *, 'PASSED' if (rank == 0) print *, 'PASSED'
else else
stop "FAILED" stop "FAILED"
endif endif
end subroutine
end program end program

View File

@ -115,16 +115,10 @@ def test_fc_int64():
def test_fc_mpi(): def test_fc_mpi():
if sys.platform == 'win32': if sys.platform == 'win32':
configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=gfortran --extra-fc-flags="-D_WIN64 -D INT_PTR_KIND()=8 -fno-range-check" --add-definitions="-D USE_MPI_MODULE"', 'mpiexec -n 2') setup_line = 'python setup.py --mpi --fc=gfortran --extra-fc-flags="-D_WIN64 -D INT_PTR_KIND()=8 -fno-range-check"'
else: else:
configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=mpif90 --add-definitions="-D USE_MPI_MODULE"', 'mpirun -np 2') setup_line = 'python setup.py --mpi --fc=mpif90"'
configure_build_and_exe('fc_mpi', setup_line, 'mpiexec -np 2')
def test_fc_mpi_include():
if sys.platform == 'win32':
configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=gfortran --extra-fc-flags="-D_WIN64 -D INT_PTR_KIND()=8 -fno-range-check"', 'mpiexec -np 2')
else:
configure_build_and_exe('fc_mpi', 'python setup.py --mpi --fc=mpif90', 'mpirun -np 2')
@skip_on_osx @skip_on_osx