Hi, Mat, many thanks for the answer. What do you mean “host_data and device resident the others”?
Btw, could you explain the reason a little bit more?
From my understanding: for the thread private common block, each thread will have one copy. When I do something like this:
c$omp threadprivate (/blk/)
!$acc end kernels
will the openAcc see different copies of t2 or does the multiple copies cause the problem? It seems that reading t1, t2, t3 is ok. But its the writing that causes the problem. Even I only use 1 thread, I still got the same runtime error, which suggests that something mystery and deep inside the openAcc implementations. If you could explain it or direct me to some reference, that would be great!