/* * @@name: async_target.3c * @@type: C * @@compilable: yes * @@linkable: no * @@expect: success */ #include #define N 1000000 //N must be even void init(int n, float *v1, float *v2); int main(){ int i, n=N; int chunk=1000; float v1[N],v2[N],vxv[N]; init(n, v1,v2); #pragma omp parallel { #pragma omp master #pragma omp target teams distribute parallel for nowait \ map(to: v1[0:n/2]) \ map(to: v2[0:n/2]) \ map(from: vxv[0:n/2]) for(i=0; i