[英]CUDA-GDB prints memory content using int format even though it should be float
在CUDA C项目中,我有一个指针浮在一个称为“ p”的结构内。 它是指向设备内存的指针,称为“ p-> deviceOutput”。 我正在使用CUDA-GDB在执行过程中检查此指针的内容:当我尝试打印它时,会发生以下情况:
(gdb) p *p->deviceOutput
$1 = 0
如您所见,打印返回的内容看起来像是int,绝对不是浮点数。 我确实可以确定指针是浮动指针,所以我对此行为感到困惑。 指定浮点格式无济于事:
(gdb) p/f *p->deviceOutput
$2 = 0
实际上,我也使用GDB获得相同的行为。 我正在使用Ubuntu 14.10,并且我的代码是使用-O0和-g选项通过nvcc编译的。
任何人都可以解释发生了什么,如何正确检查此内存位置? 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.