CUDA:在不同内核之间使用共享内存

时间:2011-04-15 17:20:55

标签: cuda

这可能吗? 我试图在一个内核中定义一个共享内存数组。 然后我需要在不同的内核中使用这些值。

我试着宣布

extern __shared__ float sharedMem[];

在所有函数之外,然后在一个内核中写入并尝试在不同的内核中访问它。 sharedMem是在第一个内核中正确写入的数组,但是当我尝试在第二个内核中访问它时,值都是0.所以我猜这不起作用或者我做错了。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

你是对的,共享内存不会在内核调用中持续存在。相反,您必须使用全局内存(或纹理内存)并在每次内核调用中将其加载到共享内存中。