如何理解CUDA compute capability是什么意思

本文不谈CUDA优化只谈如何正确写絀CUDA程序,先写对再说优化。最近写CUDA程序也是断断续续的经常程序写完了需要很长的时间调试,各种错误调试的方法也是简单的printf(),目湔没找到更好的调试方法如果有更好的办法的化希望告知。

首先谈谈调试方法吧目前我遇到的主要是两种错误:内存错误逻辑错误其他错误

对于其他错误,一般加上错误处理即可错误处理见

目前对于内存错误,编译的时候加入下面选项

如果有內存错误会输出报告,告知你哪一行访问了非法内存往往问题是出在kernel里,这样就可以快速定位到行进行排错了。cuda-memcheck还有其他很多功能目前我就用到这个,其他的等需要的时候再说吧

确定好没有内存错误,没有其他错误后发现结果不对,这也是最头疼的地方目前为止一直用的printf打印方法来进行观察,没用过cuda-gdb也在网上搜索了很多关于CUDA的调试方法,也没有个好的结果用cuda-gdb一是感觉还得学cuda-gdb的使鼡,而是使用起来也不是那么方便(没有细看cuda-gdb的用法有兴趣的可以看看),这里对于printf方法也是摸索出一些方法。首先写程序的时候这样写,這样是为了用printf调试方便用printf调试的时候,把block数和thread数都设置为1就可以很好的用printf进行调试了。用printf的时候也可以一个功能一个功能(一段代码一段代码)的进行打印这样来进行定位。

自己总结的一些小经验有更好的方法,希望大家指出


}

版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/

}

我要回帖

更多关于 capability 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信