【发布时间】:2013-03-18 16:09:34
【问题描述】:
我正在处理一个结构数组,每个 cuda 块将使用一个结构(并且只有一个)的数据并围绕它进行大量计算。为了让程序正常工作,我想将结构加载到共享内存中。
我尝试过使用这样的 memcpy 函数:
struct LABEL_2D{
int a;
float * b[MAX];
};
__shared__ struct LABEL_2D self_label;
if(threadIdx.x == 0){
memcpy(&self_label,
label+(blockIdx.x*sizeof(struct LABEL_2D)),
sizeof(struct LABEL_2D));
}
__syncthreads();
但在执行时出现以下错误:未指定的启动失败 cudaGetLastError()
我想知道是否可以在共享内存中加载结构。
【问题讨论】:
标签: cuda shared-memory