Directory: | ./ |
---|---|
File: | phy_common/mod_phys_lmdz_omp_transfert.f90 |
Date: | 2022-01-11 19:19:34 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 126 | 362 | 34.8% |
Branches: | 96 | 630 | 15.2% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | ! | ||
2 | !$Header$ | ||
3 | ! | ||
4 | MODULE mod_phys_lmdz_omp_transfert | ||
5 | |||
6 | PRIVATE | ||
7 | |||
8 | INTEGER,PARAMETER :: grow_factor=1.5 | ||
9 | INTEGER,PARAMETER :: size_min=1024 | ||
10 | |||
11 | CHARACTER(LEN=size_min),SAVE :: buffer_c | ||
12 | ! INTEGER,SAVE :: size_c=0 | ||
13 | INTEGER,SAVE,ALLOCATABLE,DIMENSION(:) :: buffer_i | ||
14 | INTEGER,SAVE :: size_i=0 | ||
15 | REAL,SAVE,ALLOCATABLE,DIMENSION(:) :: buffer_r | ||
16 | INTEGER,SAVE :: size_r=0 | ||
17 | LOGICAL,SAVE,ALLOCATABLE,DIMENSION(:) :: buffer_l | ||
18 | INTEGER,SAVE :: size_l=0 | ||
19 | |||
20 | |||
21 | |||
22 | |||
23 | INTERFACE bcast_omp | ||
24 | MODULE PROCEDURE bcast_omp_c, & | ||
25 | bcast_omp_i,bcast_omp_i1,bcast_omp_i2,bcast_omp_i3,bcast_omp_i4, & | ||
26 | bcast_omp_r,bcast_omp_r1,bcast_omp_r2,bcast_omp_r3,bcast_omp_r4, & | ||
27 | bcast_omp_l,bcast_omp_l1,bcast_omp_l2,bcast_omp_l3,bcast_omp_l4 | ||
28 | END INTERFACE | ||
29 | |||
30 | INTERFACE scatter_omp | ||
31 | MODULE PROCEDURE scatter_omp_i,scatter_omp_i1,scatter_omp_i2,scatter_omp_i3, & | ||
32 | scatter_omp_r,scatter_omp_r1,scatter_omp_r2,scatter_omp_r3, & | ||
33 | scatter_omp_l,scatter_omp_l1,scatter_omp_l2,scatter_omp_l3 | ||
34 | END INTERFACE | ||
35 | |||
36 | |||
37 | INTERFACE gather_omp | ||
38 | MODULE PROCEDURE gather_omp_i,gather_omp_i1,gather_omp_i2,gather_omp_i3, & | ||
39 | gather_omp_r,gather_omp_r1,gather_omp_r2,gather_omp_r3, & | ||
40 | gather_omp_l,gather_omp_l1,gather_omp_l2,gather_omp_l3 | ||
41 | END INTERFACE | ||
42 | |||
43 | |||
44 | INTERFACE reduce_sum_omp | ||
45 | MODULE PROCEDURE reduce_sum_omp_i,reduce_sum_omp_i1,reduce_sum_omp_i2,reduce_sum_omp_i3,reduce_sum_omp_i4, & | ||
46 | reduce_sum_omp_r,reduce_sum_omp_r1,reduce_sum_omp_r2,reduce_sum_omp_r3,reduce_sum_omp_r4 | ||
47 | END INTERFACE | ||
48 | |||
49 | INTERFACE reduce_min_omp | ||
50 | MODULE PROCEDURE reduce_min_omp_i,reduce_min_omp_i1,reduce_min_omp_i2,reduce_min_omp_i3,reduce_min_omp_i4, & | ||
51 | reduce_min_omp_r,reduce_min_omp_r1,reduce_min_omp_r2,reduce_min_omp_r3,reduce_min_omp_r4 | ||
52 | END INTERFACE | ||
53 | |||
54 | |||
55 | PUBLIC bcast_omp,scatter_omp,gather_omp,reduce_sum_omp, reduce_min_omp, omp_barrier | ||
56 | |||
57 | CONTAINS | ||
58 | |||
59 | ✗ | SUBROUTINE omp_barrier | |
60 | IMPLICIT NONE | ||
61 | |||
62 | !$OMP BARRIER | ||
63 | |||
64 | ✗ | END SUBROUTINE omp_barrier | |
65 | |||
66 | 1322 | SUBROUTINE check_buffer_i(buff_size) | |
67 | IMPLICIT NONE | ||
68 | INTEGER :: buff_size | ||
69 | |||
70 | !$OMP BARRIER | ||
71 | !$OMP MASTER | ||
72 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1321 times.
|
1322 | IF (buff_size>size_i) THEN |
73 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | IF (ALLOCATED(buffer_i)) DEALLOCATE(buffer_i) |
74 | 1 | size_i=MAX(size_min,INT(grow_factor*buff_size)) | |
75 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
|
1 | ALLOCATE(buffer_i(size_i)) |
76 | ENDIF | ||
77 | !$OMP END MASTER | ||
78 | !$OMP BARRIER | ||
79 | |||
80 | 1322 | END SUBROUTINE check_buffer_i | |
81 | |||
82 | 486898 | SUBROUTINE check_buffer_r(buff_size) | |
83 | IMPLICIT NONE | ||
84 | INTEGER :: buff_size | ||
85 | |||
86 | !$OMP BARRIER | ||
87 | !$OMP MASTER | ||
88 |
2/2✓ Branch 0 taken 3 times.
✓ Branch 1 taken 486895 times.
|
486898 | IF (buff_size>size_r) THEN |
89 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
|
3 | IF (ALLOCATED(buffer_r)) DEALLOCATE(buffer_r) |
90 | 3 | size_r=MAX(size_min,INT(grow_factor*buff_size)) | |
91 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
|
3 | ALLOCATE(buffer_r(size_r)) |
92 | ENDIF | ||
93 | !$OMP END MASTER | ||
94 | !$OMP BARRIER | ||
95 | |||
96 | 486898 | END SUBROUTINE check_buffer_r | |
97 | |||
98 | 4141 | SUBROUTINE check_buffer_l(buff_size) | |
99 | IMPLICIT NONE | ||
100 | INTEGER :: buff_size | ||
101 | |||
102 | !$OMP BARRIER | ||
103 | !$OMP MASTER | ||
104 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4140 times.
|
4141 | IF (buff_size>size_l) THEN |
105 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | IF (ALLOCATED(buffer_l)) DEALLOCATE(buffer_l) |
106 | 1 | size_l=MAX(size_min,INT(grow_factor*buff_size)) | |
107 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
|
1 | ALLOCATE(buffer_l(size_l)) |
108 | ENDIF | ||
109 | !$OMP END MASTER | ||
110 | !$OMP BARRIER | ||
111 | |||
112 | 4141 | END SUBROUTINE check_buffer_l | |
113 | |||
114 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
115 | !! Definition des Broadcast --> 4D !! | ||
116 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
117 | |||
118 | !! -- Les chaine de charact�re -- !! | ||
119 | |||
120 | 2 | SUBROUTINE bcast_omp_c(var) | |
121 | IMPLICIT NONE | ||
122 | CHARACTER(LEN=*),INTENT(INOUT) :: Var | ||
123 | |||
124 | 2 | CALL bcast_omp_cgen(Var,len(Var),buffer_c) | |
125 | |||
126 | 2 | END SUBROUTINE bcast_omp_c | |
127 | |||
128 | !! -- Les entiers -- !! | ||
129 | |||
130 | 757 | SUBROUTINE bcast_omp_i(var) | |
131 | IMPLICIT NONE | ||
132 | INTEGER,INTENT(INOUT) :: Var | ||
133 | INTEGER :: Var_tmp(1) | ||
134 | |||
135 | 757 | Var_tmp(1)=Var | |
136 | 757 | CALL check_buffer_i(1) | |
137 | 757 | CALL bcast_omp_igen(Var_tmp,1,buffer_i) | |
138 | 757 | Var=Var_tmp(1) | |
139 | |||
140 | 757 | END SUBROUTINE bcast_omp_i | |
141 | |||
142 | |||
143 | ✗ | SUBROUTINE bcast_omp_i1(var) | |
144 | IMPLICIT NONE | ||
145 | INTEGER,INTENT(INOUT) :: Var(:) | ||
146 | |||
147 | ✗ | CALL check_buffer_i(size(Var)) | |
148 | ✗ | CALL bcast_omp_igen(Var,size(Var),buffer_i) | |
149 | |||
150 | ✗ | END SUBROUTINE bcast_omp_i1 | |
151 | |||
152 | |||
153 | ✗ | SUBROUTINE bcast_omp_i2(var) | |
154 | IMPLICIT NONE | ||
155 | INTEGER,INTENT(INOUT) :: Var(:,:) | ||
156 | |||
157 | ✗ | CALL check_buffer_i(size(Var)) | |
158 | ✗ | CALL bcast_omp_igen(Var,size(Var),buffer_i) | |
159 | |||
160 | ✗ | END SUBROUTINE bcast_omp_i2 | |
161 | |||
162 | |||
163 | ✗ | SUBROUTINE bcast_omp_i3(var) | |
164 | IMPLICIT NONE | ||
165 | INTEGER,INTENT(INOUT) :: Var(:,:,:) | ||
166 | |||
167 | ✗ | CALL check_buffer_i(size(Var)) | |
168 | ✗ | CALL bcast_omp_igen(Var,size(Var),buffer_i) | |
169 | |||
170 | ✗ | END SUBROUTINE bcast_omp_i3 | |
171 | |||
172 | |||
173 | ✗ | SUBROUTINE bcast_omp_i4(var) | |
174 | IMPLICIT NONE | ||
175 | INTEGER,INTENT(INOUT) :: Var(:,:,:,:) | ||
176 | |||
177 | ✗ | CALL check_buffer_i(size(Var)) | |
178 | ✗ | CALL bcast_omp_igen(Var,size(Var),buffer_i) | |
179 | |||
180 | ✗ | END SUBROUTINE bcast_omp_i4 | |
181 | |||
182 | |||
183 | !! -- Les reels -- !! | ||
184 | |||
185 | 540 | SUBROUTINE bcast_omp_r(var) | |
186 | IMPLICIT NONE | ||
187 | REAL,INTENT(INOUT) :: Var | ||
188 | REAL :: Var_tmp(1) | ||
189 | |||
190 | 540 | Var_tmp(1)=Var | |
191 | 540 | CALL check_buffer_r(1) | |
192 | 540 | CALL bcast_omp_rgen(Var_tmp,1,buffer_r) | |
193 | 540 | Var=Var_tmp(1) | |
194 | |||
195 | 540 | END SUBROUTINE bcast_omp_r | |
196 | |||
197 | |||
198 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 5 times.
|
5 | SUBROUTINE bcast_omp_r1(var) |
199 | IMPLICIT NONE | ||
200 | REAL,INTENT(INOUT) :: Var(:) | ||
201 | |||
202 | 5 | CALL check_buffer_r(size(Var)) | |
203 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 5 times.
|
10 | CALL bcast_omp_rgen(Var,size(Var),buffer_r) |
204 | |||
205 | 5 | END SUBROUTINE bcast_omp_r1 | |
206 | |||
207 | |||
208 | ✗ | SUBROUTINE bcast_omp_r2(var) | |
209 | IMPLICIT NONE | ||
210 | REAL,INTENT(INOUT) :: Var(:,:) | ||
211 | |||
212 | ✗ | CALL check_buffer_r(size(Var)) | |
213 | ✗ | CALL bcast_omp_rgen(Var,size(Var),buffer_r) | |
214 | |||
215 | ✗ | END SUBROUTINE bcast_omp_r2 | |
216 | |||
217 | |||
218 | ✗ | SUBROUTINE bcast_omp_r3(var) | |
219 | IMPLICIT NONE | ||
220 | REAL,INTENT(INOUT) :: Var(:,:,:) | ||
221 | |||
222 | ✗ | CALL check_buffer_r(size(Var)) | |
223 | ✗ | CALL bcast_omp_rgen(Var,size(Var),buffer_r) | |
224 | |||
225 | ✗ | END SUBROUTINE bcast_omp_r3 | |
226 | |||
227 | |||
228 | ✗ | SUBROUTINE bcast_omp_r4(var) | |
229 | IMPLICIT NONE | ||
230 | REAL,INTENT(INOUT) :: Var(:,:,:,:) | ||
231 | |||
232 | ✗ | CALL check_buffer_r(size(Var)) | |
233 | ✗ | CALL bcast_omp_rgen(Var,size(Var),buffer_r) | |
234 | |||
235 | ✗ | END SUBROUTINE bcast_omp_r4 | |
236 | |||
237 | |||
238 | !! -- Les booleans -- !! | ||
239 | |||
240 | 4141 | SUBROUTINE bcast_omp_l(var) | |
241 | IMPLICIT NONE | ||
242 | LOGICAL,INTENT(INOUT) :: Var | ||
243 | LOGICAL :: Var_tmp(1) | ||
244 | |||
245 | 4141 | Var_tmp(1)=Var | |
246 | 4141 | CALL check_buffer_l(1) | |
247 | 4141 | CALL bcast_omp_lgen(Var_tmp,1,buffer_l) | |
248 | 4141 | Var=Var_tmp(1) | |
249 | |||
250 | 4141 | END SUBROUTINE bcast_omp_l | |
251 | |||
252 | |||
253 | ✗ | SUBROUTINE bcast_omp_l1(var) | |
254 | IMPLICIT NONE | ||
255 | LOGICAL,INTENT(INOUT) :: Var(:) | ||
256 | |||
257 | ✗ | CALL check_buffer_l(size(Var)) | |
258 | ✗ | CALL bcast_omp_lgen(Var,size(Var),buffer_l) | |
259 | |||
260 | ✗ | END SUBROUTINE bcast_omp_l1 | |
261 | |||
262 | |||
263 | ✗ | SUBROUTINE bcast_omp_l2(var) | |
264 | IMPLICIT NONE | ||
265 | LOGICAL,INTENT(INOUT) :: Var(:,:) | ||
266 | |||
267 | ✗ | CALL check_buffer_l(size(Var)) | |
268 | ✗ | CALL bcast_omp_lgen(Var,size(Var),buffer_l) | |
269 | |||
270 | ✗ | END SUBROUTINE bcast_omp_l2 | |
271 | |||
272 | |||
273 | ✗ | SUBROUTINE bcast_omp_l3(var) | |
274 | IMPLICIT NONE | ||
275 | LOGICAL,INTENT(INOUT) :: Var(:,:,:) | ||
276 | |||
277 | ✗ | CALL check_buffer_l(size(Var)) | |
278 | ✗ | CALL bcast_omp_lgen(Var,size(Var),buffer_l) | |
279 | |||
280 | ✗ | END SUBROUTINE bcast_omp_l3 | |
281 | |||
282 | |||
283 | ✗ | SUBROUTINE bcast_omp_l4(var) | |
284 | IMPLICIT NONE | ||
285 | LOGICAL,INTENT(INOUT) :: Var(:,:,:,:) | ||
286 | |||
287 | ✗ | CALL check_buffer_l(size(Var)) | |
288 | ✗ | CALL bcast_omp_lgen(Var,size(Var),buffer_l) | |
289 | |||
290 | ✗ | END SUBROUTINE bcast_omp_l4 | |
291 | |||
292 | |||
293 | |||
294 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
295 | !! Definition des Scatter --> 4D !! | ||
296 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
297 | |||
298 | ✗ | SUBROUTINE scatter_omp_i(VarIn, VarOut) | |
299 | IMPLICIT NONE | ||
300 | |||
301 | INTEGER,INTENT(IN),DIMENSION(:) :: VarIn | ||
302 | INTEGER,INTENT(OUT),DIMENSION(:) :: VarOut | ||
303 | |||
304 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
305 | ✗ | CALL scatter_omp_igen(VarIn,Varout,1,buffer_i) | |
306 | |||
307 | ✗ | END SUBROUTINE scatter_omp_i | |
308 | |||
309 | |||
310 | ✗ | SUBROUTINE scatter_omp_i1(VarIn, VarOut) | |
311 | IMPLICIT NONE | ||
312 | |||
313 | INTEGER,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
314 | INTEGER,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
315 | |||
316 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
317 | ✗ | CALL scatter_omp_igen(VarIn,Varout,Size(VarOut,2),buffer_i) | |
318 | |||
319 | ✗ | END SUBROUTINE scatter_omp_i1 | |
320 | |||
321 | |||
322 | ✗ | SUBROUTINE scatter_omp_i2(VarIn, VarOut) | |
323 | IMPLICIT NONE | ||
324 | |||
325 | INTEGER,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
326 | INTEGER,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
327 | |||
328 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
329 | ✗ | CALL scatter_omp_igen(VarIn,Varout,Size(VarOut,2)*Size(VarOut,3),buffer_i) | |
330 | |||
331 | ✗ | END SUBROUTINE scatter_omp_i2 | |
332 | |||
333 | |||
334 | ✗ | SUBROUTINE scatter_omp_i3(VarIn, VarOut) | |
335 | IMPLICIT NONE | ||
336 | |||
337 | INTEGER,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
338 | INTEGER,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
339 | |||
340 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
341 | ✗ | CALL scatter_omp_igen(VarIn,Varout,Size(VarOut,2)*Size(VarOut,3)*Size(VarOut,4),buffer_i) | |
342 | |||
343 | ✗ | END SUBROUTINE scatter_omp_i3 | |
344 | |||
345 | |||
346 | |||
347 | |||
348 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 52 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 52 times.
|
52 | SUBROUTINE scatter_omp_r(VarIn, VarOut) |
349 | IMPLICIT NONE | ||
350 | |||
351 | REAL,INTENT(IN),DIMENSION(:) :: VarIn | ||
352 | REAL,INTENT(OUT),DIMENSION(:) :: VarOut | ||
353 | |||
354 | 52 | CALL Check_buffer_r(size(VarIn)) | |
355 |
2/4✗ Branch 3 not taken.
✓ Branch 4 taken 52 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 52 times.
|
52 | CALL scatter_omp_rgen(VarIn,Varout,1,buffer_r) |
356 | |||
357 | 52 | END SUBROUTINE scatter_omp_r | |
358 | |||
359 | |||
360 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 322 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 322 times.
|
322 | SUBROUTINE scatter_omp_r1(VarIn, VarOut) |
361 | IMPLICIT NONE | ||
362 | |||
363 | REAL,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
364 | REAL,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
365 | |||
366 | 322 | CALL Check_buffer_r(size(VarIn)) | |
367 |
2/4✗ Branch 3 not taken.
✓ Branch 4 taken 322 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 322 times.
|
322 | CALL scatter_omp_rgen(VarIn,Varout,Size(VarOut,2),buffer_r) |
368 | |||
369 | 322 | END SUBROUTINE scatter_omp_r1 | |
370 | |||
371 | |||
372 | ✗ | SUBROUTINE scatter_omp_r2(VarIn, VarOut) | |
373 | IMPLICIT NONE | ||
374 | |||
375 | REAL,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
376 | REAL,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
377 | |||
378 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
379 | ✗ | CALL scatter_omp_rgen(VarIn,Varout,Size(VarOut,2)*Size(VarOut,3),buffer_r) | |
380 | |||
381 | ✗ | END SUBROUTINE scatter_omp_r2 | |
382 | |||
383 | |||
384 | ✗ | SUBROUTINE scatter_omp_r3(VarIn, VarOut) | |
385 | IMPLICIT NONE | ||
386 | |||
387 | REAL,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
388 | REAL,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
389 | |||
390 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
391 | ✗ | CALL scatter_omp_rgen(VarIn,Varout,Size(VarOut,2)*Size(VarOut,3)*Size(VarOut,4),buffer_r) | |
392 | |||
393 | ✗ | END SUBROUTINE scatter_omp_r3 | |
394 | |||
395 | |||
396 | |||
397 | ✗ | SUBROUTINE scatter_omp_l(VarIn, VarOut) | |
398 | IMPLICIT NONE | ||
399 | |||
400 | LOGICAL,INTENT(IN),DIMENSION(:) :: VarIn | ||
401 | LOGICAL,INTENT(OUT),DIMENSION(:) :: VarOut | ||
402 | |||
403 | ✗ | CALL Check_buffer_l(size(VarIn)) | |
404 | ✗ | CALL scatter_omp_lgen(VarIn,Varout,1,buffer_l) | |
405 | |||
406 | ✗ | END SUBROUTINE scatter_omp_l | |
407 | |||
408 | |||
409 | ✗ | SUBROUTINE scatter_omp_l1(VarIn, VarOut) | |
410 | IMPLICIT NONE | ||
411 | |||
412 | LOGICAL,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
413 | LOGICAL,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
414 | |||
415 | ✗ | CALL Check_buffer_l(size(VarIn)) | |
416 | ✗ | CALL scatter_omp_lgen(VarIn,Varout,Size(VarOut,2),buffer_l) | |
417 | |||
418 | ✗ | END SUBROUTINE scatter_omp_l1 | |
419 | |||
420 | |||
421 | ✗ | SUBROUTINE scatter_omp_l2(VarIn, VarOut) | |
422 | IMPLICIT NONE | ||
423 | |||
424 | LOGICAL,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
425 | LOGICAL,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
426 | |||
427 | ✗ | CALL Check_buffer_l(size(VarIn)) | |
428 | ✗ | CALL scatter_omp_lgen(VarIn,Varout,Size(VarOut,2)*Size(VarOut,3),buffer_l) | |
429 | |||
430 | ✗ | END SUBROUTINE scatter_omp_l2 | |
431 | |||
432 | |||
433 | ✗ | SUBROUTINE scatter_omp_l3(VarIn, VarOut) | |
434 | IMPLICIT NONE | ||
435 | |||
436 | LOGICAL,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
437 | LOGICAL,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
438 | |||
439 | ✗ | CALL Check_buffer_l(size(VarIn)) | |
440 | ✗ | CALL scatter_omp_lgen(VarIn,Varout,Size(VarOut,2)*Size(VarOut,3)*Size(VarOut,4),buffer_l) | |
441 | |||
442 | ✗ | END SUBROUTINE scatter_omp_l3 | |
443 | |||
444 | |||
445 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 563 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 563 times.
|
563 | SUBROUTINE gather_omp_i(VarIn, VarOut) |
446 | IMPLICIT NONE | ||
447 | |||
448 | INTEGER,INTENT(IN),DIMENSION(:) :: VarIn | ||
449 | INTEGER,INTENT(OUT),DIMENSION(:) :: VarOut | ||
450 | |||
451 | 563 | CALL Check_buffer_i(size(VarOut)) | |
452 |
2/4✗ Branch 3 not taken.
✓ Branch 4 taken 563 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 563 times.
|
563 | CALL gather_omp_igen(VarIn,Varout,1,buffer_i) |
453 | |||
454 | 563 | END SUBROUTINE gather_omp_i | |
455 | |||
456 | |||
457 | ✗ | SUBROUTINE gather_omp_i1(VarIn, VarOut) | |
458 | IMPLICIT NONE | ||
459 | |||
460 | INTEGER,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
461 | INTEGER,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
462 | |||
463 | ✗ | CALL Check_buffer_i(size(VarOut)) | |
464 | ✗ | CALL gather_omp_igen(VarIn,Varout,Size(VarIn,2),buffer_i) | |
465 | |||
466 | ✗ | END SUBROUTINE gather_omp_i1 | |
467 | |||
468 | |||
469 | ✗ | SUBROUTINE gather_omp_i2(VarIn, VarOut) | |
470 | IMPLICIT NONE | ||
471 | |||
472 | INTEGER,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
473 | INTEGER,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
474 | |||
475 | ✗ | CALL Check_buffer_i(size(VarOut)) | |
476 | ✗ | CALL gather_omp_igen(VarIn,Varout,Size(VarIn,2)*Size(VarIn,3),buffer_i) | |
477 | |||
478 | ✗ | END SUBROUTINE gather_omp_i2 | |
479 | |||
480 | |||
481 | ✗ | SUBROUTINE gather_omp_i3(VarIn, VarOut) | |
482 | IMPLICIT NONE | ||
483 | |||
484 | INTEGER,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
485 | INTEGER,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
486 | |||
487 | ✗ | CALL Check_buffer_i(size(VarOut)) | |
488 | ✗ | CALL gather_omp_igen(VarIn,Varout,Size(VarIn,2)*Size(VarIn,3)*Size(VarIn,4),buffer_i) | |
489 | |||
490 | ✗ | END SUBROUTINE gather_omp_i3 | |
491 | |||
492 | |||
493 | |||
494 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 363844 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 363844 times.
|
363844 | SUBROUTINE gather_omp_r(VarIn, VarOut) |
495 | IMPLICIT NONE | ||
496 | |||
497 | REAL,INTENT(IN),DIMENSION(:) :: VarIn | ||
498 | REAL,INTENT(OUT),DIMENSION(:) :: VarOut | ||
499 | |||
500 | 363844 | CALL Check_buffer_r(size(VarOut)) | |
501 |
2/4✗ Branch 3 not taken.
✓ Branch 4 taken 363844 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 363844 times.
|
363844 | CALL gather_omp_rgen(VarIn,Varout,1,buffer_r) |
502 | |||
503 | 363844 | END SUBROUTINE gather_omp_r | |
504 | |||
505 | |||
506 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 122134 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 122134 times.
|
122134 | SUBROUTINE gather_omp_r1(VarIn, VarOut) |
507 | IMPLICIT NONE | ||
508 | |||
509 | REAL,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
510 | REAL,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
511 | |||
512 | 122134 | CALL Check_buffer_r(size(VarOut)) | |
513 |
2/4✗ Branch 3 not taken.
✓ Branch 4 taken 122134 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 122134 times.
|
122134 | CALL gather_omp_rgen(VarIn,Varout,Size(VarIn,2),buffer_r) |
514 | |||
515 | 122134 | END SUBROUTINE gather_omp_r1 | |
516 | |||
517 | |||
518 | ✗ | SUBROUTINE gather_omp_r2(VarIn, VarOut) | |
519 | IMPLICIT NONE | ||
520 | |||
521 | REAL,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
522 | REAL,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
523 | |||
524 | ✗ | CALL Check_buffer_r(size(VarOut)) | |
525 | ✗ | CALL gather_omp_rgen(VarIn,Varout,Size(VarIn,2)*Size(VarIn,3),buffer_r) | |
526 | |||
527 | ✗ | END SUBROUTINE gather_omp_r2 | |
528 | |||
529 | |||
530 | ✗ | SUBROUTINE gather_omp_r3(VarIn, VarOut) | |
531 | IMPLICIT NONE | ||
532 | |||
533 | REAL,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
534 | REAL,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
535 | |||
536 | ✗ | CALL Check_buffer_r(size(VarOut)) | |
537 | ✗ | CALL gather_omp_rgen(VarIn,Varout,Size(VarIn,2)*Size(VarIn,3)*Size(VarIn,4),buffer_r) | |
538 | |||
539 | ✗ | END SUBROUTINE gather_omp_r3 | |
540 | |||
541 | |||
542 | ✗ | SUBROUTINE gather_omp_l(VarIn, VarOut) | |
543 | IMPLICIT NONE | ||
544 | |||
545 | LOGICAL,INTENT(IN),DIMENSION(:) :: VarIn | ||
546 | LOGICAL,INTENT(OUT),DIMENSION(:) :: VarOut | ||
547 | |||
548 | ✗ | CALL Check_buffer_l(size(VarOut)) | |
549 | ✗ | CALL gather_omp_lgen(VarIn,Varout,1,buffer_l) | |
550 | |||
551 | ✗ | END SUBROUTINE gather_omp_l | |
552 | |||
553 | |||
554 | ✗ | SUBROUTINE gather_omp_l1(VarIn, VarOut) | |
555 | IMPLICIT NONE | ||
556 | |||
557 | LOGICAL,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
558 | LOGICAL,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
559 | |||
560 | ✗ | CALL Check_buffer_l(size(VarOut)) | |
561 | ✗ | CALL gather_omp_lgen(VarIn,Varout,Size(VarIn,2),buffer_l) | |
562 | |||
563 | ✗ | END SUBROUTINE gather_omp_l1 | |
564 | |||
565 | |||
566 | ✗ | SUBROUTINE gather_omp_l2(VarIn, VarOut) | |
567 | IMPLICIT NONE | ||
568 | |||
569 | LOGICAL,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
570 | LOGICAL,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
571 | |||
572 | ✗ | CALL Check_buffer_l(size(VarOut)) | |
573 | ✗ | CALL gather_omp_lgen(VarIn,Varout,Size(VarIn,2)*Size(VarIn,3),buffer_l) | |
574 | |||
575 | ✗ | END SUBROUTINE gather_omp_l2 | |
576 | |||
577 | |||
578 | ✗ | SUBROUTINE gather_omp_l3(VarIn, VarOut) | |
579 | IMPLICIT NONE | ||
580 | |||
581 | LOGICAL,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
582 | LOGICAL,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
583 | |||
584 | ✗ | CALL Check_buffer_l(size(VarOut)) | |
585 | ✗ | CALL gather_omp_lgen(VarIn,Varout,Size(VarIn,2)*Size(VarIn,3)*Size(VarIn,4),buffer_l) | |
586 | |||
587 | ✗ | END SUBROUTINE gather_omp_l3 | |
588 | |||
589 | |||
590 | |||
591 | |||
592 | 2 | SUBROUTINE reduce_sum_omp_i(VarIn, VarOut) | |
593 | IMPLICIT NONE | ||
594 | |||
595 | INTEGER,INTENT(IN) :: VarIn | ||
596 | INTEGER,INTENT(OUT) :: VarOut | ||
597 | INTEGER :: VarIn_tmp(1) | ||
598 | INTEGER :: VarOut_tmp(1) | ||
599 | |||
600 | 2 | VarIn_tmp(1)=VarIn | |
601 | 2 | CALL Check_buffer_i(1) | |
602 | 2 | CALL reduce_sum_omp_igen(VarIn_tmp,Varout_tmp,1,buffer_i) | |
603 | 2 | VarOut=VarOut_tmp(1) | |
604 | |||
605 | 2 | END SUBROUTINE reduce_sum_omp_i | |
606 | |||
607 | ✗ | SUBROUTINE reduce_sum_omp_i1(VarIn, VarOut) | |
608 | IMPLICIT NONE | ||
609 | |||
610 | INTEGER,INTENT(IN),DIMENSION(:) :: VarIn | ||
611 | INTEGER,INTENT(OUT),DIMENSION(:) :: VarOut | ||
612 | |||
613 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
614 | ✗ | CALL reduce_sum_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
615 | |||
616 | ✗ | END SUBROUTINE reduce_sum_omp_i1 | |
617 | |||
618 | |||
619 | ✗ | SUBROUTINE reduce_sum_omp_i2(VarIn, VarOut) | |
620 | IMPLICIT NONE | ||
621 | |||
622 | INTEGER,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
623 | INTEGER,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
624 | |||
625 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
626 | ✗ | CALL reduce_sum_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
627 | |||
628 | ✗ | END SUBROUTINE reduce_sum_omp_i2 | |
629 | |||
630 | |||
631 | ✗ | SUBROUTINE reduce_sum_omp_i3(VarIn, VarOut) | |
632 | IMPLICIT NONE | ||
633 | |||
634 | INTEGER,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
635 | INTEGER,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
636 | |||
637 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
638 | ✗ | CALL reduce_sum_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
639 | |||
640 | ✗ | END SUBROUTINE reduce_sum_omp_i3 | |
641 | |||
642 | |||
643 | ✗ | SUBROUTINE reduce_sum_omp_i4(VarIn, VarOut) | |
644 | IMPLICIT NONE | ||
645 | |||
646 | INTEGER,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
647 | INTEGER,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
648 | |||
649 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
650 | ✗ | CALL reduce_sum_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
651 | |||
652 | ✗ | END SUBROUTINE reduce_sum_omp_i4 | |
653 | |||
654 | |||
655 | ✗ | SUBROUTINE reduce_sum_omp_r(VarIn, VarOut) | |
656 | IMPLICIT NONE | ||
657 | |||
658 | REAL,INTENT(IN) :: VarIn | ||
659 | REAL,INTENT(OUT) :: VarOut | ||
660 | REAL :: VarIn_tmp(1) | ||
661 | REAL :: VarOut_tmp(1) | ||
662 | |||
663 | ✗ | VarIn_tmp(1)=VarIn | |
664 | ✗ | CALL Check_buffer_r(1) | |
665 | ✗ | CALL reduce_sum_omp_rgen(VarIn_tmp,Varout_tmp,1,buffer_r) | |
666 | ✗ | VarOut=VarOut_tmp(1) | |
667 | |||
668 | ✗ | END SUBROUTINE reduce_sum_omp_r | |
669 | |||
670 | ✗ | SUBROUTINE reduce_sum_omp_r1(VarIn, VarOut) | |
671 | IMPLICIT NONE | ||
672 | |||
673 | REAL,INTENT(IN),DIMENSION(:) :: VarIn | ||
674 | REAL,INTENT(OUT),DIMENSION(:) :: VarOut | ||
675 | |||
676 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
677 | ✗ | CALL reduce_sum_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
678 | |||
679 | ✗ | END SUBROUTINE reduce_sum_omp_r1 | |
680 | |||
681 | |||
682 | ✗ | SUBROUTINE reduce_sum_omp_r2(VarIn, VarOut) | |
683 | IMPLICIT NONE | ||
684 | |||
685 | REAL,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
686 | REAL,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
687 | |||
688 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
689 | ✗ | CALL reduce_sum_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
690 | |||
691 | ✗ | END SUBROUTINE reduce_sum_omp_r2 | |
692 | |||
693 | |||
694 | ✗ | SUBROUTINE reduce_sum_omp_r3(VarIn, VarOut) | |
695 | IMPLICIT NONE | ||
696 | |||
697 | REAL,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
698 | REAL,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
699 | |||
700 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
701 | ✗ | CALL reduce_sum_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
702 | |||
703 | ✗ | END SUBROUTINE reduce_sum_omp_r3 | |
704 | |||
705 | |||
706 | ✗ | SUBROUTINE reduce_sum_omp_r4(VarIn, VarOut) | |
707 | IMPLICIT NONE | ||
708 | |||
709 | REAL,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
710 | REAL,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
711 | |||
712 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
713 | ✗ | CALL reduce_sum_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
714 | |||
715 | ✗ | END SUBROUTINE reduce_sum_omp_r4 | |
716 | |||
717 | |||
718 | |||
719 | ✗ | SUBROUTINE reduce_min_omp_i(VarIn, VarOut) | |
720 | IMPLICIT NONE | ||
721 | |||
722 | INTEGER,INTENT(IN) :: VarIn | ||
723 | INTEGER,INTENT(OUT) :: VarOut | ||
724 | INTEGER :: VarIn_tmp(1) | ||
725 | INTEGER :: VarOut_tmp(1) | ||
726 | |||
727 | ✗ | VarIn_tmp(1)=VarIn | |
728 | ✗ | CALL Check_buffer_i(1) | |
729 | ✗ | CALL reduce_min_omp_igen(VarIn_tmp,Varout_tmp,1,buffer_i) | |
730 | ✗ | VarOut=VarOut_tmp(1) | |
731 | |||
732 | ✗ | END SUBROUTINE reduce_min_omp_i | |
733 | |||
734 | ✗ | SUBROUTINE reduce_min_omp_i1(VarIn, VarOut) | |
735 | IMPLICIT NONE | ||
736 | |||
737 | INTEGER,INTENT(IN),DIMENSION(:) :: VarIn | ||
738 | INTEGER,INTENT(OUT),DIMENSION(:) :: VarOut | ||
739 | |||
740 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
741 | ✗ | CALL reduce_min_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
742 | |||
743 | ✗ | END SUBROUTINE reduce_min_omp_i1 | |
744 | |||
745 | |||
746 | ✗ | SUBROUTINE reduce_min_omp_i2(VarIn, VarOut) | |
747 | IMPLICIT NONE | ||
748 | |||
749 | INTEGER,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
750 | INTEGER,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
751 | |||
752 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
753 | ✗ | CALL reduce_min_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
754 | |||
755 | ✗ | END SUBROUTINE reduce_min_omp_i2 | |
756 | |||
757 | |||
758 | ✗ | SUBROUTINE reduce_min_omp_i3(VarIn, VarOut) | |
759 | IMPLICIT NONE | ||
760 | |||
761 | INTEGER,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
762 | INTEGER,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
763 | |||
764 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
765 | ✗ | CALL reduce_min_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
766 | |||
767 | ✗ | END SUBROUTINE reduce_min_omp_i3 | |
768 | |||
769 | |||
770 | ✗ | SUBROUTINE reduce_min_omp_i4(VarIn, VarOut) | |
771 | IMPLICIT NONE | ||
772 | |||
773 | INTEGER,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
774 | INTEGER,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
775 | |||
776 | ✗ | CALL Check_buffer_i(size(VarIn)) | |
777 | ✗ | CALL reduce_min_omp_igen(VarIn,Varout,Size(VarIn),buffer_i) | |
778 | |||
779 | ✗ | END SUBROUTINE reduce_min_omp_i4 | |
780 | |||
781 | |||
782 | 1 | SUBROUTINE reduce_min_omp_r(VarIn, VarOut) | |
783 | IMPLICIT NONE | ||
784 | |||
785 | REAL,INTENT(IN) :: VarIn | ||
786 | REAL,INTENT(OUT) :: VarOut | ||
787 | REAL :: VarIn_tmp(1) | ||
788 | REAL :: VarOut_tmp(1) | ||
789 | |||
790 | 1 | VarIn_tmp(1)=VarIn | |
791 | 1 | CALL Check_buffer_r(1) | |
792 | 1 | CALL reduce_min_omp_rgen(VarIn_tmp,Varout_tmp,1,buffer_r) | |
793 | 1 | VarOut=VarOut_tmp(1) | |
794 | |||
795 | 1 | END SUBROUTINE reduce_min_omp_r | |
796 | |||
797 | ✗ | SUBROUTINE reduce_min_omp_r1(VarIn, VarOut) | |
798 | IMPLICIT NONE | ||
799 | |||
800 | REAL,INTENT(IN),DIMENSION(:) :: VarIn | ||
801 | REAL,INTENT(OUT),DIMENSION(:) :: VarOut | ||
802 | |||
803 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
804 | ✗ | CALL reduce_min_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
805 | |||
806 | ✗ | END SUBROUTINE reduce_min_omp_r1 | |
807 | |||
808 | |||
809 | ✗ | SUBROUTINE reduce_min_omp_r2(VarIn, VarOut) | |
810 | IMPLICIT NONE | ||
811 | |||
812 | REAL,INTENT(IN),DIMENSION(:,:) :: VarIn | ||
813 | REAL,INTENT(OUT),DIMENSION(:,:) :: VarOut | ||
814 | |||
815 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
816 | ✗ | CALL reduce_min_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
817 | |||
818 | ✗ | END SUBROUTINE reduce_min_omp_r2 | |
819 | |||
820 | |||
821 | ✗ | SUBROUTINE reduce_min_omp_r3(VarIn, VarOut) | |
822 | IMPLICIT NONE | ||
823 | |||
824 | REAL,INTENT(IN),DIMENSION(:,:,:) :: VarIn | ||
825 | REAL,INTENT(OUT),DIMENSION(:,:,:) :: VarOut | ||
826 | |||
827 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
828 | ✗ | CALL reduce_min_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
829 | |||
830 | ✗ | END SUBROUTINE reduce_min_omp_r3 | |
831 | |||
832 | |||
833 | ✗ | SUBROUTINE reduce_min_omp_r4(VarIn, VarOut) | |
834 | IMPLICIT NONE | ||
835 | |||
836 | REAL,INTENT(IN),DIMENSION(:,:,:,:) :: VarIn | ||
837 | REAL,INTENT(OUT),DIMENSION(:,:,:,:) :: VarOut | ||
838 | |||
839 | ✗ | CALL Check_buffer_r(size(VarIn)) | |
840 | ✗ | CALL reduce_min_omp_rgen(VarIn,Varout,Size(VarIn),buffer_r) | |
841 | |||
842 | ✗ | END SUBROUTINE reduce_min_omp_r4 | |
843 | |||
844 | |||
845 | |||
846 | |||
847 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
848 | ! LES ROUTINES GENERIQUES ! | ||
849 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
850 | |||
851 | 2 | SUBROUTINE bcast_omp_cgen(Var,Nb,Buff) | |
852 | IMPLICIT NONE | ||
853 | |||
854 | CHARACTER(LEN=*),INTENT(INOUT) :: Var | ||
855 | CHARACTER(LEN=*),INTENT(INOUT) :: Buff | ||
856 | INTEGER,INTENT(IN) :: Nb | ||
857 | |||
858 | INTEGER :: i | ||
859 | |||
860 | !$OMP MASTER | ||
861 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
2 | Buff=Var |
862 | !$OMP END MASTER | ||
863 | !$OMP BARRIER | ||
864 | |||
865 |
2/2✓ Branch 0 taken 16 times.
✓ Branch 1 taken 2 times.
|
18 | DO i=1,Nb |
866 |
2/4✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 16 times.
|
18 | Var=Buff |
867 | ENDDO | ||
868 | !$OMP BARRIER | ||
869 | |||
870 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
2 | END SUBROUTINE bcast_omp_cgen |
871 | |||
872 | |||
873 | |||
874 | SUBROUTINE bcast_omp_igen(Var,Nb,Buff) | ||
875 | IMPLICIT NONE | ||
876 | |||
877 | INTEGER,INTENT(IN) :: Nb | ||
878 | INTEGER,DIMENSION(Nb),INTENT(INOUT) :: Var | ||
879 | INTEGER,DIMENSION(Nb),INTENT(INOUT) :: Buff | ||
880 | |||
881 | INTEGER :: i | ||
882 | |||
883 | !$OMP MASTER | ||
884 |
2/10✓ Branch 0 taken 757 times.
✓ Branch 1 taken 757 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
1514 | DO i=1,Nb |
885 | 1514 | Buff(i)=Var(i) | |
886 | ENDDO | ||
887 | !$OMP END MASTER | ||
888 | !$OMP BARRIER | ||
889 | |||
890 |
2/10✓ Branch 0 taken 757 times.
✓ Branch 1 taken 757 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
1514 | DO i=1,Nb |
891 | 1514 | Var(i)=Buff(i) | |
892 | ENDDO | ||
893 | !$OMP BARRIER | ||
894 | |||
895 | END SUBROUTINE bcast_omp_igen | ||
896 | |||
897 | |||
898 | SUBROUTINE bcast_omp_rgen(Var,Nb,Buff) | ||
899 | IMPLICIT NONE | ||
900 | |||
901 | INTEGER,INTENT(IN) :: Nb | ||
902 | REAL,DIMENSION(Nb),INTENT(INOUT) :: Var | ||
903 | REAL,DIMENSION(Nb),INTENT(INOUT) :: Buff | ||
904 | |||
905 | INTEGER :: i | ||
906 | |||
907 | !$OMP MASTER | ||
908 |
4/10✓ Branch 0 taken 540 times.
✓ Branch 1 taken 540 times.
✓ Branch 2 taken 5 times.
✓ Branch 3 taken 4076 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
5161 | DO i=1,Nb |
909 | 5161 | Buff(i)=Var(i) | |
910 | ENDDO | ||
911 | !$OMP END MASTER | ||
912 | !$OMP BARRIER | ||
913 | |||
914 |
4/10✓ Branch 0 taken 540 times.
✓ Branch 1 taken 540 times.
✓ Branch 2 taken 4076 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
5161 | DO i=1,Nb |
915 | 5161 | Var(i)=Buff(i) | |
916 | ENDDO | ||
917 | !$OMP BARRIER | ||
918 | |||
919 | END SUBROUTINE bcast_omp_rgen | ||
920 | |||
921 | SUBROUTINE bcast_omp_lgen(Var,Nb,Buff) | ||
922 | IMPLICIT NONE | ||
923 | |||
924 | INTEGER,INTENT(IN) :: Nb | ||
925 | LOGICAL,DIMENSION(Nb),INTENT(INOUT) :: Var | ||
926 | LOGICAL,DIMENSION(Nb),INTENT(INOUT) :: Buff | ||
927 | |||
928 | INTEGER :: i | ||
929 | |||
930 | !$OMP MASTER | ||
931 |
2/10✓ Branch 0 taken 4141 times.
✓ Branch 1 taken 4141 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
8282 | DO i=1,Nb |
932 | 8282 | Buff(i)=Var(i) | |
933 | ENDDO | ||
934 | !$OMP END MASTER | ||
935 | !$OMP BARRIER | ||
936 | |||
937 |
2/10✓ Branch 0 taken 4141 times.
✓ Branch 1 taken 4141 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
8282 | DO i=1,Nb |
938 | 8282 | Var(i)=Buff(i) | |
939 | ENDDO | ||
940 | !$OMP BARRIER | ||
941 | |||
942 | END SUBROUTINE bcast_omp_lgen | ||
943 | |||
944 | |||
945 | ✗ | SUBROUTINE scatter_omp_igen(VarIn,VarOut,dimsize,Buff) | |
946 | USE mod_phys_lmdz_omp_data | ||
947 | USE mod_phys_lmdz_mpi_data, ONLY : klon_mpi | ||
948 | IMPLICIT NONE | ||
949 | |||
950 | INTEGER,INTENT(IN) :: dimsize | ||
951 | INTEGER,INTENT(IN),DIMENSION(klon_mpi,dimsize) :: VarIn | ||
952 | INTEGER,INTENT(OUT),DIMENSION(klon_omp,dimsize) :: VarOut | ||
953 | INTEGER,INTENT(INOUT),DIMENSION(klon_mpi,dimsize) :: Buff | ||
954 | |||
955 | INTEGER :: i,ij | ||
956 | |||
957 | !$OMP MASTER | ||
958 | ✗ | DO i=1,dimsize | |
959 | ✗ | DO ij=1,klon_mpi | |
960 | ✗ | Buff(ij,i)=VarIn(ij,i) | |
961 | ENDDO | ||
962 | ENDDO | ||
963 | !$OMP END MASTER | ||
964 | !$OMP BARRIER | ||
965 | |||
966 | ✗ | DO i=1,dimsize | |
967 | ✗ | DO ij=1,klon_omp | |
968 | ✗ | VarOut(ij,i)=Buff(klon_omp_begin-1+ij,i) | |
969 | ENDDO | ||
970 | ENDDO | ||
971 | !$OMP BARRIER | ||
972 | |||
973 | ✗ | END SUBROUTINE scatter_omp_igen | |
974 | |||
975 | |||
976 | 374 | SUBROUTINE scatter_omp_rgen(VarIn,VarOut,dimsize,Buff) | |
977 | USE mod_phys_lmdz_omp_data | ||
978 | USE mod_phys_lmdz_mpi_data, ONLY : klon_mpi | ||
979 | IMPLICIT NONE | ||
980 | |||
981 | INTEGER,INTENT(IN) :: dimsize | ||
982 | REAL,INTENT(IN),DIMENSION(klon_mpi,dimsize) :: VarIn | ||
983 | REAL,INTENT(OUT),DIMENSION(klon_omp,dimsize) :: VarOut | ||
984 | REAL,INTENT(INOUT),DIMENSION(klon_mpi,dimsize) :: Buff | ||
985 | |||
986 | INTEGER :: i,ij | ||
987 | |||
988 | !$OMP MASTER | ||
989 |
2/2✓ Branch 0 taken 1219 times.
✓ Branch 1 taken 374 times.
|
1593 | DO i=1,dimsize |
990 |
2/2✓ Branch 0 taken 1211686 times.
✓ Branch 1 taken 1219 times.
|
1213279 | DO ij=1,klon_mpi |
991 | 1212905 | Buff(ij,i)=VarIn(ij,i) | |
992 | ENDDO | ||
993 | ENDDO | ||
994 | !$OMP END MASTER | ||
995 | !$OMP BARRIER | ||
996 | |||
997 |
2/2✓ Branch 0 taken 1219 times.
✓ Branch 1 taken 374 times.
|
1593 | DO i=1,dimsize |
998 |
2/2✓ Branch 0 taken 1211686 times.
✓ Branch 1 taken 1219 times.
|
1213279 | DO ij=1,klon_omp |
999 | 1212905 | VarOut(ij,i)=Buff(klon_omp_begin-1+ij,i) | |
1000 | ENDDO | ||
1001 | ENDDO | ||
1002 | !$OMP BARRIER | ||
1003 | |||
1004 | 374 | END SUBROUTINE scatter_omp_rgen | |
1005 | |||
1006 | |||
1007 | ✗ | SUBROUTINE scatter_omp_lgen(VarIn,VarOut,dimsize,Buff) | |
1008 | USE mod_phys_lmdz_omp_data | ||
1009 | USE mod_phys_lmdz_mpi_data, ONLY : klon_mpi | ||
1010 | IMPLICIT NONE | ||
1011 | |||
1012 | INTEGER,INTENT(IN) :: dimsize | ||
1013 | LOGICAL,INTENT(IN),DIMENSION(klon_mpi,dimsize) :: VarIn | ||
1014 | LOGICAL,INTENT(OUT),DIMENSION(klon_omp,dimsize) :: VarOut | ||
1015 | LOGICAL,INTENT(INOUT),DIMENSION(klon_mpi,dimsize) :: Buff | ||
1016 | |||
1017 | INTEGER :: i,ij | ||
1018 | |||
1019 | !$OMP MASTER | ||
1020 | ✗ | DO i=1,dimsize | |
1021 | ✗ | DO ij=1,klon_mpi | |
1022 | ✗ | Buff(ij,i)=VarIn(ij,i) | |
1023 | ENDDO | ||
1024 | ENDDO | ||
1025 | !$OMP END MASTER | ||
1026 | !$OMP BARRIER | ||
1027 | |||
1028 | ✗ | DO i=1,dimsize | |
1029 | ✗ | DO ij=1,klon_omp | |
1030 | ✗ | VarOut(ij,i)=Buff(klon_omp_begin-1+ij,i) | |
1031 | ENDDO | ||
1032 | ENDDO | ||
1033 | !$OMP BARRIER | ||
1034 | |||
1035 | ✗ | END SUBROUTINE scatter_omp_lgen | |
1036 | |||
1037 | |||
1038 | |||
1039 | |||
1040 | |||
1041 | 563 | SUBROUTINE gather_omp_igen(VarIn,VarOut,dimsize,Buff) | |
1042 | USE mod_phys_lmdz_omp_data | ||
1043 | USE mod_phys_lmdz_mpi_data, ONLY : klon_mpi | ||
1044 | IMPLICIT NONE | ||
1045 | |||
1046 | INTEGER,INTENT(IN) :: dimsize | ||
1047 | INTEGER,INTENT(IN),DIMENSION(klon_omp,dimsize) :: VarIn | ||
1048 | INTEGER,INTENT(OUT),DIMENSION(klon_mpi,dimsize) :: VarOut | ||
1049 | INTEGER,INTENT(INOUT),DIMENSION(klon_mpi,dimsize) :: Buff | ||
1050 | |||
1051 | INTEGER :: i,ij | ||
1052 | |||
1053 |
2/2✓ Branch 0 taken 563 times.
✓ Branch 1 taken 563 times.
|
1126 | DO i=1,dimsize |
1054 |
2/2✓ Branch 0 taken 559622 times.
✓ Branch 1 taken 563 times.
|
560748 | DO ij=1,klon_omp |
1055 | 560185 | Buff(klon_omp_begin-1+ij,i)=VarIn(ij,i) | |
1056 | ENDDO | ||
1057 | ENDDO | ||
1058 | !$OMP BARRIER | ||
1059 | |||
1060 | |||
1061 | !$OMP MASTER | ||
1062 |
2/2✓ Branch 0 taken 563 times.
✓ Branch 1 taken 563 times.
|
1126 | DO i=1,dimsize |
1063 |
2/2✓ Branch 0 taken 559622 times.
✓ Branch 1 taken 563 times.
|
560748 | DO ij=1,klon_mpi |
1064 | 560185 | VarOut(ij,i)=Buff(ij,i) | |
1065 | ENDDO | ||
1066 | ENDDO | ||
1067 | !$OMP END MASTER | ||
1068 | !$OMP BARRIER | ||
1069 | |||
1070 | 563 | END SUBROUTINE gather_omp_igen | |
1071 | |||
1072 | |||
1073 | 485978 | SUBROUTINE gather_omp_rgen(VarIn,VarOut,dimsize,Buff) | |
1074 | USE mod_phys_lmdz_omp_data | ||
1075 | USE mod_phys_lmdz_mpi_data, ONLY : klon_mpi | ||
1076 | IMPLICIT NONE | ||
1077 | |||
1078 | INTEGER,INTENT(IN) :: dimsize | ||
1079 | REAL,INTENT(IN),DIMENSION(klon_omp,dimsize) :: VarIn | ||
1080 | REAL,INTENT(OUT),DIMENSION(klon_mpi,dimsize) :: VarOut | ||
1081 | REAL,INTENT(INOUT),DIMENSION(klon_mpi,dimsize) :: Buff | ||
1082 | |||
1083 | INTEGER :: i,ij | ||
1084 | |||
1085 |
2/2✓ Branch 0 taken 4526405 times.
✓ Branch 1 taken 485978 times.
|
5012383 | DO i=1,dimsize |
1086 |
2/2✓ Branch 0 taken 4499246570 times.
✓ Branch 1 taken 4526405 times.
|
4504258953 | DO ij=1,klon_omp |
1087 | 4503772975 | Buff(klon_omp_begin-1+ij,i)=VarIn(ij,i) | |
1088 | ENDDO | ||
1089 | ENDDO | ||
1090 | !$OMP BARRIER | ||
1091 | |||
1092 | |||
1093 | !$OMP MASTER | ||
1094 |
2/2✓ Branch 0 taken 4526405 times.
✓ Branch 1 taken 485978 times.
|
5012383 | DO i=1,dimsize |
1095 |
2/2✓ Branch 0 taken 4499246570 times.
✓ Branch 1 taken 4526405 times.
|
4504258953 | DO ij=1,klon_mpi |
1096 | 4503772975 | VarOut(ij,i)=Buff(ij,i) | |
1097 | ENDDO | ||
1098 | ENDDO | ||
1099 | !$OMP END MASTER | ||
1100 | !$OMP BARRIER | ||
1101 | |||
1102 | 485978 | END SUBROUTINE gather_omp_rgen | |
1103 | |||
1104 | |||
1105 | ✗ | SUBROUTINE gather_omp_lgen(VarIn,VarOut,dimsize,Buff) | |
1106 | USE mod_phys_lmdz_omp_data | ||
1107 | USE mod_phys_lmdz_mpi_data, ONLY : klon_mpi | ||
1108 | IMPLICIT NONE | ||
1109 | |||
1110 | INTEGER,INTENT(IN) :: dimsize | ||
1111 | LOGICAL,INTENT(IN),DIMENSION(klon_omp,dimsize) :: VarIn | ||
1112 | LOGICAL,INTENT(OUT),DIMENSION(klon_mpi,dimsize) :: VarOut | ||
1113 | LOGICAL,INTENT(INOUT),DIMENSION(klon_mpi,dimsize) :: Buff | ||
1114 | |||
1115 | INTEGER :: i,ij | ||
1116 | |||
1117 | ✗ | DO i=1,dimsize | |
1118 | ✗ | DO ij=1,klon_omp | |
1119 | ✗ | Buff(klon_omp_begin-1+ij,i)=VarIn(ij,i) | |
1120 | ENDDO | ||
1121 | ENDDO | ||
1122 | !$OMP BARRIER | ||
1123 | |||
1124 | |||
1125 | !$OMP MASTER | ||
1126 | ✗ | DO i=1,dimsize | |
1127 | ✗ | DO ij=1,klon_mpi | |
1128 | ✗ | VarOut(ij,i)=Buff(ij,i) | |
1129 | ENDDO | ||
1130 | ENDDO | ||
1131 | !$OMP END MASTER | ||
1132 | !$OMP BARRIER | ||
1133 | |||
1134 | ✗ | END SUBROUTINE gather_omp_lgen | |
1135 | |||
1136 | |||
1137 | ✗ | SUBROUTINE reduce_sum_omp_igen(VarIn,VarOut,dimsize,Buff) | |
1138 | IMPLICIT NONE | ||
1139 | |||
1140 | INTEGER,INTENT(IN) :: dimsize | ||
1141 | INTEGER,INTENT(IN),DIMENSION(dimsize) :: VarIn | ||
1142 | INTEGER,INTENT(OUT),DIMENSION(dimsize) :: VarOut | ||
1143 | INTEGER,INTENT(INOUT),DIMENSION(dimsize) :: Buff | ||
1144 | |||
1145 | INTEGER :: i | ||
1146 | |||
1147 | !$OMP MASTER | ||
1148 |
2/10✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
4 | Buff(:)=0 |
1149 | !$OMP END MASTER | ||
1150 | !$OMP BARRIER | ||
1151 | |||
1152 | !$OMP CRITICAL | ||
1153 |
2/10✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
4 | DO i=1,dimsize |
1154 | 4 | Buff(i)=Buff(i)+VarIn(i) | |
1155 | ENDDO | ||
1156 | !$OMP END CRITICAL | ||
1157 | !$OMP BARRIER | ||
1158 | |||
1159 | !$OMP MASTER | ||
1160 |
2/10✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
4 | DO i=1,dimsize |
1161 | 4 | VarOut(i)=Buff(i) | |
1162 | ENDDO | ||
1163 | !$OMP END MASTER | ||
1164 | !$OMP BARRIER | ||
1165 | |||
1166 | END SUBROUTINE reduce_sum_omp_igen | ||
1167 | |||
1168 | ✗ | SUBROUTINE reduce_sum_omp_rgen(VarIn,VarOut,dimsize,Buff) | |
1169 | IMPLICIT NONE | ||
1170 | |||
1171 | INTEGER,INTENT(IN) :: dimsize | ||
1172 | REAL,INTENT(IN),DIMENSION(dimsize) :: VarIn | ||
1173 | REAL,INTENT(OUT),DIMENSION(dimsize) :: VarOut | ||
1174 | REAL,INTENT(INOUT),DIMENSION(dimsize) :: Buff | ||
1175 | |||
1176 | INTEGER :: i | ||
1177 | |||
1178 | !$OMP MASTER | ||
1179 | ✗ | Buff(:)=0 | |
1180 | !$OMP END MASTER | ||
1181 | !$OMP BARRIER | ||
1182 | |||
1183 | !$OMP CRITICAL | ||
1184 | ✗ | DO i=1,dimsize | |
1185 | ✗ | Buff(i)=Buff(i)+VarIn(i) | |
1186 | ENDDO | ||
1187 | !$OMP END CRITICAL | ||
1188 | !$OMP BARRIER | ||
1189 | |||
1190 | !$OMP MASTER | ||
1191 | ✗ | DO i=1,dimsize | |
1192 | ✗ | VarOut(i)=Buff(i) | |
1193 | ENDDO | ||
1194 | !$OMP END MASTER | ||
1195 | !$OMP BARRIER | ||
1196 | |||
1197 | END SUBROUTINE reduce_sum_omp_rgen | ||
1198 | |||
1199 | |||
1200 | ✗ | SUBROUTINE reduce_min_omp_igen(VarIn,VarOut,dimsize,Buff) | |
1201 | IMPLICIT NONE | ||
1202 | |||
1203 | INTEGER,INTENT(IN) :: dimsize | ||
1204 | INTEGER,INTENT(IN),DIMENSION(dimsize) :: VarIn | ||
1205 | INTEGER,INTENT(OUT),DIMENSION(dimsize) :: VarOut | ||
1206 | INTEGER,INTENT(INOUT),DIMENSION(dimsize) :: Buff | ||
1207 | |||
1208 | INTEGER :: i | ||
1209 | INTEGER :: var | ||
1210 | |||
1211 | !$OMP MASTER | ||
1212 | ✗ | Buff(:)=HUGE(var) | |
1213 | !$OMP END MASTER | ||
1214 | !$OMP BARRIER | ||
1215 | |||
1216 | !$OMP CRITICAL | ||
1217 | ✗ | DO i=1,dimsize | |
1218 | ✗ | Buff(i)=MIN(Buff(i),VarIn(i)) | |
1219 | ENDDO | ||
1220 | !$OMP END CRITICAL | ||
1221 | !$OMP BARRIER | ||
1222 | |||
1223 | !$OMP MASTER | ||
1224 | ✗ | DO i=1,dimsize | |
1225 | ✗ | VarOut(i)=Buff(i) | |
1226 | ENDDO | ||
1227 | !$OMP END MASTER | ||
1228 | !$OMP BARRIER | ||
1229 | |||
1230 | END SUBROUTINE reduce_min_omp_igen | ||
1231 | |||
1232 | ✗ | SUBROUTINE reduce_min_omp_rgen(VarIn,VarOut,dimsize,Buff) | |
1233 | IMPLICIT NONE | ||
1234 | |||
1235 | INTEGER,INTENT(IN) :: dimsize | ||
1236 | REAL,INTENT(IN),DIMENSION(dimsize) :: VarIn | ||
1237 | REAL,INTENT(OUT),DIMENSION(dimsize) :: VarOut | ||
1238 | REAL,INTENT(INOUT),DIMENSION(dimsize) :: Buff | ||
1239 | |||
1240 | INTEGER :: i | ||
1241 | REAL :: var | ||
1242 | |||
1243 | !$OMP MASTER | ||
1244 |
2/10✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
2 | Buff(:)=HUGE(var) |
1245 | !$OMP END MASTER | ||
1246 | !$OMP BARRIER | ||
1247 | |||
1248 | !$OMP CRITICAL | ||
1249 |
2/10✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
2 | DO i=1,dimsize |
1250 | 2 | Buff(i)=MIN(Buff(i),VarIn(i)) | |
1251 | ENDDO | ||
1252 | !$OMP END CRITICAL | ||
1253 | !$OMP BARRIER | ||
1254 | |||
1255 | !$OMP MASTER | ||
1256 |
2/10✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
2 | DO i=1,dimsize |
1257 | 2 | VarOut(i)=Buff(i) | |
1258 | ENDDO | ||
1259 | !$OMP END MASTER | ||
1260 | !$OMP BARRIER | ||
1261 | |||
1262 | END SUBROUTINE reduce_min_omp_rgen | ||
1263 | |||
1264 | |||
1265 | END MODULE mod_phys_lmdz_omp_transfert | ||
1266 |