< 目次

最適化後のパフォーマンスを解決

この手順では、パフォーマンス・スナップショット解析を再度実行して、ループ交換を有効にしたアプリケーションをプロファイルします。

ループ交換手法によって得られる改善を確認するには、パフォーマンス・スナップショット解析を再度実行します。

コンパイラーと IDE によっては、解析を構成するときに、前の手順で再コンパイル中に生成された別の実行可能ファイルを参照する場合があります。

サンプル・アプリケーションが終了すると、パフォーマンス・スナップショットの [Summary] ウィンドウが開きます。

以下の主なメトリックを観察してください:

この場合、インテル® oneAPI DPC++/C++ コンパイラーはバイナリーサイズ優先 (/O1) でコンパイルしたことでベクトル化を適用しないため、コードはベクトル化されていません。

コン​​パイラーによる自動ベクトル化を有効にするには、次の手順に従います。

  1. ‘../matrix/linux’ フォルダーにある Makefile をテキストエディターで開きます。

  2. 42 行目を以下のように変更します。

    CFLAGS = -g -O1

    変更後:

    CFLAGS = -g -O2
  3. 次のコマンドを実行してアプリケーションを再コンパイルします。

    make icc

次のステップ: ベクトル化効率を解決します。