小编use*_*882的帖子

为什么不能共享成员变量?

我想在CUDA代码中实例化一个类,它在同一个块中与其他线程共享一些成员.

但是,在尝试编译以下代码时,我收到错误:»属性"shared"在这里不适用«(nvcc版本4.2).

class SharedSomething {

public:
    __shared__ int i; // this is not allowed
};

__global__ void run() {

    SharedSomething something;
}
Run Code Online (Sandbox Code Playgroud)

这背后的理由是什么?是否有解决方案来实现所需的行为(跨越一个块的类的共享成员)?

c++ cuda

6
推荐指数
2
解决办法
880
查看次数

标签 统计

c++ ×1

cuda ×1