zoukankan      html  css  js  c++  java
  • CUDA笔记(十)

    下午仔细研究了两个程序,然后搜了一下解决方法

    http://blog.sina.com.cn/s/blog_6de28fbd01011cru.html

    http://blog.csdn.net/chevroletss/article/details/48130953

    http://www.cnblogs.com/liangliangdetianxia/p/3984761.html

    ***

    今天用了几乎大半天的时间琢磨了下面的程序,老鸟们见笑了

    #define N (33*1024)

    __global__ void add(int * a, int * b, int *c)

    {

      int tid = threadIdx.x + blockIdx.x * blockDim.x;

         while (tid < N) {

        c[tid] = a[tid] + b[tid];

          tid += blockDim.x * gridDim.x;

         }

    }

    于是反复看了解释,才明白:在每个线程计算完当前索引上的任务后,接着就需要对索引进行递增,其中递增的步长为线程格中正在运行的线程数量。这个数值等于每个线程块中的线程数量乘以线程格中线程块的数量,即blockDim.x * gridDim.x

    也就是说,blockDim.x * gridDim.x是一种范式。

  • 相关阅读:
    函数length属性
    vue面试题
    ES6引进新的原始数据类型symbol使用及特性
    jq动画
    防抖和节流
    this指向
    前端:性能优化之回流和重绘
    react生命周期
    vue生命周期
    react-redux的实现原理
  • 原文地址:https://www.cnblogs.com/ubiwind/p/5080400.html
Copyright © 2011-2022 走看看