comparison libgomp/testsuite/libgomp.fortran/do1.f90 @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children 84e7813d76e9
comparison
equal deleted inserted replaced
-1:000000000000 0:a06113de4d67
1 ! { dg-do run }
2
3 integer, dimension (128) :: a, b
4 integer :: i
5 a = -1
6 b = -1
7 do i = 1, 128
8 if (i .ge. 8 .and. i .le. 15) then
9 b(i) = 1 * 256 + i
10 else if (i .ge. 19 .and. i .le. 23) then
11 b(i) = 2 * 256 + i
12 else if (i .ge. 28 .and. i .le. 38) then
13 if (iand (i, 1) .eq. 0) b(i) = 3 * 256 + i
14 else if (i .ge. 59 .and. i .le. 79) then
15 if (iand (i - 59, 3) .eq. 0) b(i) = 4 * 256 + i
16 else if (i .ge. 101 .and. i .le. 125) then
17 if (mod (i - 101, 12) .eq. 0) b(i) = 5 * 256 + i
18 end if
19 end do
20
21 !$omp parallel num_threads (4)
22
23 !$omp do
24 do i = 8, 15
25 a(i) = 1 * 256 + i
26 end do
27
28 !$omp do
29 do i = 23, 19, -1
30 a(i) = 2 * 256 + i
31 end do
32
33 !$omp do
34 do i = 28, 39, 2
35 a(i) = 3 * 256 + i
36 end do
37
38 !$omp do
39 do i = 79, 59, -4
40 a(i) = 4 * 256 + i
41 end do
42
43 !$omp do
44 do i = 125, 90, -12
45 a(i) = 5 * 256 + i
46 end do
47
48 !$omp end parallel
49
50 if (any (a .ne. b)) call abort
51 a = -1
52
53 !$omp parallel num_threads (4)
54
55 !$omp do schedule (static)
56 do i = 8, 15
57 a(i) = 1 * 256 + i
58 end do
59
60 !$omp do schedule (static, 1)
61 do i = 23, 19, -1
62 a(i) = 2 * 256 + i
63 end do
64
65 !$omp do schedule (static, 3)
66 do i = 28, 39, 2
67 a(i) = 3 * 256 + i
68 end do
69
70 !$omp do schedule (static, 6)
71 do i = 79, 59, -4
72 a(i) = 4 * 256 + i
73 end do
74
75 !$omp do schedule (static, 2)
76 do i = 125, 90, -12
77 a(i) = 5 * 256 + i
78 end do
79
80 !$omp end parallel
81
82 if (any (a .ne. b)) call abort
83 a = -1
84
85 !$omp parallel num_threads (4)
86
87 !$omp do schedule (dynamic)
88 do i = 8, 15
89 a(i) = 1 * 256 + i
90 end do
91
92 !$omp do schedule (dynamic, 4)
93 do i = 23, 19, -1
94 a(i) = 2 * 256 + i
95 end do
96
97 !$omp do schedule (dynamic, 1)
98 do i = 28, 39, 2
99 a(i) = 3 * 256 + i
100 end do
101
102 !$omp do schedule (dynamic, 2)
103 do i = 79, 59, -4
104 a(i) = 4 * 256 + i
105 end do
106
107 !$omp do schedule (dynamic, 3)
108 do i = 125, 90, -12
109 a(i) = 5 * 256 + i
110 end do
111
112 !$omp end parallel
113
114 if (any (a .ne. b)) call abort
115 a = -1
116
117 !$omp parallel num_threads (4)
118
119 !$omp do schedule (guided)
120 do i = 8, 15
121 a(i) = 1 * 256 + i
122 end do
123
124 !$omp do schedule (guided, 4)
125 do i = 23, 19, -1
126 a(i) = 2 * 256 + i
127 end do
128
129 !$omp do schedule (guided, 1)
130 do i = 28, 39, 2
131 a(i) = 3 * 256 + i
132 end do
133
134 !$omp do schedule (guided, 2)
135 do i = 79, 59, -4
136 a(i) = 4 * 256 + i
137 end do
138
139 !$omp do schedule (guided, 3)
140 do i = 125, 90, -12
141 a(i) = 5 * 256 + i
142 end do
143
144 !$omp end parallel
145
146 if (any (a .ne. b)) call abort
147 a = -1
148
149 !$omp parallel num_threads (4)
150
151 !$omp do schedule (runtime)
152 do i = 8, 15
153 a(i) = 1 * 256 + i
154 end do
155
156 !$omp do schedule (runtime)
157 do i = 23, 19, -1
158 a(i) = 2 * 256 + i
159 end do
160
161 !$omp do schedule (runtime)
162 do i = 28, 39, 2
163 a(i) = 3 * 256 + i
164 end do
165
166 !$omp do schedule (runtime)
167 do i = 79, 59, -4
168 a(i) = 4 * 256 + i
169 end do
170
171 !$omp do schedule (runtime)
172 do i = 125, 90, -12
173 a(i) = 5 * 256 + i
174 end do
175
176 !$omp end parallel
177
178 if (any (a .ne. b)) call abort
179 end