SM の使用可能なすべての共有メモリを 1 つのブロックに割り当てたいと考えています。複数のブロックを同じ SM に割り当てたくないので、これを行っています。GPU カードには 64KB (共有 + L1) メモリがあります。私の現在の構成では、共有メモリに 48KB、L1 に 16KB が割り当てられています。利用可能な共有メモリをすべて使い切るために、次のコードを書きました。
__global__ void foo()
{
__shared__ char array[49152];
...
}
2 つの質問があります。
- すべての共有メモリ空間が使い果たされていることを確認するにはどうすればよいですか?
- 「48K」をはるかに高い値に増やすことができます(エラーや警告は表示されません)。これを正当化できる人はいますか?
前もって感謝します、
イマン