1 extern int i; 2 3 void f_acc_parallel(void)4f_acc_parallel (void) 5 { 6 #pragma acc parallel 7 { 8 #pragma acc loop 9 for (i = 0; i < 2; ++i) 10 ; 11 } 12 } 13 14 15 void f_acc_kernels(void)16f_acc_kernels (void) 17 { 18 #pragma acc kernels 19 { 20 #pragma acc loop 21 for (i = 0; i < 2; ++i) 22 ; 23 } 24 } 25 26 27 void f_acc_data(void)28f_acc_data (void) 29 { 30 #pragma acc data 31 { 32 #pragma acc parallel 33 ; 34 35 #pragma acc parallel 36 { 37 #pragma acc loop 38 for (i = 0; i < 2; ++i) 39 ; 40 } 41 42 #pragma acc kernels 43 ; 44 45 #pragma acc kernels 46 { 47 #pragma acc loop 48 for (i = 0; i < 2; ++i) 49 ; 50 } 51 52 #pragma acc data 53 ; 54 55 #pragma acc update host(i) 56 57 #pragma acc enter data copyin(i) 58 59 #pragma acc exit data delete(i) 60 61 #pragma acc data 62 { 63 #pragma acc parallel 64 ; 65 66 #pragma acc parallel 67 { 68 #pragma acc loop 69 for (i = 0; i < 2; ++i) 70 ; 71 } 72 73 #pragma acc kernels 74 ; 75 76 #pragma acc kernels 77 { 78 #pragma acc loop 79 for (i = 0; i < 2; ++i) 80 ; 81 } 82 83 #pragma acc data 84 ; 85 86 #pragma acc update host(i) 87 88 #pragma acc enter data copyin(i) 89 90 #pragma acc exit data delete(i) 91 } 92 } 93 } 94