CUDA Binary Utilities の 1 つである cuobjdump を使用して SASS コードを生成しました。サンプルの結果は次のとおりです。これらのコードは、グローバル メモリからロードしようとします。
/*0028*/ IMAD R6.CC, R3, R5, c[0x0][0x20];
/*0030*/ IMAD.HI.X R7, R3, R5, c[0x0][0x24];
/*0040*/ LD.E R2, [R6]; //load
各命令の意味を説明する SASS コードの完全なマニュアルはどこで入手できますか。「cuda binary utility」では、命令の意味の一般的な説明のみを提供します。たとえば、「R1.cc」、「IMAD.HI.X」、および LD.e の意味を説明していません。
2番目の指示の意味. 最初の命令は各スレッドがロードするメモリアドレスを計算することであり、3番目の命令はグローバルメモリをレジスタにロードすることだと思います。2番目の指示の意味がわかりません。
cuda は、グリッド サイズ、ブロック サイズ、配列のベース アドレスなどのパラメータ情報を定数メモリに保存していると思います。この場合、c[0x0][0x20] は配列のベースアドレスです。私の質問は、どうすればそれらの情報を取得できるかです。