opt-mem-bandwidth、Qopt-mem-bandwidth

プロセッサー間で使用されるメモリー帯域幅を制御するパフォーマンス・チューニングとヒューリスティックを有効にします。

IDE オプション

なし

アーキテクチャー

IA-64 アーキテクチャー

構文

Linux*: -opt-mem-bandwidthn
Mac OS* X: なし
Windows*:  /Qopt-mem-bandwidthn

引数

n メモリー帯域幅の使用を最適化するレベルです。設定可能な値は以下のとおりです。
  0 シリアルコードに最適なパフォーマンス・チューニングとヒューリスティックを有効にします。
  1 コンパイラーによって生成されるマルチスレッド・コード向けのパフォーマンス・チューニングとヒューリスティックを有効にします。
  2 コンパイラーによって生成されるマルチスレッド・コードのほか、Windows スレッド、pthreads、MPI コードなど、並列コード向けのパフォーマンス・チューニングとヒューリスティックを有効にします。

デフォルト

-opt-mem-bandwidth0 または
/Qopt-mem-bandwidth0
シリアル (並列ではない) コンパイル処理の場合、シリアルコードに最適なパフォーマンス・チューニングとヒューリスティックを有効にします。
-opt-mem-bandwidth1 または
/Qopt-mem-bandwidth1
コンパイラー・オプション -parallel (Linux)、/Qparallel (Windows)、-openmp (Linux)、/Qopenmp (Windows)、またはクラスター OpenMP オプション -cluster-openmp を指定した場合、コンパイラーによって生成されるマルチスレッド・コード向けのパフォーマンス・チューニングとヒューリスティックが有効になります。

説明

このオプションは、パフォーマンス・チューニングとプロセッサー間で使用されるメモリー帯域幅を制御するヒューリスティックを有効にします。帯域幅を消費するような最適化を制御し、並列プログラムおいてマルチプロセッサー間で帯域幅をより効率良く共有できるようにします。

0 よりも大きな n が指定された場合、メモリー帯域幅を抑え、スレッド間のトラフィックでメモリー帯域幅の均衡を保つために、プリフェッチ機能やプライベート化、積極的なコード移動などのコンパイラーの最適化で、パフォーマンス・チューニングとヒューリスティックを有効にします。

このオプションは、マルチプロセッサーやマルチコア・プロセッサー上のスレッド・アプリケーションと並列アプリケーション、特にメモリー帯域幅によって制限されるアプリケーションのパフォーマンスを向上させることができます。

代替オプション

なし

関連情報

parallel、Qparallel コンパイラー・オプション

openmp、Qopenmp コンパイラー・オプション

クラスター OpenMp オプション