如果我在子程序中创建一个要在设备上运行的变量,默认情况下它是本地范围吗?因此只能由每个单独的线程访问?
例如,在以下情况下,y是本地范围吗?
module exampleMod
contains
attributes(global) subroutine exampleSub(x)
implicit none
real :: x
real :: y
end subroutine exampleSub
end module exampleMod
我是否需要另外将其指定为" device"?
答案 0 :(得分:1)
如果没有有效属性(例如shared
),则在global
子例程中声明的任何变量都将具有线程局部范围。