这可能吗? 我试图在一个内核中定义一个共享内存数组。 然后我需要在不同的内核中使用这些值。
我试着宣布
extern __shared__ float sharedMem[];
在所有函数之外,然后在一个内核中写入并尝试在不同的内核中访问它。 sharedMem是在第一个内核中正确写入的数组,但是当我尝试在第二个内核中访问它时,值都是0.所以我猜这不起作用或者我做错了。
有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
你是对的,共享内存不会在内核调用中持续存在。相反,您必须使用全局内存(或纹理内存)并在每次内核调用中将其加载到共享内存中。