1! { dg-do compile } 2 3module m 4 use iso_c_binding, only: c_intptr_t 5 implicit none (external, type) 6 7 integer(c_intptr_t), parameter :: & 8 omp_null_allocator = 0, & 9 omp_default_mem_alloc = 1, & 10 omp_large_cap_mem_alloc = 2, & 11 omp_const_mem_alloc = 3, & 12 omp_high_bw_mem_alloc = 4, & 13 omp_low_lat_mem_alloc = 5, & 14 omp_cgroup_mem_alloc = 6, & 15 omp_pteam_mem_alloc = 7, & 16 omp_thread_mem_alloc = 8 17 18 integer, parameter :: & 19 omp_allocator_handle_kind = c_intptr_t 20 21 integer :: t 22 !$omp threadprivate (t) 23 24 integer :: f, l, ll, r, r2 25 !$omp declare target (f, l, ll, r, r2) 26 27contains 28 29subroutine foo (d, m, i1, i2, i3, p, idp, s, nte, tl, nth, g, nta, fi, pp, q, dd, ntm) 30 !$omp declare target (foo) 31 integer :: d, m, p, idp, s, nte, tl, nth, g, nta, pp, q, dd, ntm 32 logical :: i1, i2, i3, fi 33 pointer :: q 34 integer :: i 35 36 !$omp distribute parallel do & 37 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 38 !$omp& if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 39 !$omp& lastprivate (l) schedule(static, 4) order(concurrent) 40 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 41 do i = 1, 64 42 ll = ll +1 43 end do 44 45 !$omp distribute parallel do simd & 46 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 47 !$omp& if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 48 !$omp& lastprivate (l) schedule(static, 4) nontemporal(ntm) & 49 !$omp& safelen(8) simdlen(4) aligned(q: 32) order(concurrent) 50 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 51 do i = 1, 64 52 ll = ll +1 53 end do 54 55 !$omp distribute simd & 56 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 57 !$omp& safelen(8) simdlen(4) aligned(q: 32) reduction(+:r) if(i1) nontemporal(ntm) & 58 !$omp& order(concurrent) 59 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 60 do i = 1, 64 61 ll = ll +1 62 end do 63end 64 65subroutine qux (p) 66 !$omp declare target (qux) 67 integer, value :: p 68 69 !$omp loop bind(teams) order(concurrent) & 70 !$omp& private (p) lastprivate (l) collapse(1) reduction(+:r) 71 do l = 1, 64 72 ll = ll + 1 73 end do 74end 75 76subroutine baz (d, m, i1, i2, i3, p, idp, s, nte, tl, nth, g, nta, fi, pp, q, dd, ntm) 77 integer :: d, m, p, idp, s, nte, tl, nth, g, nta, pp, q, dd, ntm 78 logical :: i1, i2, i3, fi 79 pointer :: q 80 integer :: i 81 !$omp distribute parallel do & 82 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 83 !$omp& if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 84 !$omp& lastprivate (l) schedule(static, 4) copyin(t) 85 ! FIXME/TODO: allocate (p) 86 do i = 1, 64 87 ll = ll +1 88 end do 89 90 !$omp distribute parallel do & 91 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 92 !$omp& if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 93 !$omp& lastprivate (l) schedule(static, 4) order(concurrent) 94 ! FIXME/TODO: allocate (p) 95 do i = 1, 64 96 ll = ll +1 97 end do 98 99 !$omp distribute parallel do simd & 100 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 101 !$omp& if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 102 !$omp& lastprivate (l) schedule(static, 4) nontemporal(ntm) & 103 !$omp& safelen(8) simdlen(4) aligned(q: 32) copyin(t) 104 ! FIXME/TODO: allocate (f) 105 do i = 1, 64 106 ll = ll + 1 107 end do 108 109 !$omp distribute parallel do simd & 110 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 111 !$omp& if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 112 !$omp& lastprivate (l) schedule(static, 4) nontemporal(ntm) & 113 !$omp& safelen(8) simdlen(4) aligned(q: 32) order(concurrent) 114 ! FIXME/TODO: allocate (f) 115 do i = 1, 64 116 ll = ll + 1 117 end do 118 119 !$omp distribute simd & 120 !$omp& private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) & 121 !$omp& safelen(8) simdlen(4) aligned(q: 32) reduction(+:r) if(i1) nontemporal(ntm) & 122 !$omp& order(concurrent) 123 ! FIXME/TODO: allocate (f) 124 do i = 1, 64 125 ll = ll + 1 126 end do 127 128 !$omp loop bind(parallel) order(concurrent) & 129 !$omp& private (p) lastprivate (l) collapse(1) reduction(+:r) 130 do l = 1, 64 131 ll = ll + 1 132 end do 133end 134 135subroutine bar (d, m, i1, i2, i3, p, idp, s, nte, tl, nth, g, nta, fi, pp, q, dd, ntm) 136 integer :: d, m, p, idp, s, nte, tl, nth, g, nta, pp, q, dd(0:5), ntm 137 logical :: i1, i2, i3, fi 138 pointer :: q 139 integer :: i 140 141 !$omp do simd & 142 !$omp& private (p) firstprivate (f) lastprivate (l) linear (ll:1) reduction(+:r) schedule(static, 4) collapse(1) & 143 !$omp& safelen(8) simdlen(4) aligned(q: 32) nontemporal(ntm) if(i1) order(concurrent) 144 ! FIXME/TODO: allocate (f) 145 do i = 1, 64 146 ll = ll + 1 147 end do 148 !$omp end do simd nowait 149 150 !$omp parallel do & 151 !$omp& private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) & 152 !$omp& proc_bind(spread) lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1) 153 ! FIXME/TODO: allocate (f) 154 do i = 1, 64 155 ll = ll + 1 156 end do 157 158 !$omp parallel do & 159 !$omp& private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) & 160 !$omp& proc_bind(spread) lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) order(concurrent) 161 ! FIXME/TODO: allocate (f) 162 do i = 1, 64 163 ll = ll + 1 164 end do 165 166 !$omp parallel do simd & 167 !$omp& private (p) firstprivate (f) if (i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) & 168 !$omp& proc_bind(spread) lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) & 169 !$omp& safelen(8) simdlen(4) aligned(q: 32) nontemporal(ntm) order(concurrent) 170 ! FIXME/TODO: allocate (f) 171 do i = 1, 64 172 ll = ll + 1 173 end do 174 175 !$omp parallel sections & 176 !$omp& private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) & 177 !$omp& proc_bind(spread) lastprivate (l) 178 ! FIXME/TODO: allocate (f) 179 !$omp section 180 block; end block 181 !$omp section 182 block; end block 183 !$omp end parallel sections 184 185 !$omp target parallel & 186 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 187 !$omp& if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 188 !$omp& depend(inout: dd(0)) in_reduction(+:r2) 189 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 190 !$omp end target parallel nowait 191 192 !$omp target parallel do & 193 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 194 !$omp& if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 195 !$omp& lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1) depend(inout: dd(0)) & 196 !$omp& in_reduction(+:r2) 197 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 198 do i = 1, 64 199 ll = ll + 1 200 end do 201 !$omp end target parallel do nowait 202 203 !$omp target parallel do & 204 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 205 !$omp& if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 206 !$omp& lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) depend(inout: dd(0)) order(concurrent) & 207 !$omp& in_reduction(+:r2) 208 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 209 do i = 1, 64 210 ll = ll + 1 211 end do 212 !$omp end target parallel do nowait 213 214 !$omp target parallel do simd & 215 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 216 !$omp& if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 217 !$omp& lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) & 218 !$omp& safelen(8) simdlen(4) aligned(q: 32) depend(inout: dd(0)) nontemporal(ntm) if (simd: i3) order(concurrent) & 219 !$omp& in_reduction(+:r2) 220 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 221 do i = 1, 64 222 ll = ll + 1 223 end do 224 !$omp end target parallel do simd nowait 225 226 !$omp target teams & 227 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 228 !$omp& shared(s) default(shared) reduction(+:r) num_teams(nte - 1:nte) thread_limit(tl) depend(inout: dd(0)) & 229 !$omp& in_reduction(+:r2) 230 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 231 !$omp end target teams nowait 232 233 !$omp target teams distribute & 234 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 235 !$omp& shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) order(concurrent) & 236 !$omp& collapse(1) dist_schedule(static, 16) depend(inout: dd(0)) in_reduction(+:r2) 237 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 238 do i = 1, 64 239 end do 240 !$omp end target teams distribute nowait 241 242 !$omp target teams distribute parallel do & 243 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 244 !$omp& shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) & 245 !$omp& collapse(1) dist_schedule(static, 16) & 246 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 247 !$omp& lastprivate (l) schedule(static, 4) depend(inout: dd(0)) order(concurrent) & 248 !$omp& in_reduction(+:r2) 249 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 250 do i = 1, 64 251 ll = ll + 1 252 end do 253 !$omp end target teams distribute parallel do nowait 254 255 !$omp target teams distribute parallel do simd & 256 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 257 !$omp& shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) & 258 !$omp& collapse(1) dist_schedule(static, 16) & 259 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 260 !$omp& lastprivate (l) schedule(static, 4) order(concurrent) & 261 !$omp& safelen(8) simdlen(4) aligned(q: 32) depend(inout: dd(0)) nontemporal(ntm) if (simd: i3) & 262 !$omp& in_reduction(+:r2) 263 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 264 do i = 1, 64 265 ll = ll + 1 266 end do 267 !$omp end target teams distribute parallel do simd nowait 268 269 !$omp target teams distribute simd & 270 !$omp& device(d) map (tofrom: m) if (i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 271 !$omp& shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) & 272 !$omp& collapse(1) dist_schedule(static, 16) order(concurrent) & 273 !$omp& safelen(8) simdlen(4) aligned(q: 32) depend(inout: dd(0)) nontemporal(ntm) & 274 !$omp& in_reduction(+:r2) 275 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 276 do i = 1, 64 277 ll = ll + 1 278 end do 279 !$omp end target teams distribute simd nowait 280 281 !$omp target simd & 282 !$omp& device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 283 !$omp& safelen(8) simdlen(4) lastprivate (l) linear(ll: 1) aligned(q: 32) reduction(+:r) & 284 !$omp& depend(inout: dd(0)) nontemporal(ntm) if(simd:i3) order(concurrent) & 285 !$omp& in_reduction(+:r2) 286 ! FIXME/TODO: allocate (omp_default_mem_alloc:f) 287 do i = 1, 64 288 ll = ll + 1 289 end do 290 !$omp end target simd nowait 291 292 !$omp taskgroup task_reduction(+:r2) 293 ! FIXME/TODO: allocate (r2) 294 !$omp taskloop simd & 295 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 296 !$omp& if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) & 297 !$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) & 298 !$omp& order(concurrent) 299 ! FIXME/TODO: allocate (f) 300 do i = 1, 64 301 ll = ll + 1 302 end do 303 !$omp end taskgroup 304 305 !$omp taskgroup task_reduction(+:r) 306 ! FIXME/TODO: allocate (r) 307 !$omp taskloop simd & 308 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(i1) & 309 !$omp& final(fi) mergeable nogroup priority (pp) & 310 !$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) in_reduction(+:r) nontemporal(ntm) & 311 !$omp& order(concurrent) 312 ! FIXME/TODO: allocate (f) 313 do i = 1, 64 314 ll = ll + 1 315 end do 316 !$omp end taskgroup 317 318 !$omp taskwait 319 !$omp taskloop simd & 320 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) if(taskloop: i1) & 321 !$omp& final(fi) priority (pp) safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(+:r) if (simd: i3) nontemporal(ntm) & 322 !$omp& order(concurrent) 323 ! FIXME/TODO: allocate (f) 324 do i = 1, 64 325 ll = ll + 1 326 end do 327 328 !$omp target depend(inout: dd(0)) in_reduction(+:r2) 329 !$omp teams distribute & 330 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) & 331 !$omp& collapse(1) dist_schedule(static, 16) order(concurrent) 332 ! FIXME/TODO: allocate (omp_default_mem_alloc: f) 333 do i = 1, 64 334 end do 335 !$omp end target nowait 336 337 !$omp target 338 !$omp teams distribute parallel do & 339 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) & 340 !$omp& collapse(1) dist_schedule(static, 16) & 341 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 342 !$omp& lastprivate (l) schedule(static, 4) order(concurrent) 343 ! FIXME/TODO: allocate (omp_default_mem_alloc: f) 344 do i = 1, 64 345 ll = ll +1 346 end do 347 !$omp end target 348 349 !$omp target 350 !$omp teams distribute parallel do simd & 351 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) & 352 !$omp& collapse(1) dist_schedule(static, 16) & 353 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 354 !$omp& lastprivate (l) schedule(static, 4) order(concurrent) & 355 !$omp& safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) 356 ! FIXME/TODO: allocate (omp_default_mem_alloc: f) 357 do i = 1, 64 358 ll = ll +1 359 end do 360 !$omp end target 361 362 !$omp target 363 !$omp teams distribute simd & 364 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) & 365 !$omp& collapse(1) dist_schedule(static, 16) order(concurrent) & 366 !$omp& safelen(8) simdlen(4) aligned(q: 32) if(i3) nontemporal(ntm) 367 ! FIXME/TODO: allocate (omp_default_mem_alloc: f) 368 do i = 1, 64 369 ll = ll +1 370 end do 371 !$omp end target 372 373 !$omp teams distribute parallel do & 374 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) & 375 !$omp& collapse(1) dist_schedule(static, 16) & 376 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 377 !$omp& lastprivate (l) schedule(static, 4) copyin(t) 378 ! FIXME/TODO: allocate (f) 379 do i = 1, 64 380 ll = ll +1 381 end do 382 383 !$omp teams distribute parallel do & 384 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) & 385 !$omp& collapse(1) dist_schedule(static, 16) order(concurrent) & 386 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 387 !$omp& lastprivate (l) schedule(static, 4) 388 ! FIXME/TODO: allocate (f) 389 do i = 1, 64 390 ll = ll +1 391 end do 392 393 !$omp teams distribute parallel do simd & 394 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) & 395 !$omp& collapse(1) dist_schedule(static, 16) & 396 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 397 !$omp& lastprivate (l) schedule(static, 4) & 398 !$omp& safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) copyin(t) 399 ! FIXME/TODO: allocate (f) 400 do i = 1, 64 401 ll = ll +1 402 end do 403 404 !$omp teams distribute parallel do simd & 405 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) & 406 !$omp& collapse(1) dist_schedule(static, 16) & 407 !$omp& if (parallel: i2) num_threads (nth) proc_bind(spread) & 408 !$omp& lastprivate (l) schedule(static, 4) order(concurrent) & 409 !$omp& safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) 410 ! FIXME/TODO: allocate (f) 411 do i = 1, 64 412 ll = ll +1 413 end do 414 415 !$omp teams distribute simd & 416 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) & 417 !$omp& collapse(1) dist_schedule(static, 16) order(concurrent) & 418 !$omp& safelen(8) simdlen(4) aligned(q: 32) if(i3) nontemporal(ntm) 419 ! FIXME/TODO: allocate(f) 420 do i = 1, 64 421 ll = ll +1 422 end do 423 424 !$omp parallel master & 425 !$omp& private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) reduction(+:r) & 426 !$omp& num_threads (nth) proc_bind(spread) copyin(t) 427 ! FIXME/TODO: allocate (f) 428 !$omp end parallel master 429 430 !$omp parallel masked & 431 !$omp& private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) reduction(+:r) & 432 !$omp& num_threads (nth) proc_bind(spread) copyin(t) filter (d) 433 ! FIXME/TODO: allocate (f) 434 !$omp end parallel masked 435 436 !$omp taskgroup task_reduction (+:r2) 437 ! FIXME/TODO: allocate (r2) 438 !$omp master taskloop & 439 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 440 !$omp& if(taskloop: i1) final(fi) mergeable priority (pp) & 441 !$omp& reduction(default, +:r) in_reduction(+:r2) 442 ! FIXME/TODO: allocate (f) 443 do i = 1, 64 444 ll = ll +1 445 end do 446 !$omp end taskgroup 447 448 !$omp taskgroup task_reduction (+:r2) 449 ! FIXME/TODO: allocate (r2) 450 !$omp masked taskloop & 451 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 452 !$omp& if(taskloop: i1) final(fi) mergeable priority (pp) reduction(default, +:r) in_reduction(+:r2) filter (d) 453 ! FIXME/TODO: allocate (f) 454 do i = 1, 64 455 ll = ll +1 456 end do 457 !$omp end taskgroup 458 459 !$omp taskgroup task_reduction (+:r2) 460 ! FIXME/TODO: allocate (r2) 461 !$omp master taskloop simd & 462 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 463 !$omp& if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) & 464 !$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) & 465 !$omp& order(concurrent) 466 ! FIXME/TODO: allocate (f) 467 do i = 1, 64 468 ll = ll +1 469 end do 470 !$omp end taskgroup 471 472 !$omp taskgroup task_reduction (+:r2) 473 ! FIXME/TODO: allocate (r2) 474 !$omp masked taskloop simd & 475 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 476 !$omp& if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) & 477 !$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) & 478 !$omp& order(concurrent) filter (d) 479 ! FIXME/TODO: allocate (f) 480 do i = 1, 64 481 ll = ll +1 482 end do 483 !$omp end taskgroup 484 485 !$omp parallel master taskloop & 486 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 487 !$omp& if(taskloop: i1) final(fi) mergeable priority (pp) & 488 !$omp& reduction(default, +:r) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) 489 ! FIXME/TODO: allocate (f) 490 do i = 1, 64 491 ll = ll +1 492 end do 493 494 !$omp parallel masked taskloop & 495 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 496 !$omp& if(taskloop: i1) final(fi) mergeable priority (pp) & 497 !$omp& reduction(default, +:r) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) filter (d) 498 ! FIXME/TODO: allocate (f) 499 do i = 1, 64 500 ll = ll +1 501 end do 502 503 !$omp parallel master taskloop simd & 504 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 505 !$omp& if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) & 506 !$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) if (parallel: i2) & 507 !$omp& num_threads (nth) proc_bind(spread) copyin(t) order(concurrent) 508 ! FIXME/TODO: allocate (f) 509 do i = 1, 64 510 ll = ll +1 511 end do 512 513 !$omp parallel masked taskloop simd & 514 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied & 515 !$omp& if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) & 516 !$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) if (parallel: i2) & 517 !$omp& num_threads (nth) proc_bind(spread) copyin(t) order(concurrent) filter (d) 518 ! FIXME/TODO: allocate (f) 519 do i = 1, 64 520 ll = ll +1 521 end do 522 523 !$omp taskgroup task_reduction (+:r2) 524 ! FIXME/TODO: allocate (r2) 525 !$omp master taskloop & 526 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) & 527 !$omp& untied if(i1) final(fi) mergeable priority (pp) reduction(default, +:r) in_reduction(+:r2) 528 do i = 1, 64 529 ll = ll +1 530 end do 531 !$omp end taskgroup 532 533 !$omp taskgroup task_reduction (+:r2) 534 ! FIXME/TODO: allocate (r2) 535 !$omp masked taskloop & 536 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) & 537 !$omp& untied if(i1) final(fi) mergeable priority (pp) reduction(default, +:r) in_reduction(+:r2) filter (d) 538 do i = 1, 64 539 ll = ll +1 540 end do 541 !$omp end taskgroup 542 543 !$omp taskgroup task_reduction (+:r2) 544 ! FIXME/TODO: allocate (r2) 545 !$omp master taskloop simd & 546 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) & 547 !$omp& final(fi) mergeable priority (pp) safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) & 548 !$omp& in_reduction(+:r2) nontemporal(ntm) order(concurrent) 549 ! FIXME/TODO: allocate (f) 550 do i = 1, 64 551 ll = ll +1 552 end do 553 !$omp end taskgroup 554 555 !$omp taskgroup task_reduction (+:r2) 556 ! FIXME/TODO: allocate (r2) 557 !$omp masked taskloop simd & 558 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied & 559 !$omp& if(i1) final(fi) mergeable priority (pp) safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) & 560 !$omp& in_reduction(+:r2) nontemporal(ntm) order(concurrent) filter (d) 561 ! FIXME/TODO: allocate (f) 562 do i = 1, 64 563 ll = ll +1 564 end do 565 !$omp end taskgroup 566 567 !$omp parallel master taskloop & 568 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied & 569 !$omp& if(i1) final(fi) mergeable priority (pp) reduction(default, +:r) num_threads (nth) proc_bind(spread) copyin(t) 570 ! FIXME/TODO: allocate (f) 571 do i = 1, 64 572 ll = ll +1 573 end do 574 575 !$omp parallel masked taskloop & 576 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied & 577 !$omp& if(i1) final(fi) mergeable priority (pp) reduction(default, +:r) num_threads (nth) proc_bind(spread) & 578 !$omp& copyin(t) filter (d) 579 ! FIXME/TODO: allocate (f) 580 do i = 1, 64 581 ll = ll +1 582 end do 583 584 !$omp parallel master taskloop simd & 585 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied & 586 !$omp& if(i1) final(fi) mergeable priority (pp) safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) & 587 !$omp& nontemporal(ntm) num_threads (nth) proc_bind(spread)copyin(t) order(concurrent) 588 ! FIXME/TODO: allocate (f) 589 do i = 1, 64 590 ll = ll +1 591 end do 592 593 !$omp parallel masked taskloop simd & 594 !$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) & 595 !$omp& final(fi) mergeable priority (pp) safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) & 596 !$omp& nontemporal(ntm) num_threads (nth) proc_bind(spread) copyin(t) order(concurrent) filter (d) 597 ! FIXME/TODO: allocate (f) 598 do i = 1, 64 599 ll = ll +1 600 end do 601 602 !$omp loop bind(thread) order(concurrent) & 603 !$omp& private (p) lastprivate (l) collapse(1) reduction(+:r) 604 do l = 1, 64 605 ll = ll + 1 606 end do 607 608 !$omp parallel loop & 609 !$omp& private (p) firstprivate (f) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) & 610 !$omp& proc_bind(spread) lastprivate (l) collapse(1) bind(parallel) order(concurrent) if (parallel: i2) 611 ! FIXME/TODO: allocate (f) 612 do l = 1, 64 613 ll = ll + 1 614 end do 615 616 !$omp parallel loop & 617 !$omp& private (p) firstprivate (f) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) & 618 !$omp& proc_bind(spread) lastprivate (l) collapse(1) if (parallel: i2) 619 ! FIXME/TODO: allocate (f) 620 do l = 1, 64 621 ll = ll + 1 622 end do 623 624 !$omp teams loop & 625 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) & 626 !$omp& collapse(1) lastprivate (l) bind(teams) 627 ! FIXME/TODO: allocate (f) 628 do l = 1, 64 629 end do 630 631 !$omp teams loop & 632 !$omp& private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) & 633 !$omp& collapse(1) lastprivate (l) order(concurrent) 634 ! FIXME/TODO: allocate (f) 635 do l = 1, 64 636 end do 637 638 !$omp target parallel loop & 639 !$omp& device(d) map (tofrom: m) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 640 !$omp& default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) & 641 !$omp& depend(inout: dd(0)) lastprivate (l) order(concurrent) collapse(1) in_reduction(+:r2) & 642 !$omp& if (target: i1) if (parallel: i2) 643 ! FIXME/TODO: allocate (omp_default_mem_alloc: f) 644 do l = 1, 64 645 end do 646 !$omp end target parallel loop nowait 647 648 !$omp target teams loop & 649 !$omp& device(d) map (tofrom: m) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 650 !$omp& shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) depend(inout: dd(0)) & 651 !$omp& lastprivate (l) bind(teams) collapse(1) in_reduction(+:r2) if (target: i1) 652 ! FIXME/TODO: allocate (omp_default_mem_alloc: f) 653 do l = 1, 64 654 end do 655 !$omp end target teams loop nowait 656 657 !$omp target teams loop & 658 !$omp& device(d) map (tofrom: m) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) & 659 !$omp& shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) depend(inout: dd(0)) & 660 !$omp& lastprivate (l) order(concurrent) collapse(1) in_reduction(+:r2) if (target: i1) 661 ! FIXME/TODO: allocate (omp_default_mem_alloc: f) 662 do l = 1, 64 663 end do 664 !$omp end target teams loop nowait 665 666end 667end module 668