xptxasを使用してレジスタの使用状況を確認すると、次のようになります。
ptxas info : Used 63 registers, 244 bytes cmem[0], 51220 bytes cmem[2], 24 bytes cmem[14], 20 bytes cmem[16]
現在、cmem[x]を明確に説明しているドキュメントはあるのでしょうか。コンスタントメモリを複数のバンクに分割することのポイントは何ですか、合計でいくつのバンクがありますか、そして0、2、14、16以外の他のバンクは何に使用されますか?
補足として、@ njuffa(特にあなたに感謝します)は以前にnvidiaのフォーラムで銀行0,2,14,16とは何かを説明しました:
使用される定数メモリは、定数プログラムの「変数」(バンク1)と、コンパイラによって生成された定数(バンク14)に分割されます。
cmem [0]:カーネル引数
cmem [2]:ユーザー定義の定数オブジェクト
cmem [16]:コンパイラによって生成された定数(ソースコードのリテラル定数に対応するものもあります)