Cuda 当我启动一个新的内核/应用程序时,内存会被清除吗?

Cuda 当我启动一个新的内核/应用程序时,内存会被清除吗?,cuda,gpgpu,Cuda,Gpgpu,一般性问题。 我想知道当我启动一个新内核/应用程序时,全局/共享/缓存内存和寄存器是否被清除(内容设置为0)? 谢谢不,您必须自己初始化内存。\uuuu共享\uuuu内存和全局内存都不会自动初始化。(1) 缓存将与内存中的任何内容“一致”(2)。你不必担心这些 通常无法从CUDA C/C++源代码访问寄存器,但如果您使用内联PTX或其他方法,除非您显式地将寄存器放在那里,否则寄存器不能保证保存任何特定值 (1) 类似于推力::设备向量的构造将意味着某种形式的初始化。所以我在这里指的是“普通的CU

一般性问题。 我想知道当我启动一个新内核/应用程序时,全局/共享/缓存内存和寄存器是否被清除(内容设置为0)?
谢谢

不,您必须自己初始化内存。
\uuuu共享\uuuu
内存和全局内存都不会自动初始化。(1)

缓存将与内存中的任何内容“一致”(2)。你不必担心这些

通常无法从CUDA C/C++源代码访问寄存器,但如果您使用内联PTX或其他方法,除非您显式地将寄存器放在那里,否则寄存器不能保证保存任何特定值

(1) 类似于
推力::设备向量
的构造将意味着某种形式的初始化。所以我在这里指的是“普通的CUDA C/C++”

(2) 给定缓存线的“一致”表示:

  • 缓存线标记为“无效”(或)
  • cacheline被标记为“valid”,它准确地表示正在缓存的任何内存的内容

不,您必须自己初始化内存。
\uuuu共享\uuuu
内存和全局内存都不会自动初始化。(1)

缓存将与内存中的任何内容“一致”(2)。你不必担心这些

通常无法从CUDA C/C++源代码访问寄存器,但如果您使用内联PTX或其他方法,除非您显式地将寄存器放在那里,否则寄存器不能保证保存任何特定值

(1) 类似于
推力::设备向量
的构造将意味着某种形式的初始化。所以我在这里指的是“普通的CUDA C/C++”

(2) 给定缓存线的“一致”表示:

  • 缓存线标记为“无效”(或)
  • cacheline被标记为“valid”,它准确地表示正在缓存的任何内存的内容