使用GPU共享内存:检查我的理解

时间:2013-10-07 00:25:46

标签: cuda double shared-memory

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

所以我只想确认这是不可能的,因为double是8个字节而49152/8 = 6144.对吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

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