关于cuda sdk 中的scanLargeArray的问题

tc8831 2011-10-08 09:17:03
scanlargearray 例程中的 ScanLargerArray_kernel.cu中倒数第二行程序


g_data[address+blcokDim.x]+=(treadIdx.x+blockDim.x<n)*uni;

这一句是什么用意呢,是让大于n的线程作+0的运算么,可是scan.cu调用这个函数的时候线程分配的都是正好的blockDim都是按数据量给的,当然可能我理解错了,希望看过这个的同学给点提示。
...全文
131 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujuan99 2011-11-04
  • 打赏
  • 举报
回复
threadIdx+blockDim.x的线程的运算结果不加到g_data里面,对于scan.cu这个例子可能分配的线程和数据对应的刚刚好,可是对于其他的程序就不一定了。这里就是一种良好的编程习惯吧

357

社区成员

发帖
与我相关
我的任务
社区描述
CUDA高性能计算讨论
社区管理员
  • CUDA高性能计算讨论社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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