Viewing file: pr70688.c (1.18 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-additional-options "-Wopenacc-parallelism" } for testing/documenting aspects of that functionality. */
const int n = 100;
int private_reduction () { int i, r;
#pragma acc parallel #pragma acc loop private (r) reduction (+:r) for (i = 0; i < 100; i++) r += 10;
return r; }
int parallel_reduction () { int sum = 0; int dummy = 0;
#pragma acc data copy (dummy) { #pragma acc parallel num_gangs (10) copy (sum) reduction (+:sum) /* { dg-bogus "warning: region is gang partitioned but does not contain gang partitioned code" "TODO 'reduction'" { xfail *-*-* } .-1 } */ { int v = 5; sum += 10 + v; } }
return sum; }
int main () { int i, s = 0;
#pragma acc parallel num_gangs (10) copy (s) reduction (+:s) /* { dg-bogus "warning: region is gang partitioned but does not contain gang partitioned code" "TODO 'reduction'" { xfail *-*-* } .-1 } */ for (i = 0; i < n; i++) s += i+1;
#pragma acc parallel num_gangs (10) reduction (+:s) copy (s) /* { dg-bogus "warning: region is gang partitioned but does not contain gang partitioned code" "TODO 'reduction'" { xfail *-*-* } .-1 } */ for (i = 0; i < n; i++) s += i+1;
return 0; }
|