0

我有一个 GTX Titan,它有 49152 字节/块的共享内存。我正在尝试解决〜9000个耦合ODE,并希望将这些〜9000个浓度(它们是双倍的)存储在共享内存中,以计算每个浓度的变化率。

所以我只想确认这是不可能的,因为双精度是 8 个字节并且 49152/8 = 6144。对吗?

4

2 回答 2

1

你的理解是正确的。您不能同时将 9000 个double数量存储在可由单个线程块访问的共享内存中(即在单个 SM 中)。

于 2013-10-07T01:53:41.043 回答
-1

您也可以使用注册文件!该部分可以有每个 SM 共享内存的重要部分。每个内核/流单元的寄存器空间上的私有变量都可以以“在本地内存中交换”的方式使用,以与同一块中的其他内核进行通信。寄存器交换可以补偿 Titan 每 sm 的 48kB 共享内存。

于 2013-10-07T07:39:20.863 回答