File1: #include <stdio.h>\n#include <omp.h>\n#define N 100\n#define C 64\n\nint main(){\n\n  int var[C];\n\n  for(int i=0; i<C; i++){\n    var[i]=0;\n  }\n\n  #pragma omp target map(tofrom:var[0:C]) device(0)\n  #pragma omp teams distribute parallel for\n  for (int i=0; i<N; i++){\n    #pragma omp simd\n    for(int i=0; i<C; i++){\n      var[i]++;\n    }\n  }\n\n  printf("%d\n",var[63]);\n\n  return 0;\n}\n
File2: program DRB163_simdmissinglock1_orig_gpu_no\n    use omp_lib\n    use DRB163\n    implicit none\n\n    do i = 1, 16\n        var(i) = 0\n    end do\n\n    !$omp target map(tofrom:var) device(0)\n    !$omp teams distribute parallel do\n    do i = 1, 20\n        !$omp simd\n        do j = 1, 16\n            var(j) = var(j)+1\n        end do\n        !$omp end simd\n    end do\n    !$omp end teams distribute parallel do\n    !$omp end target\n\n    print*,var(16)\n\nend program