5

私は GPU プログラミングの初心者であり、brook+ 言語を使用して ATI Stream Processor でブルート フォース RAR パスワード リカバリに取り組んでいますが、brook+ 言語で記述されたカーネルでは通常の関数 (カーネル関数を除く) の呼び出しが許可されていないことがわかります。私の質問は:

1) この状況で unrar.dll (アーカイブ ファイルを unrar する) API を使用する方法は? これが RAR パスワード回復をプログラムする唯一の方法ですか?

2) GPU を使用するクラックと ElcomSoft ソフトウェアはどうですか?

3) このプログラムの GPU (ATI ストリーム プロセッサまたは CUDA) 内で機能する関数の役割は正確には何ですか?

4) nVidia/CUDA テクノロジは、ATI/brook+ 言語よりも簡単/柔軟ですか?

4

1 に答える 1

2

1) unrar.dll はコンパイル済みのダイナミック リンク ライブラリです。これらは CPU 上で実行されます。GPU はマシン コードが大きく異なり、実行モデルも大きく異なるため、DLL を実行できません。

イベントを介して GPU から CPU へのコールバックを実装したり、GPU で x86 インタープリターを構築したりすることもできますが、これらはほぼ確実に CPU で実行するよりも遅くなります。

unrar.dll を使用することが、RAR パスワード回復をプログラムする唯一の方法ではありません。代わりに、CPU と GPU 用の独自のコードをゼロから作成することもできます。

2) これらは、GPU コードを GPU 上で実行するように CPU コードに明示的に要求させることで機能します。

3) 正確にはわかりません。ただし、多くの異なる組み合わせを試す GPU プログラムがあり、これらを並行して実行することでメリットが得られると思います。

4) CUDA は brook+ よりも成熟しています。brook+ は、単純なタスクについては同じくらい簡単かもしれませんが、完全な機能ではありません。新しいプロジェクトでは、ほとんどの人が brook+ よりも OpenCL を選択するようになりました。

(あなたが何をしようとしているのかはわかりませんが、上記のいずれも不吉なことを可能にする可能性は低いと思われます。)

于 2010-06-18T00:24:55.070 に答える