1 ! Exercise the data movement runtime library functions on non-shared memory
4 ! { dg-do run { target openacc_nvidia_accel_selected } }
10 integer, parameter :: N
= 256
11 integer, allocatable
:: h(:)
20 call acc_present_or_copyin (h
)
22 if (acc_is_present (h
) .neqv
. .TRUE
.) call abort
26 if (acc_is_present (h
) .neqv
. .FALSE
.) call abort
29 if (h(i
) /= i
) call abort
36 call acc_pcopyin (h
, sizeof (h
))
38 if (acc_is_present (h
) .neqv
. .TRUE
.) call abort
42 if (acc_is_present (h
) .neqv
. .FALSE
.) call abort
45 if (h(i
) /= i
+ i
) call abort
50 if (acc_is_present (h
) .neqv
. .TRUE
.) call abort
60 if (acc_is_present (h
) .neqv
. .FALSE
.) call abort
63 if (h(i
) /= i
) call abort
66 call acc_present_or_create (h
, sizeof (h
))
68 if (acc_is_present (h
) .neqv
. .TRUE
.) call abort
72 if (acc_is_present (h
) .neqv
. .FALSE
.) call abort
76 if (acc_is_present (h
) .neqv
. .TRUE
.) call abort
80 if (acc_is_present (h
) .neqv
. .FALSE
.) call abort