2010-11-26 21 views
1

FPGAとノーマルクォードx86コンピュータのアルゴリズムの実行速度を確認しています。FPGA計測の正確な時間

x86では、アルゴリズムを何度も実行し、OSのオーバーヘッドを排除するために中央値をとります。これはエラーからカーブを「消去」します。 これは問題ではありません。 FSMDはとにかくサイクルをカウントするのは簡単であるとFPGAのアルゴリズムで

尺度は、時間にサイクルを要し、その後のサイクルにあり、...

我々は、カウントサイクルがあまりにも「純粋な」尺度であり、だと思いますこれは理論的に行うことができ、実際の計測を行うか、実際のFPGAでアルゴリズムを実行する必要はありません。

私はリアルタイムの尺度を行うために紙やいくつかのアイデアが存在することを知りたいです。

答えて

4

FPGAインプリメンテーションが競争優位であることを確認しようとしているため、現実世界で役に立つかもしれない場合は、マルチプロセッサ対FPGA実装の**ウォールクロック時間**を比較することをお勧めします。これは、FSM +データパス(I/O遅延など)を超えたパフォーマンスの影響を見落とさないようにするのにも役立ちます。

報告サイクル数がの場合は、のみが代表値ではないことに同意します。これは、FPGAのサイクル時間が市販のマイクロプロセッサの10倍になる可能性があるためです。

追加の迷惑なアドバイスがあります。私は数多くのFCCM会議に出席しており、これと同様に、FPGA実装とCPU実装の性能比較論文の多くが何十件も聞きました。あまりにもしばしば、数ヶ月かかったカスタムFPGAの実装と、CPU +ソフトウェアの実装を比較して、ベンチマークのソースコードをベンチマークしてコンパイルして、ある午後に実行しただけです。そのようなプレゼンテーションは特に魅力的ではありません。

ベストプラクティス、インテルMKLまたはIPPなどのベストプラクティスを使用し、複数のコアでマルチスレッドを使用し、代わりにベクトルSIMD(SSE、AVXなど)を使用したソフトウェア実装を評価すると、プロファイラのようなツールを使って簡単に修正された無駄を排除し、Vtuneのようにキャッシュ+メモリの階層を理解して調整するスカラー計算を使用しました。また、実際にFPGAに費やされたエンジニアリング時間とソフトウェアの実装時間について報告してください。

その他の無料のアドバイス:結果/ジュールが1秒あたりの結果を上回るようなエネルギー集中型の時間では、実装のエネルギー効率を報告することも検討してください。

その他の無料のアドバイス:「クアッドx86」で再現性の高い時間を得るには、マシンを停止し、バックグラウンドプロセッサ、デーモン、サービスなどをシャットダウンし、ネットワークを切断してください。

ハッピーハッキング!

関連する問題