| const int n = 100; | |
| // Check async over parallel construct with reduction | |
| int | |
| async_sum (int c) | |
| { | |
| int s = 0; | |
| #pragma acc parallel loop num_gangs (10) gang reduction (+:s) async | |
| for (int i = 0; i < n; i++) | |
| s += i+c; | |
| #pragma acc wait | |
| return s; | |
| } | |
| int | |
| main() | |
| { | |
| int result = 0; | |
| for (int i = 0; i < n; i++) | |
| result += i+1; | |
| if (async_sum (1) != result) | |
| __builtin_abort (); | |
| return 0; | |
| } |