1 void test1(int & ref)2test1 (int &ref) 3 { 4 #pragma acc kernels copy (ref) 5 { 6 ref = 10; 7 } 8 } 9 10 void test2(int & ref)11test2 (int &ref) 12 { 13 int b; 14 #pragma acc kernels copyout (b) 15 { 16 b = ref + 10; 17 } 18 19 #pragma acc parallel copyout (b) 20 { 21 b = ref + 10; 22 } 23 24 ref = b; 25 } 26 27 int main()28main() 29 { 30 int a = 0; 31 int &ref_a = a; 32 33 #pragma acc parallel copy (a, ref_a) 34 { 35 ref_a = 5; 36 } 37 38 return a; 39 } 40