2017-05-04 12 views
1

デバイスで実行する変数をサブルーチンで作成する場合、デフォルトではローカルスコープですか?したがって、スレッドごとにのみアクセスできますか?Cuda Fortranデバイス変数の初期化スコープ

たとえば、次の場合のyはローカルスコープですか?

module exampleMod 
contains 
    attributes(global) subroutine exampleSub(x) 
    implicit none 
    real :: x 
    real :: y 
    end subroutine exampleSub 
end module exampleMod 

"デバイス"としてさらに指定する必要がありますか?

答えて

1

有効な属性(たとえば、shared)がない場合、globalサブルーチン内で宣言した変数には、スレッドローカルスコープが設定されます。

+0

cuda fortranの変数が突然デバイスの値0に切り替わる原因やバグを知っていますか? –

+0

いいえ、バグを発見した場合は、デモケースを作成してPGIに報告してください – talonmies