共通ボトルネックの検出チュートリアルは完了しています。インテル® VTune™ プロファイラーを使用してコードのホットスポットとハードウェアの問題を解析する際に覚えておくべき重要な事項を以下に示します。
ステップ |
チュートリアルの内容 |
チュートリアルの重要なポイント |
|---|---|---|
1.ボトルネックを検出 |
パフォーマンス・スナップショットから始めて、主な制限の要因と最適化の次のステップを特定します。
|
|
2.問題を修正してアプリケーションを再コンパイル |
コードを編集し、アプリケーションを再コンパイルして、キャッシュに適さない DRAM アクセスパターンを排除しました。 これにより、アプリケーションの実行時間が大幅に短縮されました。 コンパイラーのオプションがベクトル化にどのように影響するか確認するため、異なる最適化レベルを使用するようにコンパイラー・オプションを設定しました。 |
|
3.ベクトル化の問題を解決 |
異なる最適化レベルでアプリケーションを再コンパイルし、コードがベクトル化されました。 ただし、パフォーマンス・スナップショットを使用しているときに、128 ビットのベクトルレジスターのみが使用され、256 ビットレジスターはまったく使用されていないことに気付きました。 HPC パフォーマンス特性解析を使用すると、古い命令セット拡張である SSE2 ベクトル命令セット拡張が使用されていることが判明しました。ハードウェア・リソースの一部が十分に活用されていません。 プラットフォームを機能に活用するようにベクトル化されたことを確認するため、異なるオプションを使用してアプリケーションを再コンパイルしました。 |
|
4.マイクロアーキテクチャー使用の解析 |
パフォーマンス・スナップショットの推奨に従って、マイクロアーキテクチャー全般解析により次の最適化手順を特定しました。 この解析タイプを使用すると、アプリケーションをさらに最適化する最善の方法はキャッシュ・ブロッキング手法であることがわかりました。 |
|
5.ワークの確認 |
Compare Results 機能を使用して、さまざまな最適化段階でアプリケーションのパフォーマンスを比較しました。 |
最適化前後の解析結果を比較して、定期的な回帰テストを行います。GUI から、インテル® VTune™ プロファイラー・ツールバーの [Compare Results] ボタンをクリックします。コマンドラインから vtune コマンドを実行します。 |