使用cuda Nsight调试器进行内存检查

时间:2014-09-25 03:17:05

标签: cuda nsight

enter image description here

above screenshot of NSIGHT debugger中,有人可以解释一下:

1-究竟什么是0.2010854? (见本地窗口)

2-地址的值是什么:0x00110000

3-为什么这个地址只有16位?在32位操作系统上,它应该不是32位吗? 对不起,这是我的错误,正如下面的评论所指出的那样是32位。

1 个答案:

答案 0 :(得分:2)

  

1-究竟什么是0.2010854? (见本地窗口)

地址0x00110000包含的float数量我们期望float表示,因为变量A__device__ float指针应该是指向float数量:

A = 0x00110000

*A = 0.2010854
  

2-地址的值是什么:0x00110000

该地址的值为0.2010854,表示为float数量,或0x3e4de99c表示为32位十六进制数量(例如十六进制无符号整数)。

  

3-为什么这个地址只有16位?在32位操作系统上,它应该不是32位吗?对不起,这是我的错误,正如下面的评论所指出的那样是32位。

地址实际上是32位。每个十六进制数字构成4位,有8位数。

  

内存窗口给出了什么信息?在那个窗口有0.2010854吗?

存储器窗口还显示从存储器地址0x00110000(在本例中)开始存储在存储器中的内容,但它会逐字节地显示数据。例如,如果您获取前4个字节并将它们重新排列为32位数量(因此,0x3e4de99c),则浮点表示为0.2010854。