我只是想知道是否有任何人有调试CUDA运行时错误的一般程序,例如这些.我没有在我的cuda内核中使用任何共享内存.我已经努力避免任何涉及全球记忆的竞争条件,但我可能错过了一些东西.
我尝试过使用gpu ocelot,但是在识别我的一些CUDA和CUSPARSE函数调用时遇到了问题.
此外,我的代码通常有效.只是当我改变这一设置时,我得到了这些非确定性结果.我已经检查了与该设置相关的所有代码,但我无法弄清楚我做错了什么.如果我可以将它提炼到我可以在这里发布的东西,我可能会这样做,但是在这一点上发布它太复杂了.
解决方法 你确定你的所有内核都有适当的块大小/余数处理吗?当我们在数组末尾没有处理数据元素时,我们看到了一个非确定性结果.我们的内核最初用于已知为256个元素的整数倍的数据.所以我们使用了256的块大小,并进行了简单的除法以获得块数.当数据随后变为任何长度时,剩余的255个或更少的元素永远不会被处理.然后输出中的那些点具有随机数据.
总结以上是内存溢出为你收集整理的c – 非确定性输出的CUDA调试过程全部内容,希望文章能够帮你解决c – 非确定性输出的CUDA调试过程所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)