CUDA デバイスでは、各 SM に 64KB のオンチップ メモリがあり、近くに配置されます。デフォルトでは、これは 48KB の共有メモリと 16KB のL1 キャッシュに分割されます。メモリ アクセス パターンを特定するのが難しいカーネルの場合、このパーティショニングを 16KB の共有メモリと 48KB の L1 キャッシュに変更できます。
CUDA では、SM ごとに 64KB のオンチップ メモリのすべてをL1 キャッシュとして使用できないのはなぜですか?
共有メモリを使用しないが、余分な 16KB の L1 キャッシュを使用できるカーネルには多くの種類があります。