冰冻糖葫芦 2017-06-08 16:09 采纳率: 100%
浏览 950
已采纳

一个cuda代码,不明白哪里有错,请指教

这是设备端代码,将tmp0中的数据移动到arr数组中。每个块256个线程,块的数量根据输入的n划分,不过我不知道这有没有关系。。。。求各位解答。。。。。。。。。。
图片说明

  • 写回答

2条回答 默认 最新

  • yangbo50304 2017-06-09 01:40
    关注

    __syncthreads 是所有一个block内所有线程运行到这里后才往下运行。你放到for循环里,是不是就错了呢?
    按照你所述的需求,就不应该有for语句。

     __global_ void test(int* arr, int* tmp0)
     {
         int tid = blockDim.x*blockIdx.x+threadIdx.x;
         arr[tid] = tmp0[tid];
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料