Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c @ 120:f93fa5091070
fix conv1.c
author | mir3636 |
---|---|
date | Thu, 08 Mar 2018 14:53:42 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Exercise the auto, independent, seq and tile loop clauses inside kernels regions. */ #include <assert.h> #define N 100 void check (int *a, int *b) { int i; for (i = 0; i < N; i++) assert (a[i] == b[i]); } int main () { int i, a[N], b[N]; #pragma acc kernels copy(a) { #pragma acc loop auto for (i = 0; i < N; i++) a[i] = i; } for (i = 0; i < N; i++) b[i] = i; check (a, b); #pragma acc kernels copyout(a) { #pragma acc loop independent for (i = 0; i < N; i++) a[i] = i; } check (a, b); #pragma acc kernels present_or_copy(a) { #pragma acc loop seq for (i = 0; i < N; i++) a[i] = i; } check (a, b); #pragma acc kernels pcopyout(a) present_or_copyin(b) { #pragma acc loop seq for (i = 0; i < N; i++) a[i] = b[i]; } check (a, b); return 0; }