< Table Of Contents

Visual Studio* IDE: サンプル・アプリケーションの準備

このトピックは、自動ルーフライン・グラフを使用して、優先度の高い最適化を決定する方法を紹介するチュートリアルの一部です。

インテル® Advisor の Visual Studio* IDE プラグインを使用して、roofline_demo_samples サンプル・アプリケーションを試す場合は、以下の手順に従ってください。

ソフトウェア・ツールの入手とサンプル・アプリケーションの展開

次のツールが必要です。

まだインテル® Advisor やインテル® C++ コンパイラー・クラシックをお持ちでない場合は、インテル® oneAPI ベース・ツールキット (英語) をダウンロードしてください。

roofline_demo_samples サンプル・アプリケーションを設定するには、次の操作を行います。

  1. サンプルコードとサンプル結果の両方を、書き込み可能なディレクトリーまたは共有フォルダーにダウンロード (英語) します。

  2. サンプルコードとサンプル結果の .zip ファイルを展開します。

Visual Studio* ソリューションを開く

  1. Visual Studio* IDE を起動します。

  2. 必要に応じて、[表示] > [ソリューション エクスプローラー] を選択します。

  3. [ファイル] > [開く] > [プロジェクト/ソリューション] を選択します。

  4. [Open Project] ダイアログボックスで roofline_demo_samples.sln ファイルを開きます。

プロジェクトの準備

このチュートリアルで使用するため、サンプル・アプリケーションを準備します。

  1. [Solution Explorer] のプロジェクト名が roofline_demo_samples (Intel C++ [version]) であることを確認します。そうでない場合は、[ソリューション エクスプローラー]roofline_demo_samples プロジェクトを右クリックして、[Intel Compiler] > [Use Intel C++] を選択します。

  2. Visual Studio* のツールバーで [ソリューション エクスプローラー] ドロップダウンが Debug に設定されている場合は、Release に変更します。

  3. [ソリューション エクスプローラー]roofline_demo_samples を右クリックして、[プロパティ] を選択します。

  4. [構成プロパティ] > [C/C++] > [General] を選択します。[Debug Information Format][Program Database (/ZI)] に設定されていることを確認します。

  5. [構成プロパティ] > [C/C++] > [Optimization] を選択します。[Optimization][Maximum Optimization (Favor Speed) (/O2)] に設定されていることを確認します。

  6. [構成プロパティ] > [C/C++] > [Optimization [Intel C++]] を選択します。[Parallelization][No] に設定されていることを確認します。

  7. [構成プロパティ] > [C/C++] > [Code Generation] を選択します。[Enable Enhanced Instruction Set][Intel(R) Advanced Vector Extensions 2 (/arch:CORE-AVX2)] に設定されていることを確認します。

  8. [Apply] ボタンをクリックしてから、[OK] ボタンをクリックします。

  9. [ビルド] > [ソリューションのクリーン] を選択します。

  10. [ビルド] > [ソリューションのリビルド] を選択します。

インテル® Advisor のワークフローと解析結果を表示するには、インテル® Advisor ツールバーの アイコンをクリックするか、[ツール] > [Intel Advisor] > [Vectorization and Threading Advisor Analysis] を選択します。

独自のアプリケーションをビルドして、正確で完全なベクトル化アドバイザーの結果を生成するには、以下の設定でリリースモードの最適化されたバイナリーをビルドします。

操作

最適な C/C++ 設定

完全なデバッグ情報を生成する (コンパイラーとリンカ―)

Linux* コマンドライン: -g

Windows* コマンドライン:

  • /ZI

  • /DEBUG

Microsoft* Visual Studio* IDE:

  • [C/C++] > [全般] > [デバッグ情報の形式] > [プログラム データベース (/Zi)]

  • [リンカー] > [デバッグ] > [デバッグ情報の生成] > [はい (/DEBUG)]

適度な最適化を適用する

Linux* コマンドライン: -O2 以上

Windows* コマンドライン: /O2 以上

Visual Studio* IDE: [C/C++] > [最適化] > [最適化] > [実行速度の最大化 (/O2)] 以上

コンパイラー診断を生成する (インテル® コンパイラー 15.0 では必要、16.0 以降では不要)

Linux* コマンドライン: -qopt-report=5

Windows* コマンドライン: /Qopt-report:5

Visual Studio* IDE: [C/C++] > [診断 [Intel C++]] > [最適化診断レベル] > [レベル 5 (/Qopt-report:5)]

ベクトル化を有効にする

Linux* コマンドライン: -vec

Windows* コマンドライン: /Qvec

SIMD ディレクティブを有効にする

Linux* コマンドライン: -simd

Windows* コマンドライン: /Qsimd

OpenMP* ディレクティブに基づいてマルチスレッド・コードを生成できるようにする

Linux* コマンドライン: -qopenmp

Windows* コマンドライン: /Qopenmp

Visual Studio* IDE: [C/C++] > [言語 [Intel C++]] > [OpenMP* サポート] > [並列コードの生成 (/Qopenmp)]