質問

ハードウェアのシミュレーションを加速するためにGPGPUを使用できるかどうかを調査しています。私の推論はこれです:本質的にハードウェアは非常に類似しているので、なぜ非常に順次CPUでシミュレートするのですか?

GPUは、制限的なスタイルのプログラミングに最適です。単一のカーネルランニングなどがあります。

GPGPUプログラミングの経験はほとんどありませんが、OpenCL / CUDAでイベントやキューを使用することは可能ですか?

編集:ハードウェアシミュレーションでは、エミュレーションを意味するのではなく、ビットアキュラートビーボリルシミュレーション(VHDL行動シミュレーションのように)。

役に立ちましたか?

解決

GPUのVHDLシミュレーションに関するアプローチ(または個別のイベントシミュレーションをマッピングする一般的なスキーム)に関するアプローチを知っていませんが、そこに それは ディスクリートイベントシミュレーションが通常適用され、どの特定のアプリケーション領域が適用され、どのアプリケーション領域が適用されます できる GPUで効率的にシミュレートされます(例:輸送ネットワークなどのように この紙 また これです, 、または化学システムの確率的シミュレーション、で行われるように この紙).

個別の時間ステップのシミュレータを実行可能にする方法で問題を再形成することは可能ですか?この場合、GPUのシミュレーションははるかに単純でなければなりません(そして、時間の手順が十分に小さくなければならないので、無駄に思えたとしても、まだより速いです - 参照 この紙 たとえば、Cellular AutomataのGPUベースのシミュレーションで)。

ただし、これはまだ可能性が高いことに注意してください 非自明な(研究)問題, 、そして一般的なスキームがない理由(まだ)はあなたがすでに想定しているものです:GPUにイベントキューを実装することは困難であり、GPUでのほとんどのシミュレーションがアプローチします。 巧妙なメモリレイアウトアプリケーション固有 最適化と問題の変更。

他のヒント

これは私の専門分野の外にありますが、次の論文では行動シミュレーションではなくゲートレベルのシミュレーションについて説明しているようですが、いくつかの有用なアイデアが含まれている可能性があります。

Debapriya Chatterjee、Andrew Deorio、Valeria Bertacco。 GPUコンピューティングによるゲートレベルのシミュレーションhttp://web.eecs.umich.edu/~valeria/research/publications/todaes0611.pdf

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top