watch变量的时候,提示symbol not found!

robbie 2014-01-26 11:11:29
vs2008+cuda 5.5 单步调试,watch有些变量,竟然提示symbol not found?
还有var= var_sum/(height*width); var_sum 和var都是float类型,height = 220,width=118;var_sum 的值为50128660.0,相除的结果是var的值为0???改为double也不行。。cuda c太奇葩了。
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxxx3 2014-02-05
  • 打赏
  • 举报
回复
引用 2 楼 robbie 的回复:
[quote=引用 1 楼 linxxx3 的回复:] 1. 如果变量被编译器优化到寄存器里watch不了,试试用debug编译,还不行的话,你可能是watch显存里的变量,这个好像不支持 2. cuda C基础的部分也是C,lz你这么写,看不出有什么问题,不过编译器是不会出这种错误的,调试程序吧
我把该变量名前加static,就可以了,是google到底。请问,在.cu文件中的局部变量,是在显存中还是在主机内存中?[/quote] 上面回答过了,可能直接用的寄存器,不在内存或者显存中
linxxx3 2014-01-27
  • 打赏
  • 举报
回复
1. 如果变量被编译器优化到寄存器里watch不了,试试用debug编译,还不行的话,你可能是watch显存里的变量,这个好像不支持 2. cuda C基础的部分也是C,lz你这么写,看不出有什么问题,不过编译器是不会出这种错误的,调试程序吧
robbie 2014-01-27
  • 打赏
  • 举报
回复
引用 1 楼 linxxx3 的回复:
1. 如果变量被编译器优化到寄存器里watch不了,试试用debug编译,还不行的话,你可能是watch显存里的变量,这个好像不支持 2. cuda C基础的部分也是C,lz你这么写,看不出有什么问题,不过编译器是不会出这种错误的,调试程序吧
我把该变量名前加static,就可以了,是google到底。请问,在.cu文件中的局部变量,是在显存中还是在主机内存中?

581

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧