まず、ランタイムおよびスループット パフォーマンスを計測し、既存のプラットフォームで実行している現在のアプリケーションのボトルネックを特定します。これらのパフォーマンス数値は、アプリケーション全体だけでなく、アプリケーション内の主な関数ごとに生成する必要があります。最も効果的なのは、valgrind
、callgrind
および GNU gprof
などのプロファイリング ツールを使用してアプリケーションを実行する方法です。これらのツールで生成されるプロファイリング データには、すべての関数呼び出しの回数と実行時間を示すコールグラフが表示されます。これらの数値は、後続のほとんどの解析プロセスのベースラインとなります。実行時間が最も長い関数は、FPGA でのアクセラレーションの良い候補となります。