Merge pull request #63 from miroi/opm_test

new, simple OpenMP test added
This commit is contained in:
Radovan Bast 2015-08-07 23:27:49 +02:00
commit 35d1af9a85
4 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,14 @@
[project]
name: example
[fc]
source: ../../../modules/fc.cmake
[omp]
source: ../../../modules/omp.cmake
[default_build_paths]
source: ../../../modules/default_build_paths.cmake
[src]
source: ../../../modules/src.cmake

View File

@ -0,0 +1,6 @@
if (OPENMP_FOUND)
add_executable(example example.f90)
else()
message(FATAL "OPENMP not found!")
endif()

View File

@ -0,0 +1,19 @@
program example
implicit none
integer :: nthreads, tid
integer, external :: omp_get_num_threads, omp_get_thread_num
logical :: test_ok, tid_ok
!$OMP PARALLEL SHARED (nthreads, tid_ok), PRIVATE(tid)
tid = omp_get_thread_num()
if (tid .eq. 0) then
nthreads = omp_get_num_threads()
endif
tid_ok=(tid == 0 .or. tid == 1)
!$OMP END PARALLEL
test_ok=(nthreads==2 .and. tid_ok)
if (test_ok) then
print *, "PASSED"
else
stop "test fc_omp failed!"
endif
end program

View File

@ -160,6 +160,14 @@ def test_fc_mpi():
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
@no_windows
def test_fc_omp():
os.environ['OMP_NUM_THREADS'] = '2'
configure_build_and_exe('fc_omp', 'python setup.py --omp --fc=gfortran')
# ------------------------------------------------------------------------------
@no_windows @no_windows
def test_fc_blas(): def test_fc_blas():
configure_build_and_exe('fc_blas', 'python setup.py --fc=gfortran') configure_build_and_exe('fc_blas', 'python setup.py --fc=gfortran')