プロセッサー間で使用されるメモリー帯域幅を制御するパフォーマンス・チューニングとヒューリスティックを有効にします。
なし
IA-64 アーキテクチャー
Linux*: | -opt-mem-bandwidthn |
Mac OS* X: | なし |
Windows*: | /Qopt-mem-bandwidthn |
n | メモリー帯域幅の使用を最適化するレベルです。設定可能な値は以下のとおりです。 | |
0 | シリアルコードに最適なパフォーマンス・チューニングとヒューリスティックを有効にします。 | |
1 | コンパイラーによって生成されるマルチスレッド・コード向けのパフォーマンス・チューニングとヒューリスティックを有効にします。 | |
2 | コンパイラーによって生成されるマルチスレッド・コードのほか、Windows スレッド、pthreads、MPI コードなど、並列コード向けのパフォーマンス・チューニングとヒューリスティックを有効にします。 |
/Qopt-mem-bandwidth0 |
シリアル (並列ではない) コンパイル処理の場合、シリアルコードに最適なパフォーマンス・チューニングとヒューリスティックを有効にします。 |
/Qopt-mem-bandwidth1 |
コンパイラー・オプション -parallel (Linux)、/Qparallel (Windows)、-openmp (Linux)、/Qopenmp (Windows)、またはクラスター OpenMP オプション -cluster-openmp を指定した場合、コンパイラーによって生成されるマルチスレッド・コード向けのパフォーマンス・チューニングとヒューリスティックが有効になります。 |
このオプションは、パフォーマンス・チューニングとプロセッサー間で使用されるメモリー帯域幅を制御するヒューリスティックを有効にします。帯域幅を消費するような最適化を制御し、並列プログラムおいてマルチプロセッサー間で帯域幅をより効率良く共有できるようにします。
0 よりも大きな n が指定された場合、メモリー帯域幅を抑え、スレッド間のトラフィックでメモリー帯域幅の均衡を保つために、プリフェッチ機能やプライベート化、積極的なコード移動などのコンパイラーの最適化で、パフォーマンス・チューニングとヒューリスティックを有効にします。
このオプションは、マルチプロセッサーやマルチコア・プロセッサー上のスレッド・アプリケーションと並列アプリケーション、特にメモリー帯域幅によって制限されるアプリケーションのパフォーマンスを向上させることができます。
なし
parallel、Qparallel コンパイラー・オプション
openmp、Qopenmp コンパイラー・オプション