【发布时间】:2019-04-25 17:10:33
【问题描述】:
在计算 Cuda 中的有效带宽时,我是否计算共享内存中的读/写次数。下面给出一个示例代码。
__global__ void kernel(float *a, float * b, float * c, int num){
int i = threadIdx.x + blockIdx.x*blockDim.x;
__shared__ a_shared[NUM];
__shared__ b_shared[NUM];
if (i < NUM){
a_shared[i] = a[i];
b_shared[i] = b[i]
c[i] = a_shared[i] + b_shared[i];
}
}
【问题讨论】:
-
docs.nvidia.com/cuda/cuda-c-best-practices-guide/… 。这在 nvidia 文档的第 8.2.2 节中有记录
-
仔细阅读该部分向我表明,全局加载/存储在视图中,其中全局流量的后备存储是 DRAM。因此,共享活动不在视图中,也不应包括在内。
标签: c++ cuda gpu gpu-shared-memory