自動並列化のプログラミング

自動並列化機能は、ワークシェアリング・コンストラクタ(ディレクティブの並列化 )などのOpenMP*のいくつかのコンセプトを取り入れています。ここでは、自動並列化について説明します。

効率的な自動並列化の使用方法のガイドライン

次の場合、ループは並列化が可能です。

コンパイラは、コンパイル時に定数ではないループ・パラメータを持つ parallel for ループで、実行するメリットを検証するためにランタイム・テストを生成します。

コーディング・ガイドライン

次のコーディング・ガイドラインにより自動並列化の威力と効率を強化することができます。

自動並列化のデータフロー

自動並列化の処理では、コンパイラは次のステップを実行します。

  1. データフローの解析
  2. ループの分類
  3. 依存性の解析
  4. 高度な並列化
  5. データのパーティショニング
  6. マルチスレッド・コードの生成

これらのステップには次のものが含まれます。