3 PROGRAM test_loop_order_concurrent
5 integer :: a
, cc(64), dd(64)
13 call test_scan(cc
, dd
)
14 if (any (cc
/= 99)) stop 4
15 if (dd(1) /= 5 .or
. dd(2) /= 104) stop 5
19 SUBROUTINE test_loop()
20 INTEGER,DIMENSION(1024):: a
, b
, c
29 !$omp loop order(concurrent) bind(thread)
31 a(i
) = a(i
) + b(i
)*c(i
)
35 if (a(i
) /= 1 + (b(i
)*c(i
))) stop 1
37 END SUBROUTINE test_loop
39 SUBROUTINE test_affinity(aa
)
41 !$omp task affinity(aa)
46 subroutine test_scan(c
, d
)
48 !$omp simd reduction (inscan, +: a)
51 !$omp scan exclusive (a)
55 END PROGRAM test_loop_order_concurrent