双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

cuda里的求余运算

chenbo888666999 chenbo888666999 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
cuda里的求余运算结构好奇怪呀:

__device__ unsigned int dsync=0;
unsigned int sync=0;

__global__ void kernel()
{
int tid=threadIdx.x;
int bid=blockIdx.x;

if(bid%2==0 && tid==0)
{
atomicInc(&dsync,33);
}
}
由于一直没找到程序的错误,所以写了一个简单的测试程序,测试原来程序中使用院子函数的情况。我的bid范围为0~31,按理说经过上面的kernel运算后dsync应该是16才对呀,但是输出的结果却是dsync=26,但是我把if(bid%2==0 && tid==0)改为if(bid<16 && tid==0)结构就是16,为什么求余运算都不对呀?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
chenbo888666999
CUDA 591 成员 2,925 内容