7 int d
= omp_get_default_device ();
8 int id
= omp_get_initial_device ();
10 if (d
< 0 || d
>= omp_get_num_devices ())
13 int a
[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
16 #pragma omp target map (alloc: shared_mem)
18 if (omp_target_is_present (b
, d
) != shared_mem
)
20 #pragma omp target enter data map (to: a)
21 if (omp_target_is_present (b
, d
) == 0)
23 #pragma omp target enter data map (alloc: b[:0])
24 if (omp_target_is_present (b
, d
) == 0)
26 #pragma omp target exit data map (release: b[:0])
27 if (omp_target_is_present (b
, d
) == 0)
29 #pragma omp target exit data map (release: b[:0])
30 if (omp_target_is_present (b
, d
) != shared_mem
)
32 #pragma omp target enter data map (to: a)
33 if (omp_target_is_present (b
, d
) == 0)
35 #pragma omp target enter data map (always, to: b[:0])
36 if (omp_target_is_present (b
, d
) == 0)
38 #pragma omp target exit data map (delete: b[:0])
39 if (omp_target_is_present (b
, d
) != shared_mem
)
41 #pragma omp target exit data map (from: b[:0])