【问题标题】:CUDA: Using shared memory between different kernelsCUDA:在不同内核之间使用共享内存
【发布时间】:2016-02-15 05:45:22
【问题描述】:

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

我尝试声明

extern __shared__ float sharedMem[];

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

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

【问题讨论】:

    标签: cuda


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 2020-11-27
      • 2012-03-02
      • 1970-01-01
      • 2016-10-12
      • 2013-09-22
      • 1970-01-01
      相关资源
      最近更新 更多