2

CUDA が生成するコードの種類を確認するために、オブジェクト ファイルに加えて ptx にコンパイルするのが好きです。ループの展開にはかなりの時間がかかることがあるため、→ *.cu< *.cucode>*.ptx*.cu→< code>*.o、現在行っています。

行に追加-ptxするだけnvcc *.cuで、目的の ptx 出力が得られます。

を使用ptxas -cしてコンパイルする*.ptx*.o動作しますが、実行可能リンクでエラーが発生します: Relocations in generic ELF (EM: 190).

*.ptxwithをコンパイルしようとすると、黙っnvccて失敗し、何も出力されません。

この画像は非常に役に立ちます: ここに画像の説明を入力

渡す必要があるオプションはありますptxasか?別のコンパイルでptx経由で適切にコンパイルするにはどうすればよいですか? nvccまたは、 ptx を保持するように指示できますか?

4

1 に答える 1

5

または、nvcc に ptx を保持するように指示できますか?

はい、nvcc にすべての中間ファイルを保持するように指示できます。そのうちの 1 つが.ptxファイルになります。

nvcc -keep ...

すべての中間ファイルを保持するのは少し面倒ですが、整理して必要なファイルのみを保存するスクリプトを考え出すことができると確信しています。

于 2014-01-21T05:12:16.177 に答える