1

別ファイルで書かれたPTXをインラインPTXに変換中です。別の PTX ファイルでは、次のように ISA とターゲットを定義していました。

.version 1.2
.target sm_13

コンパイラによって生成された PTX ファイルでは、PTX をインライン化した後、コンパイラは次のように ISA とターゲットを指定しています。

.version 3.0
.target sm_20
.address_size 64

これ.address_size 64は、インライン PTX で行うポインター演算を 32 ビットから 64 ビットに更新する必要があることを意味するため、私にとっては問題です。

32 ビットが 4GB をアドレス指定できることを考えると、私のカードが持っているメモリよりも多くのメモリがありますが、ポインタ演算を更新する必要がないように、コンパイラに 32 ビットのアドレス サイズを指定させることは可能ですか?

新しい統一アドレッシング システムでは、32 ビット アドレスは sm_20 でサポートされていますか?

4

1 に答える 1

2

NVCC コンパイラの 64 ビット バージョンは、デフォルトで 64 ビット PTX を生成します。コマンド ライン オプションとして -m32 を nvcc に渡そうとすると、32 ビット ポインターが生成されます。このオプションは、NVCC のドキュメントで説明されています。

http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#options-for-guiding-compiler-driver

于 2013-01-22T10:54:06.670 に答える