プログラムのパフォーマンス解析

逐次ループの内部に入れ子にした並列ループ

逐次ループの中に並列ループが入れ子にされている場合、各ループを繰り返すごとに時計時間を使用するという条件があるため、ループツールおよびループレポートが報告する実行時間の情報が誤解を招く場合があります。内部ループが並列化されていると、ループの一部を並列的に繰り返す場合であっても、反復ごとの時計時間が確保されます。

これに対して、外部ループには、入れ子にした並列ループ全体の実行時間しか割り当てられません。すなわち、内部ループを並列的にインスタンス化した場合の最も長い時間に相当します。このように計測方法が二重になる結果、内部ループに比べ、外部ループの消費時間が短くなるという、「外部ループの変則性」という問題を生じることになります。