mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-04 01:50:38 +00:00
42 lines
690 B
C
42 lines
690 B
C
/* Test present data clauses in acc offloaded regions when the
|
|
subarray inside the present clause does not have the same base
|
|
offset value as the subarray in the enclosing acc data or acc enter
|
|
data variable. */
|
|
|
|
#include <assert.h>
|
|
|
|
void
|
|
offset (int *data, int n)
|
|
{
|
|
int i;
|
|
|
|
#pragma acc parallel loop present (data[0:n])
|
|
for (i = 0; i < n; i++)
|
|
data[i] = n;
|
|
}
|
|
|
|
int
|
|
main ()
|
|
{
|
|
const int n = 30;
|
|
int data[n], i;
|
|
|
|
for (i = 0; i < n; i++)
|
|
data[i] = -1;
|
|
|
|
#pragma acc data copy(data[0:n])
|
|
{
|
|
offset (data + 10, 10);
|
|
}
|
|
|
|
for (i = 0; i < n; i++)
|
|
{
|
|
if (i < 10 || i >= 20)
|
|
assert (data[i] == -1);
|
|
else
|
|
assert (data[i] == 10);
|
|
}
|
|
|
|
return 0;
|
|
}
|