4 #define COUNTERTYPE unsigned int
9 unsigned int *__restrict a
;
10 unsigned int *__restrict b
;
11 unsigned int *__restrict c
;
13 a
= (unsigned int *__restrict
)malloc (N
* sizeof (unsigned int));
14 b
= (unsigned int *__restrict
)malloc (N
* sizeof (unsigned int));
15 c
= (unsigned int *__restrict
)malloc (N
* sizeof (unsigned int));
17 #pragma acc data copyout (a[0:N])
19 #pragma acc kernels present (a[0:N])
21 for (COUNTERTYPE i
= 0; i
< N
; i
++)
26 #pragma acc data copyout (b[0:N])
28 #pragma acc kernels present (b[0:N])
30 for (COUNTERTYPE i
= 0; i
< N
; i
++)
35 #pragma acc data copyin (a[0:N], b[0:N]) copyout (c[0:N])
37 #pragma acc kernels present (a[0:N], b[0:N], c[0:N])
39 for (COUNTERTYPE ii
= 0; ii
< N
; ii
++)
40 c
[ii
] = a
[ii
] + b
[ii
];
44 for (COUNTERTYPE i
= 0; i
< N
; i
++)
45 if (c
[i
] != a
[i
] + b
[i
])