並列領域を入れ子にすると、計算で使用できるスレッドの数を簡単に増やすことができます。
たとえば、並列性に 2 つのレベルがあり、各レベルでの並列性の度合いが 2 であるプログラムがあるとしましょう。また、システムには CPU が 4 個搭載され、このプログラムの実行速度を上げるために、これら 4 つの CPU をすべて使用するものとします。どの段階であったとしても単に並列処理にしただけでは、使用する CPU は 2 つに留まります。入れ子によって両方の段階で処理が並列化されます。
並列領域を入れ子にするだけでは、スレッドばかりが増えてシステムへの要求が過剰になります。OMP_THREAD_LIMIT および OMP_MAX_ACTIVE_LEVELS を適切に設定して、使用されるスレッド数を制限し、過剰要求を回避します。
入れ子になった並列領域を作成すると負荷がかかります。外側の入れ子でも充分な並列処理が実行されていて、負荷が平均に分散されていれば、現在の処理より内側に入れ子の並列領域を作成するよりは、外側の入れ子で全スレッドを使用する方が一般的には効率的です。
たとえば、2 段階の並列処理となるプログラムがあったとします。外側の処理は 4 つの並列処理となっていて、負荷は平均に分散されています。システムには 4 つの CPU があり、すべての CPU を使用してプログラムの実行を高速化したいとします。この場合は、外側の並列処理で 4 つのスレッドのうち 2 つだけを使い、かつ、そのスレーブスレッドとして内側の並列処理で 2 つのスレッドを使うよりは、外側の並列処理で 4 つのスレッドすべてを使用した方が優れたパフォーマンスを得ることができます。