パフォーマンス ボトルネックの検出 - 2020.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese

純粋な順次アプリケーションの場合、プロファイリング レポートを確認すると、簡単にパフォーマンス ボトルネックを確認できますが、実際によく使用されるアプリケーションはマルチスレッドなので、パフォーマンス ボトルネックを確認するには、並列処理の影響を考慮することが重要となります。

次の図に、2 つの並列パスを使用したアプリケーションのパフォーマンス プロファイルを示します。各矩形の幅は、各関数のパフォーマンスに比例します。

図 1. 2 つの並列パスを使用したアプリケーション

上の図の例では、2 つのパスのうちの 1 つだけをアクセラレーションしても、アプリケーション全体のパフォーマンスは改善しません。パス A および B は再合流するので、これらの終了は互いに依存しています。同様に、A2 を 100 倍にアクセラレーションしたとしても、上のパスのパフォーマンスにはそれほど影響しません。このため、この例のパフォーマンス ボトルネックは関数 A1、B1、B2、および B3 です。

アクセラレーションの候補を探す場合は、個別の関数のパフォーマンスだけでなく、アプリケーション全体のパフォーマンスを考慮してください。