1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
! { dg-do compile }
! { dg-options "-fopenmp -ffree-line-length-160" }
subroutine foo (n, s, t, u, v, w)
integer :: n, i, s, t, u, v, w
common /bar/ i
!$omp simd safelen(s + 1)
do i = 1, n
end do
!$omp do schedule (static, t * 2)
do i = 1, n
end do
!$omp do simd safelen(s + 1) schedule (static, t * 2)
do i = 1, n
end do
!$omp parallel do schedule (static, t * 2) num_threads (u - 1)
do i = 1, n
end do
!$omp parallel do simd safelen(s + 1) schedule (static, t * 2) num_threads (u - 1)
do i = 1, n
end do
!$omp distribute dist_schedule (static, v + 8)
do i = 1, n
end do
!$omp distribute simd dist_schedule (static, v + 8) safelen(s + 1)
do i = 1, n
end do
!$omp distribute parallel do simd dist_schedule (static, v + 8) safelen(s + 1) &
!$omp & schedule (static, t * 2) num_threads (u - 1)
do i = 1, n
end do
!$omp distribute parallel do dist_schedule (static, v + 8) num_threads (u - 1) &
!$omp & schedule (static, t * 2)
do i = 1, n
end do
!$omp target
!$omp teams distribute dist_schedule (static, v + 8) num_teams (w + 8)
do i = 1, n
end do
!$omp end target
!$omp target
!$omp teams distribute simd dist_schedule (static, v + 8) safelen(s + 1) &
!$omp & num_teams (w + 8)
do i = 1, n
end do
!$omp end target
!$omp target
!$omp teams distribute parallel do simd dist_schedule (static, v + 8) safelen(s + 1) &
!$omp & schedule (static, t * 2) num_threads (u - 1) num_teams (w + 8)
do i = 1, n
end do
!$omp end target
!$omp target
!$omp teams distribute parallel do dist_schedule (static, v + 8) num_threads (u - 1) &
!$omp & schedule (static, t * 2) num_teams (w + 8)
do i = 1, n
end do
!$omp end target
!$omp target teams distribute dist_schedule (static, v + 8) num_teams (w + 8)
do i = 1, n
end do
!$omp target teams distribute simd dist_schedule (static, v + 8) safelen(s + 1) &
!$omp & num_teams (w + 8)
do i = 1, n
end do
!$omp target teams distribute parallel do simd dist_schedule (static, v + 8) safelen(s + 1) &
!$omp & schedule (static, t * 2) num_threads (u - 1) num_teams (w + 8)
do i = 1, n
end do
!$omp target teams distribute parallel do dist_schedule (static, v + 8) num_threads (u - 1) &
!$omp & schedule (static, t * 2) num_teams (w + 8)
do i = 1, n
end do
end subroutine
|