OpenMP* 宣言子が入れ子された並列領域を作成するような方法で使用されています。
OpenMP* 仕様では、並列領域は互いに適宜入れ子できますが、すべての OpenMP* 実装が入れ子された並列処理をサポートしているわけではありません。入れ子された並列処理が無効な場合や OpenMP* 実装によりサポートされていない場合、並列領域内の並列構造に到達したスレッドは、そのスレッドだけで新しいチームを作成します。そのため、入れ子された並列処理を採用しても、パフォーマンスは向上しません。
この警告は、入れ子された並列処理が要求されたことを知らせるために発行されます。これは、意図しないものであることが多く、予期しない制御フローの発見に役立ちます。可能な限り、外側の並列領域が完了するのを待機してから、別の並列領域を開始した方が効率的です。これにより、並列計算を単一スレッドではなく並列で実行できます。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
OpenMP* 宣言 |
入れ子された並列処理が開始される場所 |
2 |
OpenMP* 宣言 |
外側の並列領域が開始された場所 |
© 2010 Intel Corporation. 無断での引用、転載を禁じます。