我的一个程序中调用了递归函数,调试得时候出现data stackflow,把stack扩大了两倍(添加下面代码后)问题解决了。
请问stack用的是什么存储呢?寄存器还是shared memory还是其他的?这样做会对性能有什么影响吗?谢谢您的帮助。
size_t value;
cudaDeviceGetLimit(&value, cudaLimitStackSize);
cudaDeviceSetLimit(cudaLimitStackSize, value * 2);
我的一个程序中调用了递归函数,调试得时候出现data stackflow,把stack扩大了两倍(添加下面代码后)问题解决了。
请问stack用的是什么存储呢?寄存器还是shared memory还是其他的?这样做会对性能有什么影响吗?谢谢您的帮助。
size_t value;
cudaDeviceGetLimit(&value, cudaLimitStackSize);
cudaDeviceSetLimit(cudaLimitStackSize, value * 2);
楼主您好,引用他人文章欢迎给出原地址:
http://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=6494
因为手册没有给出它的任何信息,所以目前根据非官方资料,只能推断是在local memory上。
感谢来访。
谢谢您的帮助!
当时也是看了您回复的那篇文章才把问题解决的,真的很感谢,以后我会注意把原地址贴出的,谢谢提醒。
能否问一下您是怎么学习cuda,需要看什么样的资料和做什么样的事情才能达到您那种境界?能否分享一下呢?真的太强大了。
学习基本靠狗(多多google),
练习基本靠手(多敲代码),
名声基本靠吼(多多吹嘘)。