1*330d8983SJohannes Doerfert // RUN: %libomptarget-compileopt-and-run-generic 2*330d8983SJohannes Doerfert 3*330d8983SJohannes Doerfert // UNSUPPORTED: amdgcn-amd-amdhsa 4*330d8983SJohannes Doerfert 5*330d8983SJohannes Doerfert #include <assert.h> 6*330d8983SJohannes Doerfert #include <omp.h> 7*330d8983SJohannes Doerfert #include <stdio.h> 8*330d8983SJohannes Doerfert #include <stdlib.h> 9*330d8983SJohannes Doerfert 10*330d8983SJohannes Doerfert #define N (1024 * 1024 * 256) 11*330d8983SJohannes Doerfert main(int argc,char * argv[])12*330d8983SJohannes Doerfertint main(int argc, char *argv[]) { 13*330d8983SJohannes Doerfert int *data = (int *)malloc(N * sizeof(int)); 14*330d8983SJohannes Doerfert double duration = 0.0; 15*330d8983SJohannes Doerfert 16*330d8983SJohannes Doerfert #pragma omp target map(from : data[0 : N]) map(from : duration) 17*330d8983SJohannes Doerfert { 18*330d8983SJohannes Doerfert double start = omp_get_wtime(); 19*330d8983SJohannes Doerfert for (int i = 0; i < N; ++i) 20*330d8983SJohannes Doerfert data[i] = i; 21*330d8983SJohannes Doerfert double end = omp_get_wtime(); 22*330d8983SJohannes Doerfert duration = end - start; 23*330d8983SJohannes Doerfert } 24*330d8983SJohannes Doerfert assert(duration > 0.0); 25*330d8983SJohannes Doerfert free(data); 26*330d8983SJohannes Doerfert return 0; 27*330d8983SJohannes Doerfert } 28