2
我有一個非常簡單的代碼片段:使用OpenACC循環,每個線程是否獲得標量的私有副本?
$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
自動,還是我應該聲明它是私人的,以防止各種線程破壞它?
非常感謝!順便說一句,你知道關於OpenACC的任何好文檔嗎? –
http://www.openacc.org/是最好的開始。主頁底部有一個「資源」部分,其中有幾個有用的鏈接。 「OpenACC編程和最佳實踐指南」是一個很好的開始。 –