私は非常に単純なコードフラグメントを持っています:
$acc data copy(a(:),b(:))
$acc kernels
$acc loop vector
do i=1,1000
x = a(i)
b(i) = sqrt(x)
enddo
$acc end kernels
$acc end data
もちろん、x
簡単に省くことができますが、これは一例でありx
、私の質問のポイントです。ここにあるすべてのスレッドは、自動的に独自のコピーを取得しますか?x
それとも、さまざまなスレッドが破壊されないようにするために、それをプライベートに宣言する必要がありますか?それ?