1 /* { dg-do run { target openacc_nvidia_accel_selected } } */
2 /* { dg-additional-options "-lcuda" } */
3 /* { dg-require-effective-target openacc_cuda } */
22 acc_init (acc_device_nvidia
);
24 r
= cuStreamCreate (&stream1
, CU_STREAM_NON_BLOCKING
);
25 if (r
!= CUDA_SUCCESS
)
27 fprintf (stderr
, "cuStreamCreate failed: %d\n", r
);
31 acc_set_cuda_stream (1, stream1
);
33 for (int i
= 0; i
< n
; i
++)
39 #pragma acc data copy (a, c) copyin (N)
41 #pragma acc parallel async (1)
44 #pragma acc parallel async (1) num_gangs (320)
46 for (int ii
= 0; ii
< N
; ii
++)
47 c
[ii
] = (a
[ii
] + a
[N
- ii
- 1]);
49 #pragma acc parallel async (1)
51 for (int ii
= 0; ii
< n
; ii
++)
57 for (int i
= 0; i
< n
; i
++)