インテル® Advisor 導入ガイド
この記事は、インテル® デベロッパー・ゾーンに公開されている「Get Started with Intel® Advisor」の日本語参考訳です。
インテル® Advisor は、Fortran、C および C++ アプリケーションがインテル® Xeon® プロセッサーおよびインテル® Xeon Phi™ プロセッサーなど現代のプロセッサーの潜在的なパフォーマンスを最大限に引き出すことを支援する以下のツールを提供します。
- ベクトル化アドバイザーは、影響が大きく最適ではないループ、ベクトル化を妨げる原因、およびベクトル化を安全に強制できる場所を特定する、ベクトル化の最適化ツールです。また、コード固有の問題を解決する方法を示す推奨事項を提供します。
- スレッド化アドバイザーは、通常の開発作業を中断することなくスレッドの解析、チューニング、設計のチェックを可能にするスレッドの設計とプロトタイプ生成ツールです。
- フローグラフ・アナライザーは、インテル® スレッディング・ビルディング・ブロック (インテル® TBB) のフローグラフ・インターフェイスを使用する、アプリケーションのパフォーマンスを表現および解析する視覚的なプロトタイプ生成ツールです。
このドキュメントでは、インテル® Advisor を使用する典型的なベクトル化アドバイザーとスレッド化アドバイザーのワークフローをまとめています。フローグラフ・アナライザーの一般的なワークフローについては、『フローグラフ・アナライザー・ユーザー・ガイド』 (英語) をご覧ください。
- GUI: ベクトル化により最も恩恵が得あれる場所やさらに効率良くベクトル化できる場所を特定
ベクトル化アドバイザー・ツール。低い実行オーバーヘッド。統合されたコンパイラーのレポートとパフォーマンス・データを 1 カ所で分かりやすく表示し、コードの改善に関する決定を下すため、さらに深く調査する必要があるか判断するのに役立ちます。 - GUI: 実際のアプリケーションのパフォーマンスに対する、ハードウェアによるパフォーマンスの制限を視覚化するグラフベースの解析であるルーフラインを使用してパフォーマンスのボトルネックを特定
ベクトル化アドバイザー・ツール。高い実行オーバーヘッド。メモリー帯域幅や計算能力を検証して、パフォーマンスを妨げる主な要因を調査することを支援します。これにより、最適化ステップの理想的なロードマップが示されます。 - GUI: スレッド化のプロトタイプを作成
スレッド化アドバイザー・ツール。中から高い実行オーバーヘッド。モデル化とそれに対応する並列データ共有問題の予測を示します。 - CLI/MPI/GUI: macOS* マシン上でインテル® Advisor の結果を表示
ベクトル化アドバイザーとスレッド化アドバイザー・ツール。クラスターなど視覚化とデータ操作の機能が制限されたリモートマシン上でデータを収集し、その結果を macOS* マシンのインテル® Advisor GUI 上で表示できます。 - CLI/MPI: インテル® Advisor のワークフローを自動化
ベクトル化アドバイザーとスレッド化アドバイザー・ツール。
解析を始める前に
インテル® Advisor を使用する前に次のことを確認します。
- 最も正確で完全な解析結果を得られる設定を使用して、リリースモードでアプリケーションの最適化されたバイナリーをビルドします。
- インテル® Advisor で解析を始める前に、生成されたバイナリーが正しく動作することを確認してください。
操作 | 対象ツール | 最適な C/C++ 設定 |
---|---|---|
完全なデバッグ情報 (コンパイラーとリンカー) を生成する | ベクトル化アドバイザー
スレッド化アドバイザー |
Linux* コマンドライン: -g
Windows* コマンドライン:
Microsoft* Visual Studio* IDE:
|
適度な最適化を適用する | ベクトル化アドバイザー
スレッド化アドバイザー |
Linux* コマンドライン: -O2 以上
Windows* コマンドライン:
Visual Studio* IDE:
|
コンパイラーの診断レポートを生成する (インテル® コンパイラーのバージョン 15.0 で必要です。16.0 以降では必要ありません。) | ベクトル化アドバイザーのみ | Linux* コマンドライン: -qopt-report=5
Windows* コマンドライン: /Qopt-report:5 Visual Studio* IDE: [C/C++] > [診断 [インテル(R) C++]] > [最適化診断レベル] > [レベル 5 (/Qopt-report:5)] |
ベクトル化を有効にする | ベクトル化アドバイザーのみ | Linux* コマンドライン: -vec
Windows* コマンドライン: /Qvec |
SIMD ディレクティブを有効にする | ベクトル化アドバイザーのみ | Linux* コマンドライン: -simd
Windows* コマンドライン: /Qsimd |
OpenMP* ディレクティブに基づいてマルチスレッド・コードを生成できるようにする | ベクトル化アドバイザーのみ | Linux* コマンドライン: -qopenmp
Windows* コマンドライン: /Qopenmp Visual Studio* IDE: [C/C++] > [言語 [インテル(R) C++]] > [OpenMP* サポート] > [並列コードの生成 (/Qopenmp)] |
インテル® Advisor のアノテーション定義に関連する追加ディレクトリーを検索する | スレッド化アドバイザーが主ですが、ベクトル化アドバイザーのリファインメント解析にも役立ちます | Linux* コマンドライン: – I${ADVISOR_[product_year]_DIR}/include
Windows* コマンドライン: /I”%ADVISOR_[product_year]_DIR%”\include Visual Studio* IDE: [C/C++] > [全般] > [追加のインクルード・ディレクトリー] > [$(Advisor[product_year]_DIR)\include;%(AdditionalIncludeDirectories)] |
マルチスレッド化されたダイナミック・リンク・ライブラリーで未定義の参照を検索する | スレッド化アドバイザーのみ | Linux* コマンドライン: -Bdynamic
Windows* コマンドライン: /MD または /MDd Visual Studio* IDE: [C/C++] > [コード生成] > [ランタイム・ライブラリー] > [マルチスレッド DLL (/MD)] または [マルチスレッド・デバッグ DLL (/MDd)] |
動的ロードを有効にする | スレッド化アドバイザーのみ | Linux* コマンドライン: -ldl |
操作 |
対象ツール |
最適な Fortran 設定 |
完全なデバッグ情報 (コンパイラーとリンカー) を生成する | ベクトル化アドバイザー
スレッド化アドバイザー |
Linux* コマンドライン: -g
Windows* コマンドライン:
Visual Studio* IDE:
|
適度な最適化を適用する | ベクトル化アドバイザー
スレッド化アドバイザー |
Linux* コマンドライン: -O2 以上
Windows* コマンドライン:
Visual Studio* IDE:
|
コンパイラーの診断レポートを生成する (インテル® コンパイラーのバージョン 15.0 で必要です。16.0 以降では必要ありません。) | ベクトル化アドバイザーのみ | Linux* コマンドライン: -qopt-report=5
Windows* コマンドライン: /Qopt-report:5 Visual Studio* IDE: [Fortran] > [診断 [Intel C++]] > [最適化診断レベル] > [レベル 5 (/Qopt-report:5)] |
ベクトル化を有効にする | ベクトル化アドバイザーのみ | Linux* コマンドライン: -vec
Windows* コマンドライン: /Qvec |
SIMD ディレクティブを有効にする | ベクトル化アドバイザーのみ | Linux* コマンドライン: -simd
Windows* コマンドライン: /Qsimd |
OpenMP* ディレクティブに基づいてマルチスレッド・コードを生成できるようにする | ベクトル化アドバイザーのみ | Linux* コマンドライン: -qopenmp
Visual Studio* IDE: [Fortran] > [言語] > [OpenMP ディレクティブの処理] > [並列コードの生成 (/Qopenmp)] |
インテル® Advisor のアノテーション定義に関連する追加ディレクトリーを検索する | スレッド化アドバイザーが主ですが、ベクトル化アドバイザーのリファインメント解析にも役立ちます | Linux* コマンドライン:
Windows* コマンドライン:
Visual Studio* IDE:
|
マルチスレッド化されたダイナミック・リンク・ライブラリーで未定義の参照を検索する | スレッド化アドバイザーのみ | Linux* コマンドライン: -shared-intel
Windows* コマンドライン: /MD または /MDd Visual Studio* IDE: [Fortran] > [ライブラリー] > [ランタイム・ライブラリー] > [マルチスレッド DLL (/libs:dll /threads)] または [デバッグ用マルチスレッド DLL (/libs:dll /threads /dbglibs)] |
動的ロードを有効にする | スレッド化アドバイザーのみ | Linux* コマンドライン: -ldl |
ベクトル化が最も有効な場所を特定
このセクションでは、インテル® Advisor のサーベイ解析の使用方法を説明します。この単一解析のベクトル化アドバイザー・ワークフローを使用する利点は、実行時のオーバーヘッドが低いことです。しかし、改善の意思決定には十分なデータを提供できないため、ほかのワークフローを使用してさらに調査する必要があるかもしれません。
サーベイレポート – ベクトル化により最も利益を得られる場所、ベクトル化されたループにより利点が得られるかどうかと利点が得られない場合はその理由、ベクトル化できなかったループとその理由、そして一般的なパフォーマンスの問題を示す、統合されたコンパイラーの最適化レポートとパフォーマンス・データを提供します。
環境の設定
環境 | 設定手順 |
---|---|
インテル® Parallel Studio XE/Linux* |
|
インテル® Parallel Studio XE/Windows* | 注:
Windows* 環境の設定は、advixe-cl コマンドでコマンドライン・インターフェイスを実行する場合、または GUI アイコンや IDE からの起動オプションの代わりに advixe-gui コマンドでインテル® Advisor スタンドアロン GUI を起動する場合にのみ必要です。 次のいずれかを行います。
|
インテル® System Studio | 注:
環境の設定は、advixe-cl コマンドでコマンドライン・インターフェイスを実行する場合、または GUI アイコンや IDE からの起動オプションの代わりに advixe-gui コマンドでインテル® Advisor スタンドアロン GUI を起動する場合にのみ必要です。 環境を設定するため、<advisor-install-dir>\advixe-vars.bat バッチファイルを実行します。デフォルトのインストール先 <advisor-install-dir> は、C:\Program Files (x86)\IntelSWTools\ です (一部のシステムでは Program Files (x86) のディレクトリー名が Program Files となります)。 |
インテル® Advisor を起動してプロジェクトを作成
起動するには以下の操作を行います。
- インテル® Parallel Studio XE/インテル® Advisor スタンドアロン GUI:
- Linux*: advixe-gui コマンドを実行します。
- Windows*: Microsoft* Windows* の [すべてのアプリ] 画面から、[Intel Parallel Studio XE 201n] > [Intel Advisor 201n] を選択します。
- インテル® System Studio /インテル® Advisor スタンドアロン GUI: IDE メニューから、[Tools] > [Intel Advisor] > [Launch Intel Advisor] を選択します。
- Visual Studio* IDE のインテル® Advisor 統合: Visual Studio* IDE でソリューションを開きます。
インテル® Advisor のプロジェクトを作成するには、以下の操作を行います。
- 次のいずれかを行います。
- スタンドアロン GUI: [ファイル] > [新規] > [プロジェクト…] を選択して、[プロジェクトを作成] ダイアログボックスを開きます。[プロジェクト名] と [場所] 指定して、[プロジェクトの作成] ボタンをクリックすると [プロジェクトのプロパティー] ダイアログボックスが開きます。
- Visual Studio* IDE: [プロジェクト] > [Intel Advisor 201n] を選択して、[プロジェクトのプロパティー] ダイアログボックスを開きます。
- [解析ターゲット] タブの左で、[サーベイ・ホットスポット解析] タイプが選択されていることを確認します。(バイナリー/シンボル検索とソース検索ディレクトリーの設定は、ベクトル化アドバイザーではオプションです。)
サーベイ解析の実行
アプリケーション実行中にサーベイデータの実行を制御するには、[ベクトル化ワークフロー] の [サーベイターゲット] にある、 をクリックします。サーベイが完了すると、インテル® Advisor は次のような [サーベイレポート] を表示します。
Visual Studio* IDE に [ワークフロー] が表示されない場合、インテル® Advisor ツールバーの アイコンをクリックします。
最も重要なデータに注目できるように、次のような多くのコントロールが用意されています。
ループの調査
すべてのループが適切にベクトル化され、パフォーマンス目標に到達したら、作業完了です。
いくつかのループがベクトル化されず、パフォーマンス目標に到達していない場合は、以下を考慮してください。
- インテル® Advisor のさまざまな機能を使用してアプリケーションのパフォーマンスを向上させます。
-
[パフォーマンスの問題] カラムと関連する
[推奨事項] タブの情報
スクリーンショットの右側には、ループに関する各種推奨事項がリスト表示されています。左の展開/折りたたみ可能な推奨事項には、ベクトル長やトリップカウントなど解析されたループ固有の情報が表示されます。推奨アイコン中の横棒の数 (最大 3 本) は、この推奨の修正すべき確度を示します。
- インテル® Advisor のヘルプの「サーベイ解析を実行した後にすべきことは?」 (英語) に示される推奨。
- さらに詳しく調査するオプションの依存関係とメモリー・アクセス・パターン (MAP) 解析。
-
- 変更したコードをリビルドします。
- すべてのループが適切にベクトル化され、パフォーマンス目標に到達したことを検証するため、サーベイ解析を再度実行します。
ルーフラインを使用してパフォーマンスのボトルネックを特定
このセクションでは、ベクトル化アドバイザーの解析をルーフラインから開始する方法を示します。複数の解析を実行するこのベクトル化アドバイザー・ワークフローの利点は、理想的な最適化ステップを提示する可能性があることです。しかし、次のような高い実行オーバーヘッドが生じます。
- ルーフライン解析の実行オーバーヘッドは、ネイティブのターゲット・アプリケーション実行よりも 3 – 8 倍大きくなります。
- メモリー・アクセス・パターン (MAP) 解析の実行オーバーヘッドは、5 – 20 倍です。
- 依存関係解析の実行オーバーヘッドは、5 – 100 倍です。
ルーフライン解析 – ハードウェアによって制限されるパフォーマンスの上限に対して、制限の主な要因 (メモリー帯域幅や計算能力) を検証し実際のパフォーマンスを可視化するのを支援します。ルーフライン解析を実行すると、インテル® Advisor は次のことを行います。
- サーベイ解析を実行して、マシンのハードウェアの制限を測定し、ループ/関数のタイミングを収集します。
- トリップカウントと FLOP 解析を実行して、浮動小数点と整数操作のデータおよびメモリーデータを収集します。
依存関係解析 – コンパイラーが依存関係を想定したため、ベクトル化されなかったループの実際のデータ依存関係を確認します。
メモリー・アクセス・パターン (MAP) 解析 – 不連続なメモリーアクセスや、ユニットストライドと非ユニットストライドなアクセスなど、多様なメモリーアクセスの問題を調査するため、MAP 解析を実行します。
ルーフライン・グラフについて
[ルーフライン] グラフは、マシンが 達成可能な最大パフォーマンスに対し、アプリケーションが達成したパフォーマンスと演算強度 を表示します。
- 演算強度 (x 軸) – CPU/VPU とメモリー間で転送された、ループ/関数アルゴリズムに基づくバイトあたりの浮動小数点操作 (FLOP) または整数操作 (INTOP) の数です。
- パフォーマンス (y 軸) – 1 秒あたりのギガ単位の浮動小数点操作の数 (GFLOPS)、または 1 秒あたりのギガ単位の整数操作の数 (GINTOPS) です。
一般に次のことが言えます。
- [ルーフライン] グラフの点の大きさと色は、各ループ/関数の相対的な実行時間を示します。大きな赤い点は最も時間を消費しているため、最適化の最良の候補となります。小さな緑の点は消費時間が少ないため、最適化する必要はないと考えられます。
- [ルーフライン] グラフの斜線は、最適化なしではループ/関数がパフォーマンスを向上できない、メモリー帯域幅の上限を示します。例えば、[L1 帯域幅] ルーフラインは、ループが常に L1 キャッシュにヒットする場合に、ある演算強度で実行可能な最大ワーク量を示します。データセットによりループが頻繁に L1 キャッシュをミスする場合、ループは L1 の速度の恩恵を受けられず、実際にヒットする速度が遅い L2 キャッシュの制限を受けます。そのため、ループを示す点 (ドット) は、[L2 帯域幅] ルーフライン下に表示されます。
- [ルーフライン] グラフの水平線は、最適化なしではループ/関数がパフォーマンスを向上できない、計算能力の上限を示します。例えば、[スカラー加算ピーク] は、これらの状況下でスカラーループが実行可能な加算命令のピーク数を示します。[ベクトル加算ピーク] は、これらの状況下でベクトル化されたループが実行可能な加算命令のピーク数を示します。ループがベクトル化されていない場合、ループを示す点は [スカラー加算ピーク] ルーフラインの下に表示されます。
- 最上位のルーフラインはマシンの最大能力を示すため、点がこれらのルーフラインを超えることはありません。しかし、すべてのループがマシンの最大能力を活用できるわけではありません。
- 点と達成可能な最上位のルーフとの距離が遠いほど、パフォーマンス向上の可能性は高くなります。
次の [ルーフライン] グラフでは、ループ A と G (大きな赤い点)、そして B (小さな黄の点) が最適化の最良の候補となります。ループ C、D、E (小さな緑の点)、および H (黄の点) は、改善の余地がわずかであるため最適化に適していません。
インテル® Advisor の基本ルーフライン・モデルである、キャッシュ対応のルーフライン・モデル (CARM) は、セルフデータ機能を提供します。コールスタック付きのインテル® Advisor のルーフラインは、合計データ機能により基本モデルを拡張します。
- セルフデータは、ループ/関数自身に関連するメモリーアクセス、FLOP、および期間のみを示します。それらから呼び出されるほかのループ/関数で発生したデータは除外されます。
- 合計データは、ループ/関数自身とそこから呼び出される関数/ループからのデータの合計を示します。
コールスタック付きのルーフラインの合計データは次のような場合に有用です。
- ループや関数そのものではなく、ループや関数のソースを調査する場合。
- 呼び出される状況により動作が異なるループ/関数の正確なデータを取得したい場合。
- 小さなループ/関数によるパフォーマンス低下の原因の可能性である、呼び出しチェーンの上位にある設計の問題を明らかにする場合。
次の [ルーフライン] グラフは、コールスタック付きのルーフラインによってもたらされる追加の利点を示します:
- 選択されたループ/関数の呼び出しチェーン全体 (呼び出し先は除外) を、ナビゲーション可能な色分けされた [コールスタック] ペインに示します。
- 視覚的なインジケーター (矢印) でループと関数の関係 (呼び出し側と呼び出し先) を示します。
- いくつかの小さなループを 1 つにまとめて、多数の点 (ドット) があるグラフを単純化できます。
セルフデータを持たないループ/関数は、展開されるとグレー表示になり、折りたたむとカラー表示になります。セルフデータを含むループ/関数は、展開されるとデータに適した座標、サイズ、およびカラーで表示されますが、合計時間に関連するサイズは薄いグレーで表示されます。そのようなループ/関数が折りたたまれると、それらは合計時間に適したサイズとカラーで表示され、該当する場合は合計パフォーマンスと合計演算強度が反映されます。
[ルーフライン] グラフのコールスタック付きのルーフライン拡張を作成、表示、および解釈する方法の詳細については、「コールスタック付きルーフライン」 (英語) を参照してください。
[ルーフライン] グラフの表示にはいくつかのコントロールがあります。
1 | クリックして、[ルーフライン] グラフと [サーベイレポート] を切り替えることができます。 |
2 | クリックして、[ルーフライン] グラフと [サーベイレポート] を並べて表示と通常の表示を切り替えることができます。 |
3 | ドラッグして、[ルーフライン] グラフと [サーベイレポート] のサイズを調整できます。 |
重要なデータに注目するのに役立つ次のようなコントロールがあります。
環境の設定
環境 | 設定手順 |
---|---|
インテル® Parallel Studio XE/Linux* |
|
インテル® Parallel Studio XE/Windows* | 注:
Windows* 環境の設定は、advixe-cl コマンドでコマンドライン・インターフェイスを実行する場合、または GUI アイコンや IDE からの起動オプションの代わりに advixe-gui コマンドでインテル® Advisor スタンドアロン GUI を起動する場合にのみ必要です。 次のいずれかを行います。
|
インテル® System Studio | 注:
環境の設定は、advixe-cl コマンドでコマンドライン・インターフェイスを実行する場合、または GUI アイコンや IDE からの起動オプションの代わりに advixe-gui コマンドでインテル® Advisor スタンドアロン GUI を起動する場合にのみ必要です。 環境を設定するため、<advisor-install-dir>\advixe-vars.bat バッチファイルを実行します。デフォルトのインストール先 <advisor-install-dir> は、C:\Program Files (x86)\IntelSWTools\ です (一部のシステムでは Program Files (x86) のディレクトリー名が Program Files となります)。 |
インテル® Advisor を起動してプロジェクトを作成
インテル® Advisor を起動するには、以下の操作を行います。
- インテル® Parallel Studio XE/インテル® Advisor スタンドアロン GUI:
- Linux*: advixe-gui コマンドを実行します。
- Windows*: Microsoft* Windows* の [すべてのアプリ] 画面から、[Intel Parallel Studio XE 201n] > [Intel Advisor 201n] を選択します。
- インテル® System Studio /インテル® Advisor スタンドアロン GUI: IDE メニューから、[Tools] > [Intel Advisor] > [Launch Intel Advisor] を選択します。
- Visual Studio* IDE のインテル® Advisor 統合: Visual Studio* IDE でソリューションを開きます。
インテル® Advisor のプロジェクトを作成:
- 次のいずれかを行います。
- スタンドアロン GUI: [ファイル] > [新規] > [プロジェクト…] を選択して、[プロジェクトを作成] ダイアログボックスを開きます。[プロジェクト名] と [場所] 指定して、[プロジェクトの作成] ボタンをクリックすると [プロジェクトのプロパティー] ダイアログボックスが開きます。
- Visual Studio* IDE: [プロジェクト] > [Intel Advisor 201n] を選択して、[Project Properties…] を選択し、[プロジェクトのプロパティー] ダイアログボックスを開きます。
- [解析ターゲット] タブの左で、[サーベイ・ホットスポット解析] タイプが選択され、適切なパラメーターが設定されていることを確認します。
- ほかの解析タイプとタブで適切なパラメーターを設定します (バイナリー/シンボル検索とソース検索ディレクトリーの設定は、ベクトル化アドバイザーではオプションです)。
- 可能な場合、ほかの解析タイプで [サーベイ・ホットスポット解析から設定を引き継ぐ] チェックボックスをオンにします。
- [トリップカウントと FLOP 解析] タイプには、[サーベイ・ホットスポット解析] タイプと同様のパラメーターがあります。
- [依存関係解析] と [メモリー・アクセス・パターン解析] タイプは、[サーベイ・ホットスポット解析] タイプよりも多くのリソースを消費します。リファインメント解析の実行が長時間にわたる場合、ワークロードを減らすことを検討してください。
- すべての依存関係の可能性を検出するには、[依存関係解析] タイプで [スタック変数を追跡] を選択します。
ルーフライン解析の実行
[ベクトル化ワークフロー] の [ルーフライン] にある をクリックして、ターゲット・アプリケーションを実行します。完了すると、インテル® Advisor は [ルーフライン] グラフを表示します。
ルーフラインとコールスタック機能を実装するには、次の手順を実行します。
- [コールスタック付き] チェックボックスをオンにしてルーフライン解析を実行します。完了すると、インテル® Advisor は [ルーフライン] グラフを表示します。
- [ルーフライン] グラフで、 [コールスタック付き] を有効にします。
Visual Studio* IDE に [ワークフロー] が表示されない場合、インテル® Advisor ツールバーの アイコンをクリックします。
ループの調査
すべてのループが適切にベクトル化され、パフォーマンス目標に到達したら、作業完了です。
いくつかのループがベクトル化されず、パフォーマンス目標に到達していない場合は、以下を考慮してください。
- [ルーフライン] グラフの表示を解釈するため、関連するインテル® Advisor のビューを参照します。例えば、[サーベイサポート] の [ベクトル化されたループ]、[効率] または、[コード解析] タブのデータを確認します。
- インテル® Advisor のさまざまな機能を使用してアプリケーションのパフォーマンスを向上させます。
[パフォーマンスの問題] カラムと関連する
[推奨事項] タブの情報。
右側の目次には、ループに関する各種推奨事項がリスト表示されています。左の展開/折りたたみ可能な推奨事項には、ベクトル長やトリップカウントなど解析されたループ固有の情報が表示されます。推奨アイコン中の横棒の数 (最大 3 本) は、この推奨を修正すべき確度を示します。
[ベクトル化できない理由] カラムと関連する
[ベクトル化できない理由] タブの情報。
- インテル® Advisor のヘルプの「サーベイ解析を実行した後にすべきことは?」 (英語) に示される推奨。
さらに詳しい情報が必要であれば、次の調査を続行します。
依存関係解析の実行
依存関係解析を実行するには次の操作を行います。
- [サーベイレポート] の
カラムで、さらに詳しく解析するためベクトル化されていないループをマーク (選択) します。
- アプリケーション実行中に依存関係データを収集するには、[ベクトル化ワークフロー] の [依存関係の確認] にある、
をクリックします。
インテル® Advisor はデータ収集後、次のような依存関係に注目した [リファインメント・レポート] を表示します。
最も重要なデータに注目できるように、次のような多くのコントロールが用意されています。
1 | さらに詳しく解析するため選択したループの詳細情報を [依存関係レポート] に表示するには、関連するデータ行をクリックします。 |
2 | [コードの場所] ペインでコードの位置に関連する命令アドレスとコードを表示するには、データ行をクリックします。
[依存関係ソース] にウィンドウに表示する注目する問題を選択するには、データ行を右クリックして [ソースを表示] を選択します。 新しいタブ/ウィンドウでデフォルトエディターを開くには、データ行を右クリックし、[ソースを編集] を選択してエディタータブを開きます。 |
3 | [依存関係ソース] ウィンドウに表示する注目するコードの場所を選択するには、データ行を右クリックして [ソースを表示] を選択します。
新しいタブ/ウィンドウでデフォルトエディターを開くには、データ行を右クリックし、[ソースを編集] を選択してエディタータブを開きます。 |
4 | [フィルター] ペインでは、次の操作を行うことができます。
|
5 | これらのカラムと [メモリー・アクセス・パターン・レポート] にデータを表示するには、メモリー・アクセス・パターン解析を実行します。 |
[依存関係レポート] は以下を示します。
- ワークロードに実際の依存関係がないこと。この場合、インテル® Advisor のガイドに従って、コンパイラーに安全にベクトル化できることを知らせます。
- アンチ依存 (読み取り後の書き込み依存、または WAR とも呼ばれる) があること。この場合、インテル® Advisor のガイドに従ってベクトル化を有効にします。
コードを改善するためのガイドは、インテル® Advisor の [推奨事項] タブとインテル® Advisor ユーザーガイドの「サーベイ解析を実行した後にすべきことは?」 (英語) にあります。コードが改善されたら以下を行います。
- 必要に応じてメモリー・アクセス・パターン (MAP) 解析を実行します。
- 変更したコードをリビルドします。
- ルーフライン解析を実行して、アプリケーションが正しく動作し、すべてのテストケースをパスし、すべてのループが適切にベクトル化され、パフォーマンス目標に到達したことを確認します。
メモリー・アクセス・パターン (MAP) 解析の実行
メモリー・アクセス・パターン (MAP) 解析を実行するには次の操作を行います。
- [サーベイレポート] の
カラムで、さらに詳しく解析するためベクトル化されていないループをマーク (選択) します。
- アプリケーション実行中に MAP データの収集を制御するには、[ベクトル化ワークフロー] の [メモリー・アクセス・パターンの確認] にある、
をクリックします。
インテル® Advisor はデータ収集後、次のような MAP に注目した [リファインメント・レポート] を表示します。
コードを改善するためのガイドは、インテル® Advisor の [推奨事項] タブとインテル® Advisor ユーザーガイドの「サーベイ解析を実行した後にすべきことは?」 (英語) にあります。コードが改善されたら以下を行います。
- 変更したコードをリビルドします。
- 再度ルーフライン解析を実行して、アプリケーションが正しく動作し、すべてのテストケースをパスし、すべてのループが適切にベクトル化され、パフォーマンス目標に到達したことを確認します。
スレッド化のプロトタイプを作成
このセクションでは、スレッド化アドバイザーの使用方法を説明します。複数の解析を実行するこのスレッド化アドバイザー・ワークフローを使用する利点は、モデル化と対応するデータ共有の問題を予測できることです。しかし、これらの解析では中から高い実行オーバーヘッドが生じます。
サーベイ解析 – アプリケーションが最も時間を費やしているループと関数を表示します。この結果を基に、スレッドを使用した並列化の候補を見つけます。
アノテーション – アノテーションは、スレッドによる並列実行を可能にする並列フレームワークと置き換え可能な、アプリケーションの候補となる場所をマークするサブルーチン呼び出しまたはマクロ (プログラミング言語に依存) です。アノテーションはコンパイラーによって処理されますが、アプリケーションの計算に影響することはありません。
スータビリティー解析 – 挿入されたアノテーションとさまざまなモデル化パラメーターに基づいて、アプリケーションの最大スピードアップを予測します。この結果を基に、スレッド並列処理の最良の候補を見つけます。
依存関係解析 – 挿入されたアノテーションを基に、並列データ共有の問題を推測します。予測される最大スピードアップによって労力を正当化できる場合、この情報を基にデータ共有の問題を解決します。
環境の設定
環境 | 設定手順 |
---|---|
インテル® Parallel Studio XE/Linux* |
|
インテル® Parallel Studio XE/Windows* | 注:
Windows* 環境の設定は、advixe-cl コマンドでコマンドライン・インターフェイスを実行する場合、または GUI アイコンや IDE からの起動オプションの代わりに advixe-gui コマンドでインテル® Advisor スタンドアロン GUI を起動する場合にのみ必要です。 次のいずれかを行います。
|
インテル® System Studio | 注:
環境の設定は、advixe-cl コマンドでコマンドライン・インターフェイスを実行する場合、または GUI アイコンや IDE からの起動オプションの代わりに advixe-gui コマンドでインテル® Advisor スタンドアロン GUI を起動する場合にのみ必要です。 環境を設定するため、<advisor-install-dir>\advixe-vars.bat バッチファイルを実行します。デフォルトのインストール先 <advisor-install-dir> は、C:\Program Files (x86)\IntelSWTools\ です (一部のシステムでは Program Files (x86) のディレクトリー名が Program Files となります)。 |
インテル® Advisor を起動してプロジェクトを作成
インテル® Advisor を起動するには、以下の操作を行います。
- インテル® Parallel Studio XE/インテル® Advisor スタンドアロン GUI:
- Linux*: advixe-gui コマンドを実行します。
- Windows*: Microsoft* Windows* の [すべてのアプリ] 画面から、[Intel Parallel Studio XE 201n] > [Intel Advisor 201n] を選択します。
- インテル® System Studio /インテル® Advisor スタンドアロン GUI: IDE メニューから、[Tools] > [Intel Advisor] > [Launch Intel Advisor] を選択します。
- Visual Studio* IDE のインテル® Advisor 統合: Visual Studio* IDE でソリューションを開きます。
インテル® Advisor のプロジェクトを作成します。
- 次のいずれかを行います。
- スタンドアロン GUI: [ファイル] > [新規] > [プロジェクト…] を選択して、[プロジェクトを作成] ダイアログボックスを開きます。[プロジェクト名] と [場所] 指定して、[プロジェクトの作成] ボタンをクリックすると [プロジェクトのプロパティー] ダイアログボックスが開きます。
- Visual Studio* IDE: [プロジェクト] > [Intel Advisor 201n] を選択して、[プロジェクトのプロパティー] ダイアログボックスを開きます。
- [解析ターゲット] タブの左で、[サーベイ・ホットスポット解析] タイプが選択され、適切なパラメーターが設定されていることを確認します。
- ほかの解析タイプとタブで適切なパラメーターを設定します(スレッド化アドバイザーでは、バイナリー/シンボル検索とソース検索ディレクトリーの設定が必要です)。
- 可能な場合、ほかの解析タイプで [サーベイ・ホットスポット解析から設定を引き継ぐ] チェックボックスをオンにします。
- [依存関係解析] タイプは、[サーベイ・ホットスポット解析] タイプよりも多くのリソースを消費します。解析の実行が長時間にわたる場合、ワークロードを減らすことを検討してください。
- すべての依存関係の可能性を検出するには、[依存関係解析] タイプで [スタック変数を追跡] を選択します。
サーベイ解析の実行
アプリケーション実行中にサーベイデータを収集するには、[スレッド化ワークフロー] の [サーベイターゲット] にある、 をクリックします。結果を基に、スレッドを使用した並列化の候補を見つけます。
Visual Studio* IDE に [ワークフロー] が表示されない場合、インテル® Advisor ツールバーの アイコンをクリックします。
ループの調査
[セルフ時間] と [合計時間] に関して、最もホットなループに注目します。これらのループを最適化することで、最も多くの利点が得られます。[合計時間] が突出している最外ループは、多くの場合スレッド並列処理の候補となります。最内ループとそれに近いループは、多くの場合ベクトル化の候補です。
ソースにアノテーションを挿入
スレッドによる並列実行を可能にする並列フレームワークと置き換え可能な候補となる場所にアノテーション・マークを挿入します。
インテル® Advisor の主なアノテーション・タイプは以下の場所をマークします。
- 並列サイト。並列サイトとは、並列に実行する可能性があるタスクを 1 つ以上含むコード領域のことであり、ワークを分散するため 1 つ以上の並列スレッドで実行します。効率良い並列サイトは、一般にアプリケーションの実行時間を消費するホットスポットを含んでいます。頻繁に実行される命令を同時に実行できる異なるタスクに分散するため、最良の並列サイトは通常ホットスポットにはありませんが、呼び出しツリーの上位にあります。
- 並列サイト内の 1 つ以上の並列タスク。タスクは、データを含む実行時間を消費するコード領域であり、ワークを分散するため 1 つ以上の並列スレッドで実行できます。
- 同期ロック。並列アプリケーションでデータへの相互排他アクセスが必要な場所を示します。
インテル® Advisor のユーザーガイドには、エディターにコピーできるアノテーションを含むサンプル・ソースコードが用意されています。
アノテーション・コード | 目的 |
---|---|
反復ループ、シングルタスク | タスクのコードにループ全体が含まれる、単純なループ構造を作成します。この一般的なタスク構造は、並列サイト内で単独のタスクが必要な場合に役立ちます。 |
ループ、1 つ以上のタスク | タスクコードにループ本体全体が含まれないループ、または複数のタスク終了アノテーションを含む特定のタスクの開始/終了境界を必要とする複雑なループやコードを作成します。この構造は、並列サイト内で複数のタスクが必要とされる場合にも役立ちます。 |
関数、1 つ以上のタスク | 並列サイト内で複数のタスクを呼び出すコードを生成します。 |
収集のポーズと再開 | 一時的にデータ収集をポーズして後で再開することで、アプリケーション実行の不要な部分をスキップして、収集されるデータを最小限に抑え、大規模なアプリケーションの解析をスピードアップできます。これらのアノテーションは並列サイトの外部に追加します。 |
ビルド設定 | 使用する言語に合わせて固有のビルド (コンパイラーとリンカー) 設定を行います。 |
アノテーションを挿入後、アプリケーションをリリースモードで再ビルドします。
タスク・アノテーションを追加する場所の決定には、試行錯誤が必要になるかもしれません。並列サイトのループが入れ子構造で最内ループの計算時間が少ない場合、1 つ外側のループ周辺にタスク・アノテーションを追加することを検討してください。
スータビリティー解析の実行
アプリケーション実行中にスータビリティー・データを収集するには、[スレッド化ワークフロー] の [スータビリティーの確認] にある、 をクリックします。
[スータビリティー・レポート] は、挿入されたアノテーションと次のようなモデル化パラメーターに基づいて、アプリケーションの最大スピードアップを予測します。
- 異なるハードウェアと並列フレームワーク
- 異なるトリップカウントと実行時間
- 並列フレームワークのコードをアプリケーションに実装する際の、並列化のオーバーヘッド、ロックの競合、またはタスクのチャンクに関連した対応
結果を基に、スレッド並列処理の最良の候補を見つけます。
依存関係解析の実行
アプリケーション実行中に依存関係データを取得するには、[スレッド化ワークフロー] の [依存関係の確認] にある、 をクリックします。予測される最大スピードアップによって労力を正当化できる場合、この結果情報を基にデータ共有の問題を解決します。
アプリケーションのパフォーマンスを向上
予測される最大スピードアップによってアプリケーションをスレッド化する労力を正当化できる場合、次の作業を行います。
- 提案された並列化の変更に関して、開発者/設計者による設計とコードレビューを行います。
- インテル® スレッディング・ビルディング・ブロック (インテル® TBB)、OpenMP*、Microsoft* タスク並列ライブラリー (TPL) など、アプリケーションの並列プログラミング・フレームワーク (スレッド化モデル) を選択します。
- ビルド環境に並列フレームワークを追加します。
- 共有データリソースへのアクセスを同期するため、インテル® TBB や OpenMP* ロックなどの並列フレームワークのコードを追加します。
- 並列タスクを生成する並列フレームワーク・コードを追加します。
選択した並列フレームワークから適切な並列コードを追加したら、インテル® Advisor のアノテーションは、コメントアウト、置換、またはそのままにすることができます。
macOS* マシン上でインテル® Advisor の結果を表示
このセクションでは macOS* マシン上でのインテル® Advisor の使い方を説明します。
- Windows* または Linux* マシン上でデータを収集します。
- 結果データを macOS* マシン上で表示します。
このベクトル化アドバイザーとスレッド化アドバイザーのワークフローを使用する利点は、クラスターなど可視化やデータ操作が制限される専用システムでコードを実行する必要がある場合でも、インテル® Advisor GUI のメリットを利用できることです。しかし、macOS* マシン上ではデータを収集できないため、Windows* や Linux* マシン上でデータを収集する必要があります。
共有ドライブがない場合
ターゲット・アプリケーション (バイナリー、シンボル情報、ソースコードなど) を macOS* マシンからアクセス可能なリモートドライブに配置できない場合は、次の手順に従ってください。
- macOS* マシンにインテル® Advisor GUI のみをインストールします。
- リモートマシンにインテル® Advisor をインストールします。CLI のみを使用してデータを収集する場合、フルパッケージまたはパッケージの一部 (CLI のみなど) をインストールできます。
- リモートマシン上での操作:
- 最も正確で完全な解析結果を得られる設定を使用して、リリースモードでアプリケーションの最適化されたバイナリーをビルドします。設定の詳細については、「解析を始める前に」をご覧ください。
- 環境を設定した後、インテル® Advisor を起動してプロジェクトを作成し、目的のデータを収集します。詳しい手順については、このドキュメントのワークフローを参照してください。
- 収集したデータのスナップショットを作成するには、次の手順のいずれかを実行します。
- GUI で
アイコンをクリックします。詳細については、インテル® Advisor ユーザーガイドの「読み取り専用の結果スナップショットを作成」をご覧ください。
- CLI で、advixe-cl -snapshot コマンドを使用します。コマンドラインの例は、このドキュメントの「インテル® Advisor のワークフローを自動化」をご覧ください。
ソースとバイナリーの両方を zip アーカイブファイルに含めてください。
- GUI で
- 結果ファイル .advixeexpz を macOS* マシンにコピーします。
- macOS* マシン上での操作:
- 次のいずれかの source コマンドを実行して環境を設定します。
source <advisor-install-dir>/advixe-vars.csh
または
source <advisor-install-dir>/advixe-vars.sh - インテル® Advisor を起動します。
- [File] > [Open] > [Result] メニューオプションから、結果ファイル .advixeexpz を開きます。
- 次のいずれかの source コマンドを実行して環境を設定します。
共有ドライブがある場合
ターゲット・アプリケーション (バイナリー、シンボル情報、ソース) を macOS* マシンからアクセス可能なリモートドライブに配置できる場合は、次の手順に従ってください。
- macOS* マシンにインテル® Advisor GUI のみをインストールします。
- リモートマシンにインテル® Advisor をインストールします。CLI のみを使用してデータを収集する場合、フルパッケージまたはパッケージの一部 (CLI のみなど) をインストールできます。
- 共有ドライブでの操作: 最も正確で完全な解析結果を得られる設定を使用して、リリースモードでアプリケーションの最適化されたバイナリーをビルドします。設定の詳細については、「解析を始める前に」をご覧ください。
- リモートマシン上での操作:
- 環境を設定してインテル® Advisor を起動します。詳しい手順については、このドキュメントのほかのワークフローを参照してください。
- [File] > [Options] > [Result Location] に、結果を格納する共有ドライブを設定します。
- 共有ドライブを使用するプロジェクトを作成して目的のデータを収集します。詳しい手順については、このドキュメントのほかのワークフローを参照してください。
- macOS* マシン上での操作:
- 次のいずれかの source コマンドを実行して環境を設定します。
source <advisor-install-dir>/advixe-vars.csh
または
source <advisor-install-dir>/advixe-vars.sh - インテル® Advisor を起動します。
- [File] > [Open] > [Result] メニューオプションから、共有ドライブの .advixeexp ファイルを開きます。
- 次のいずれかの source コマンドを実行して環境を設定します。
インテル® Advisor のワークフローを自動化
環境の設定
環境 | 設定手順 |
---|---|
インテル® Parallel Studio XE/Linux* |
|
インテル® Parallel Studio XE/Windows* | 次のいずれかを行います。
|
インテル® System Studio | 環境を設定するため、<advisor-install-dir>\advixe-vars.bat バッチファイルを実行します。デフォルトのインストール先 <advisor-install-dir> は、C:\Program Files (x86)\IntelSWTools\ です (一部のシステムでは Program Files (x86) のディレクトリー名が Program Files となります)。 |
コマンドライン
このセクションでは、インテル® Advisor CLI の使用方法を説明します。GUI の代わりにインテル® Advisor CLI を使用する利点は、自動化またはバックグラウンド・タスクの一部としてデータ収集と解析を行い、その結果を利用したいときに CLI レポート (または GUI) で表示できることです。
以下に典型的なインテル® Advisor CLI の手順を示します。
操作 | 使用する CLI モデル |
---|---|
すべてのコマンドライン・オプションを表示する
(ベクトル化アドバイザーとスレッド化アドバイザーで利用可能) |
advixe-cl -help
注: インテル® Advisor のユーザーガイドでも確認できます。 |
サーベイ解析を実行する
(ベクトル化アドバイザーとスレッド化アドバイザーで利用可能) |
Linux*:advixe-cl –collect=survey –-project-dir=./myAdvisorProj — myTargetApplication
Windows*:advixe-cl –collect=survey –project-dir=myAdvisorProj — myTargetApplication |
サーベイ解析を実行後、トリップカウントと FLOP 解析を実行する
(トリップカウントはベクトル化アドバイザーとスレッド化アドバイザーで利用できますが、FLOP はベクトル化アドバイザーで最も役立ちます。) |
Linux*:advixe-cl –collect=tripcounts –flop –-project-dir=./myAdvisorProj — myTargetApplication
Windows*:advixe-cl –collect tripcounts –flop –project-dir myAdvisorProj — myTargetApplication ヒント:
|
ルーフライン解析を実行する
(ルーフラインはベクトル化アドバイザーとスレッド化アドバイザーで利用できますが、ベクトル化アドバイザーで最も役立ちます。) |
Linux*:advixe-cl –collect=roofline –-project-dir=./myAdvisorProj — myTargetApplication
Windows*:advixe-cl –collect=roofline –project-dir=myAdvisorProj — myTargetApplication |
コールスタック付きのルーフライン解析を実行する | Linux*:advixe-cl –collect=roofline –stacks –-project-dir=./myAdvisorProj — myTargetApplication
Windows*:advixe-cl –collect=roofline –stacks –project-dir=myAdvisorProj — myTargetApplication |
リファインメント解析を行うループ ID を特定するため [サーベイレポート] を出力する
(ベクトル化アドバイザーで利用可能) |
Linux*:advixe-cl –report=survey –-project-dir=./myAdvisorProj
Windows*:advixe-cl –report=survey –project-dir=myAdvisorProj |
リファインメント解析を実行する
(ベクトル化アドバイザーで利用可能) |
Linux*:advixe-cl –collect=[dependencies | map] –mark-up-list=[loopID],[loopID] –-project-dir=./myAdvisorProj — myTargetApplication
Windows*:advixe-cl –collect=[dependencies | map] –mark-up-list=[loopID],[loopID] –project-dir=myAdvisorProj — myTargetApplication |
依存関係解析を実行する
(スレッド化アドバイザーで利用可能) |
Linux*:advixe-cl –collect=dependencies –project-dir=./myAdvisorProj — myTargetApplicaton
Windows*:advixe-cl –collect=dependencies –project-dir=myAdvisorProj — myTargetApplicaton |
スナップショットを作成して、ソースとバイナリーをその中に含めて、アーカイブにパックする
(ベクトル化アドバイザーとスレッド化アドバイザーで利用可能) |
Linux*:advixe-cl –snapshot –project-dir=./user/test/vec_project –pack –cache-sources –cache-binaries — ./tmp/myAdvisorProj_snapshot
Windows*:advixe-cl –snapshot –project-dir=/user/test/vec_project –pack –cache-sources –cache-binaries — /tmp/myAdvisorProj_snapshot |
ループリストの代わりにトップダウンの関数リストをレポートする
(ベクトル化アドバイザーとスレッド化アドバイザーで利用可能) |
advixe-cl –report=survey –top-down –display-callstack |
コンパイラーのすべての opt-report と vec-report メトリックをレポートする
(ベクトル化アドバイザーで利用可能) |
advixe-cl –report=survey –show-all-columns |
内部ループではありません メッセージによりベクトル化されなかった上位 5 つのセルフ時間ホットスポットをレポートする
(ベクトル化アドバイザーで利用可能) |
advixe-cl –report=survey –limit=5 –filter=”Vectorization Message(s)”=”loop was not vectorized: not inner loop” |
[ワークフロー] で該当する をクリックすると、対応する収集コマンドラインを生成できます。
MPI
このセクションでは、MPI 環境でインテル® Advisor を使用する方法を説明します。
MPI 解析はインテル® Advisor の CLI でのみ実行できます。結果はいくつかの方法で表示できます。
- クラスター環境にインテル® Advisor GUI がインストールされている場合、GUI から結果を開きます。
- クラスターノード上にインテル® Advisor GUI がインストールされていない場合、結果ディレクトリーをインテル® Advisor GUI がインストールされている別のマシンにコピーして開きます。
- クラスターノードで結果を参照するには、インテル® Advisor のコマンドライン・レポートを使用します。
mpirun、mpiexec、または利用する MPI バッチジョブ管理と advixe-cl コマンドを使用して、解析を開始します。mpirun の -gtool オプションも利用できます。詳細は、『インテル® MPI ライブラリー・リファレンス・マニュアル』 (インテル® ソフトウェア・ドキュメンテーション・ライブラリー (英語) で入手可能) をご覧ください。
以下に典型的なインテル® Advisor MPI タスクの例を示します。
次のステップ
- ステップバイステップのチュートリアルとサンプルコードを使用して、インテル® Advisor のワークフローを理解します。
- ルーフラインのサンプルコードとチュートリアル (英語)
- ベクトル化のサンプルコードとチュートリアル: Windows* (英語) | Linux* (英語)
- スレッド化のサンプルコードとチュートリアル: Windows* (英語) | Linux* (英語)
- ReadMe を一読の上、インテル® Advisor のサンプルコード (英語) をお試しください。
- 「ベクトル化とスレッド化の導入ガイド」 (英語) にある入門向けのビデオも役立ちます。
- 自身のコードでサーベイ解析を実行します。
ヒント:
- 最も正確で完全な解析結果を得られる設定を使用して、リリースモードでアプリケーションの最適化されたバイナリーをビルドします。
- 実行時間を短くするには、インテル® Advisor ユーザーガイドの「データ収集、結果のサイズ、および実行時間を最小化する」 (英語) を試してください。
参考資料
リソース |
説明 |
---|---|
オンラインリソース |
インテルのドキュメント・ライブラリー (英語) インテル® Advisor: 現代のハードウェア向けのコード最適化 (英語) インテル® Advisor ユーザー向けのベクトル化リソース フローグラフ・アナライザー・ユーザー・ガイド (英語) – インテル® Advisor 2019 に同梱される “フローグラフ・アナライザー” は、インテル® スレッディング・ビルディング・ブロック (インテル® TBB) のフローグラフ・インターフェイスを使用するアプリケーションを構築、解析、および可視化するグラフィカル・ツールです。 |
オフラインのリソース |
ベクトル化アドバイザーの機能の 1 つに、コード固有のベクトル化の問題を修正する方法を示す GUI 組込みのアドバイスがあります。GUI のアドバイスで示される引数などをすぐに参照できるよう、インテル® Advisor はオフラインのインテル® コンパイラーのミニガイドを用意しています。また、ミニガイドと同じ場所には「オフラインの推奨事項」と「コンパイラー診断の詳細」を提供するアドバイス・ライブラリーも用意されています。これらの HTML ファイルに含まれる問題と推奨は、展開/折りたたむことができます。 Linux*: オフラインのドキュメントは、<advisor-install-dir>/documentation/<locale>/ へインストールされます。デフォルトのインストール先 <advisor-install-dir> は、以下にあります。
Windows*: オフラインのドキュメントは、<advisor-install-dir>\documentation\<locale>\ へインストールされます。デフォルトのインストール先 <advisor-install-dir> は、C:\Program Files (x86)\IntelSWTools\ です (一部のシステムでは Program Files (x86) のディレクトリー名が Program Files となります)。 |
ドキュメントを表示する際に、次のような問題が発生することがあります。
- Microsoft* Windows Server* 2012 システム: 信頼済みサイトの警告が表示される。解析策: [ツール] > [インターネット オプション] > [セキュリティ] タブで、[信頼済みサイト] のリストに about:internet を追加します。追加した項目は、ドキュメントを確認後に削除できます。
- Microsoft* Internet Explorer* 11 ブラウザー: [目次] ペインで項目を選択しても内容が表示されない。解析策: [ツール] > [インターネット オプション] > [セキュリティ] タブで、[信頼済みサイト] のリストに http://localhost を追加します。追加した項目は、ドキュメントを確認後に削除できます。
- Microsoft Edge* ブラウザー:
- 状況依存ヘルプの呼び出し (F1 キーなど) で、対応する特定のトピックの代わりにドキュメントのタイトルページが開く。解析策: 別のブラウザーを使用してください。
- ペインの一部しか表示されず、適切なスタイルシートが適用されていない。解析策: 別のブラウザーを使用してください。
著作権と商標について
Intel、インテル、Intel ロゴ、Xeon、Intel Xeon Phi は、アメリカ合衆国およびその他の国における Intel Corporation またはその子会社の商標です。
Microsoft および Windows は、米国 Microsoft Corporation の、米国およびその他の国における登録商標または商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
© 2016-2019 Intel Corporation.
本ソフトウェアおよび関連ドキュメントは、インテルが著作権を有する著作物であり、その使用には付随する明示的なライセンス (「ライセンス」) が適用されます。ライセンスで特に明記されていない限り、インテルから書面による許可を得た場合を除き、本ソフトウェアまたは関連ドキュメントを使用、改変、複製、公表、配布、公開することはできません。
本ソフトウェアおよび関連ドキュメントは現状のまま提供され、ライセンスに明記されているものを除き、明示されているか否かにかかわらず、いかなる保証もいたしません。