我有一个拥有49152字节/共享内存块的GTX Titan。我正在尝试解决~9000耦合的ODE,并希望在共享存储器中存储这些~9000个浓度,这两个浓度是双倍的,以便计算每个浓度的变化率。
所以我只想确认这是不可能的,因为double是8个字节而49152/8 = 6144.对吗?
答案 0 :(得分:1)
您的理解是正确的。您不能同时将9000 double
个数量存储在单个线程块可访问的共享内存中(即在单个SM中)。
答案 1 :(得分:-1)
您也可以使用注册文件!该部分可以拥有每个SM的共享内存的重要部分。核心/流式传输单元的寄存器空间上的私有变量可以在“本地存储器交换”方式中使用,以与同一块中的其他核进行通信。寄存器交换可以补偿泰坦每sm的48kB共享内存。