![]() |
ベクトル化、スレッド化のプロトタイプを作成し、パフォーマンス向上を支援
|
- このページでは、https://software.intel.com/en-us/intel-advisor-xe/ の内容をもとに、製品に関連する記事や参考資料へのリンクをまとめています。
- 本製品は単体販売しておりません。インテル® oneAPI ツールキットに同梱されています。
- 関連記事
- リソース
- FAQ
関連記事
関連記事一覧
- インテル® Advisor ユーザー向けベクトル化リソース
- インテル® Advisor リリースノートと新機能
- GPU ルーフラインを使用して最適化の可能性を特定
- インテル® Advisor クックブック
- GPU ルーフラインで SYCL* アプリケーションを解析
- GPU に移植した C++ アプリケーションのパフォーマンスをモデル化
- 異なる GPU デバイスの GPU アプリケーション・パフォーマンスをモデル化
- インテル® Advisor チュートリアル: まとめ
- インテル® Advisor チュートリアル: 実際のボトルネックの特定
- インテル® Advisor チュートリアル: 計算能力のボトルネックへの対応
- インテル® Advisor チュートリアル: メモリー帯域幅のボトルネックへの対応
- インテル® Advisor チュートリアル: ルーフライン解析の実行
- インテル® Advisor チュートリアル: Visual Studio* IDE: サンプル・アプリケーションの準備
- インテル® Advisor チュートリアル: スタンドアロン GUI: サンプル・アプリケーションの準備
- インテル® Advisor チュートリアル: ルーフラインの使用例
- インテル® Advisor チュートリアル: 自動ルーフライン・グラフを使用して最適化の方針を決定
- インテル® oneAPI ベース・ツールキットを使用した GPU アプリケーションの最適化
- リアルタイム 3D 心臓電気生理学シミュレーションのベクトル化を最適化
- ターゲット GPU での C++ アプリケーションのスピードアップを予測
- コードを GPU にオフロードする
- インテル® Advisor 2021 ユーザーガイド日本語版の公開
- インテル® Advisor 導入ガイド
- インテル® Advisor ユーザー向けルーフライン・リソース
- インテル® Advisor のメモリーレベルのルーフライン・モデル
- インテル® Advisor 2020 導入ガイド
- インテル® Advisor の新機能
- インテル® Advisor クックブック: リモートシステム上でパフォーマンスを解析してローカル macOS* システム上で結果を表示
- インテル® Advisor クックブック: MPI アプリケーションのベクトル化とメモリーアクセスを解析
- インテル® Advisor クックブック: GPU にオフロードするコード領域を特定して GPU の使用状況を可視化
- インテル® VTune™ Amplifier のプラットフォーム・プロファイラーを使用したワークロードとシステムの特徴付け
- インテル® Advisor 2019 の新機能
- インテル® Advisor クックブック: ルーフラインでパフォーマンス改善を視覚化
- インテル® Advisor クックブック: Cray* システムのパフォーマンス解析
- インテル® Advisor クックブック: Amazon Web Services* (AWS*) EC2* インスタンスのパフォーマンス解析
- インテル® Advisor クックブック: ボトルネックの繰り返しを特定: キャッシュを考慮したルーフライン
- インテル® Advisor の統合ルーフライン・モデル
- インテル® Advisor クックブック: ループ交換とキャッシュ・ブロッキングによりメモリー・アクセス・パターンを最適化
- インテル® Advisor を使用してメモリーのボトルネックを排除
- インテル® Advisor の整数ルーフライン・モデル
- ベクトル化の効率を把握する
- インテル Parallel Universe 36 号日本語版の公開
- インテル® Advisor 2019 for Windows* をお使いの皆様
- インテル® Advisor Python* API を使用したパフォーマンス向上の考察
- インテル Parallel Universe 35 号日本語版の公開
- OpenMP* とインテル® TBB タスクグラフ: インテル® Advisor のフローグラフ・アナライザーで問題を解明する
- インテル® Advisor のパフォーマンス・データ収集制御 API の使い方
- インテル® Advisor 2018 アップデート情報
- インテル® VTune™ Amplifier、インテル® Advisor、およびインテル® Inspector を異なる OS で使用する
- インテル Parallel Universe 31 号日本語版の公開
- インテル® Advisor: ベクトル化アドバイザー用語集
- インテル® Advisor とインテル® Trace Analyzer により天体物理学シミュレーションのパフォーマンスが 3 倍向上
- インテル® Advisor を利用したガイド付きコードのベクトル化
- キャッシュを考慮したルーフライン解析を使用してベクトル化とメモリーの最適化を詳しく調査する
- インテル® Advisor 2017 ツールによるベクトル化のクイック解析
- インテル® AVX-512 ハードウェアを使用することなくインテル® AVX-512 を最適化する (全 2 回)
- インテル Parallel Universe 27 号日本語版の公開
- インテル® Advisor のルーフライン解析
- インテル® Advisor XE 2016 を利用したコードのベクトル化
- インテル® Advisor コマンドラインと MPI
リソース
サポート
-
コミュニティーに問い合わせ
Forums (英語) からほかのユーザーやエキスパートに問い合わせできます。
-
インテル社の製品サポートに英語で問い合わせ
Online Service Center (英語) ではインテル社のサポートチームにお問い合わせいただけます。最初に製品登録を行ってください。
-
エクセルソフト社の技術サポートに日本語で問い合わせ
ユーザー登録完了後、技術サポート受付フォームよりお問い合わせください。
ドキュメント
- 導入ガイド (英語): インテル® Advisor の基本的な使い方。
- インテル® Advisor ユーザーガイド (英語)
- インテル® Advisor リリースノート (英語)
- インテル® Advisor クックブック
サンプルコード
- 行列乗算 (英語)
- N 体シミュレーション (英語)
FAQ
よくある問い合わせ
-
インテル® Advisor 2016 は 2 つのツールを提供します: ベクトル化アドバイザーとスレッド化アドバイザー。ベクトル化アドバイザーは、ベクトル化により恩恵を得られるループを特定し、効率良いベクトル化を妨げる原因を特定し、代替のデータ再構成を探し出し、そしてベクトル化の安全性を高めるツールです。スレッド化アドバイザーは、通常の開発作業を中断することなくスレッドの解析、チューニング、設計のチェックを可能にするスレッドの設計とプロトタイプ化ツールです。
-
さまざまな習得スタイルに対応するため、各種ツールを提供します。
利用可能な解析タイプ、前提条件 (適切なアプリケーションのビルド方法)、環境設定、生産性を高める利用シナリオ、注目すべき場所のヒント、トラブルシューティング情報、そのほかのドキュメント・リソースの詳細については、「インテル® Advisor 導入ガイド」をご覧ください。
各種ビデオ、チュートリアル、オンライン・トレーニングなどについては、サポート/トレーニングタブをご覧ください。
-
インテル® Advisor のサポートとフィードバックはどのように行われますか?
サポートタブをご覧ください。
ベクトル化アドバイザー
-
ベクトル化アドバイザーは、シリアルとマルチスレッド・バイナリーの両方を実行できますか?
はい。スレッド化アドバイザーとは異なり、ベクトル化アドバイザーはシリアルとマルチスレッド・バイナリーで任意に動作します。
-
ベクトル化アドバイザーを使用するにはアノテーションは必須ですか?
いいえ。スレッド化アドバイザーとは異なり、ベクトル化アドバイザーはコードを変更することなく解析を行うことができます。サーベイレポート中のチェックボックスを使用して詳しく調査するループを選択します。
注: 最初にアプリケーションのサーベイを行っていない場合、依存性と (もしくは) メモリー・アクセス・パターン (MAP) 解析を実行する場合ソースにアノテーションを追加する必要があります。
-
ベクトル化アドバイザーの実行時間を減らすにはどうしたらいいですか?
サーベイ解析は貫入型ではないため、アプリケーションの実行時間を大きく低下させることはありません。しかし、依存性とメモリー・アクセス・パターン (MAP) 解析ではオーバーヘッドが大きくなります。アプリケーション実行時間の低下に対応するには、いくつかの方法があります。
例えば、ワークロードを減らすのもその 1 つです。アプリケーションにどのように依存するか: 少ないデータを処理する、計算を簡単にするなど。
もしくは、サーベイとほかの解析に異なる Project Properties 設定を使用します。デフォルトでは、サーベイ解析の設定のみで十分ですが、コマンドラインの引数でワークロードを制御する場合、異なる解析タイプごとにコマンドライン設定を準備することができます。
もしくは、詳細な解析向けに選択したループの回数を減らします。
または、解析中に Refinement Reports ウィンドウを見て、VECTORIZATION WORKFLOW の Stop ボタンを押して、対象となるループが終了したら解析を中断できます。
-
ベクトル化アドバイザーは、どのようにサーベイ、ループ回数、そしてメモリー・アクセス・パターン (MAP) 解析の結果をファイルレベルで関連付けるのですか?
ベクトル化アドバイザーは、結果のバージョンを複雑な構造で管理します。すべての解析結果は、experiment フォルダーに保存されます。通常、それは e000 と呼ばれます。基本となる解析タイプはサーベイです。そのほかすべての解析タイプはサーベイ解析の結果に依存しますが、お互いに依存するわけではありません。異なる解析タイプは、ターゲット・アプリケーションのバイナリーアドレスでマッチングされます。
これは、より詳細な解析 (依存性や MAP) 向けにサーベイレポートでループを選択した場合、ループはバイナリーのアドレスで識別されることを意味します。サーベイと依存性/MAP 解析中にバイナリーを変更 (再ビルド) すると、連携が失われ不正な結果を報告します。ループ回数のカウントでも同様です。そのため、バイナリーを変更した場合、ほかの解析タイプを実行する前にサーベイ解析を行ってください。
スレッド化アドバイザー
-
スレッド化アドバイザーは、シリアルとマルチスレッド・バイナリーで実行できますか?
いいえ。シリアルとマルチスレッドの両方のバイナリーで任意に動作するベクトル化アドバイザーとは異なり、スレッド化アドバイザーは、特に Suitability (適合性) 解析といくつかの依存性解析では、シリアルバイナリーでのみ動作します。
注意: OpenMP* バイナリーは、-qopenmp-stubs (Linux*) 、/Qopenmp-stub (Windows*) オプションで再コンパイルすることでマルチスレッド・バイナリーをシリアルに変換できます。
-
スレッド化アドバイザーを使用するにはアノテーションは必須ですか?
一般的に言うと、必要です。アノテーションは、スレッド化アドバイザーにスレッドの設計を伝達する簡潔な方法です。これにより、スレッド化アドバイザーは設計を評価して、パフォーマンスのゲインを予測し、同期の問題を特定できるようになります。
良いニュース: アノテーションをコンパイラーは無視するため、コードの振る舞いを変えることはありません。通常の開発業務とテストを行いながら、いくつかのスレッドの設計を評価する際に、スレッド化のエラーに遭遇したり、テストケースを無駄にしないことを確認できます。
インテル® Advisor (ベクトル化アドバイザーとスレッド化アドバイザーの両方)
-
コマンドラインでインテル® Advisor を実行するにはどうすればいいですか?
コマンドラインと MPI をご覧ください。また、WORKFLOW ペインにある Command Line リンクから、解析タイプとプロジェクト設定向けのコマンドラインを生成できます。
-
インテル® Advisor でMPI アプリケーションを実行するにはどうすればいいですか?
コマンドラインと MPI と インテル® MPI ライブラリー・リファレンス・マニュアル (英語、Intel® Software Documentation Library で入手できます) をご覧ください。
-
インテル® Advisor の結果はどのように保存できますか?
デフォルトでは、インテル® Advisor は最新の結果のみを保存します。つまり、サーベイ解析 (またはほかの解析) を 2 度行った場合、最新の結果のみを表示でき、以前の結果に戻す方法はありません。Snapshot (カメラ) アイコンを使用して、手動でインテル® Advisor の結果を読み込みのみ可能形式で experiment フォルダーに保存でき、いつでも参照できます。新しい Snapshot 機能は以前の Snapshot を上書きしません。Project Navigator を使用して Snapshot にアクセスできます。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。