一般性问题。 我想知道当我启动新的内核/应用程序时是否清除了全局/共享/高速缓存存储器和寄存器(内容设置为0)? 谢谢
答案 0 :(得分:3)
不,你必须自己初始化内存。 __shared__
内存和全局内存都不会自动初始化。(1)
缓存将是"一致"与记忆中的任何东西(2)。你不必担心这些。
通常无法从CUDA C / C ++源代码访问寄存器,但如果您使用的是内联PTX或其他方法,则除非您明确地将寄存器放在那里,否则不保证寄存器具有任何特定值。
(1)像thrust::device_vector
这样的构造将暗示某种形式的初始化。所以我指的是普通的CUDA C / C ++"这里。
(2)"一致"对于给定的高速缓存行,意味着: