2016-07-13 8 views
1

FWIW、実際にはまだ実行する特定のGCN計算シェーダバイナリを持っていないので、これは仮説です。私はこれに関連することに取り組んでいますが、頭がぼやけて不確実なアイデアがたくさんあることを認識していますので、私は基礎に戻って、私が持っているかもしれない誤解を修正しようとしています。有効なGCNシェーダバイナリを持っている場合、互換性のあるAMD GPUを実行するにはどのようなプロセスが必要ですか?

GPUで実行したいと思っていたようなバイナリを持っていたとします(私はC#でこれをやりたいとしましょう)、そこにはどのようなステップが必要ですか/そこに特に有益な/関連する例がありますギター?

2番目の質問; AMDのGPUで計算シェーダとして正常に動作しているDirectXバイナリを持っているとしましょう... DirectXバイナリがコンパイルされているGCNバイナリを取得する方法はありますか?

+0

ここでは、それをやっている人のプレゼンテーションです。幸運にも、私は自分のGCN isaをPS4とXbox Oneに直接送り込むことができてうれしく思います。これは実際のアプリケーションでPC上で実行可能な方法ではありません^^:https://onedrive.live.com/view.aspx?resid = EBE7DEDA70D06DA0!107&app = PowerPoint&authkey =!AD-O3oq3Ung7pzk – galop1n

答えて

0

5ヶ月遅れていますが、おそらくこれが役立つ可能性があります。このプロジェクトは、あなたが望むものをC#で実行します:https://www.codeproject.com/Articles/872477/Assembler-for-AMD-s-GCN-GPU

このプロジェクトの目的は、空のカーネルを使用して、代わりにバイナリバイトをスワップしてから代わりに実行することです。 このプロジェクト...

1)GCNアセンブリを取り、その後、バイト配列(あなたはこの部分を必要としない)

2)に変換し、そのバイト配列を受け取り、その後、

でそれをパッチ3)バイナリを実行する

GPUのASMの部分が不要なので、おそらくプロジェクトを変更することができます。

AMD GPU用のDirectXバイナリを元のGCNソースに変換することについて可能な2番目の質問については、 GCNコードの実際の開始位置を特定するだけで済みます。私はあなたが上のプロジェクトのように見えるパターンがあると思います。開始点を見つけたら、分解可能なアセンブリを表示可能なアセンブリに変換する必要があります。そうでない場合は、AMD GCN ISAのマニュアルを使用してビットパターンを参照してください。 これが役立つことを願っています。

関連する問題