高度なモデル化のオプション

[Target System (ターゲットシステム)][Intel® Xeon Phi™ (インテル® Xeon Phi™)] または [Offload to Intel Xeon Phi (インテル® Xeon Phi™ へオフロード)] を選択すると、[Intel Xeon Phi Advanced Modeling (インテル® Xeon Phi™ 製品向けの高度なモデル化)][Runtime Modeling (ランタイムのモデル化)] エリアに追加のモデル化引数が表示されます。

場合によっては、コードを再構築してベクトル操作の効率を向上できます。ループのベクトル化により、ハードウェアは配列データの操作など小さなユニット (通常 64 バイト) で、データを独立して処理することが可能となります。

これは、単一のループに新たに外部ループを作成して、2 つのループが同じ反復空間を処理するように変更することで達成できます。ストリップマイニングと呼ばれる手法により、最内ループは小さなチャンクでベクトル操作を活用できます。

より効率良いベクトル操作を可能にする方法として、スレッド化がすでに行われている外部ループを調査し、最内ループや呼び出し先の関数のベクトル化を検討します。

最内のループは、OpenMP* 4.0 の構文から利益が得られる可能性があります。特定の条件下では、omp parallel for スレッド化プラグマと omp simd (または同等の) SIMD ベクトル化プラグマの両方を使用できます (コンパイラーのベクトル化レポートと、http://openmp.org (英語) の説明を参照)。

プロセッサーのマイクロアーキテクチャーにより、サポートされるベクトル命令のタイプとハードウェアが効率良く処理できるデータサイズが異なります。

関連情報