2011-06-20 6 views
0

1)私はCUDA exeからptxコードを抽出し、そのカーネルコードを別のプログラムで使用したいと思います。 exeからカーネルのptxコードを識別する方法はありますか?私は彼らがexeファイルのデータセクションに任意にレイアウトされていることを知っています。cuda exeといくつかの関連するcudaコンパイラの質問からptxを抽出する方法

MAC実行ファイルで、ptxカーネルが.versionで始まりヌル文字列で終わることを知りました。 win exe(PE)ファイルのようなものがありますか?私はexeファイルを解析し、ptxステートメントを一度に1つずつ集めて、それらを一緒にカーネルとしてグループ化する必要があると思います。しかし、私はそれについてどうやって行くのか分かりません。いくつかの助けが私を始めさせるだろう。私はCuda exeで.nvFatBiセクションも見つけました。それは何であるはずですか?

2)また、キューイングランタイムでキューイングを登録するグローバルコンストラクタがあることも知りました。私はこの部分を完全に理解していません。関数cudaRegisterFatBinaryはここで演奏されますか?もしそうなら、どうすればこのptxを使ってポインタをcudaRegisterFatBinaryに供給できますか?私はptxをcubinファイルにコンパイルする必要があることを理解しています。プログラム的に可能ですか?つまり、ある意味ではnvcc自体をエミュレートしたいと思う。

答えて

1

試してみてください:cuobjdump --dump-ptx [実行可能ファイル名]

+0

ありがとうございました!私はこれをプログラム的にどのようにしていますか?何か案は?あなたは私の2番目の質問で言及したものをするための何らかの方法を私にも見せてもらえますか? – ash

+0

@ashあなたは 'system()'を使ってこのツールを呼び出すことはできませんか? – karlphillip

関連する問題