小白求助!!!关于cuda在VS的debug模式和release模式问题。

  • 2 replies
  • 400 views
为什么同样的代码,在release模式运行结果是正确的,但在debug模式运行结果全是-4.31602e+08这个数
 

为什么同样的代码,在release模式运行结果是正确的,但在debug模式运行结果全是-4.31602e+08这个数

这是一种常见的现象,我大致列举一下常见的原因:
(A)Host部分代码有问题,在Debug下和Release下表现不一致,例如受到控制的条件编译,例如不同的文件打开路径。这些往往都是没有经过好好检查,和没有100%覆盖掉所有可能的错误代码/返回值检测造成的。
(B)Device部分代码有问题,这个比较少见,根据经常大部分都是(A)。你也应当考虑检查,例如Debug模式下kernel是否成功启动之类的原因(例如Debug下的计算能力配置并不被你的当前显卡支持,而Release却可以)

一般来说,详细的检查了所有位置的可能返回值或者错误代码,则一般可以避免。我建议楼主详细的看一下异同。

好的,谢谢啦。已经解决了问题了。主要是处理的数据太大了,还有索引问题