tree ecba23936d3ca1b5149234286448ed14f0fc4c97
parent 0c3ffc836de68dfe29f4494e6af06975113f3e92
author vadikp-intel <vadim.paretsky@intel.com> 1709857683 -0800
committer Copybara-Service <copybara-worker@google.com> 1709869236 -0800

[OpenMP] runtime support for efficient partitioning of collapsed triangular loops (#83939)

This PR adds OMP runtime support for more efficient partitioning of
certain types of collapsed loops that can be used by compilers that
support loop collapsing (i.e. MSVC) to achieve more optimal thread load
balancing.

In particular, this PR addresses double nested upper and lower isosceles
triangular loops of the following types

1. lower triangular 'less_than'
   for (int i=0; i<N; i++)
     for (int j=0; j<i; j++)
2. lower triangular 'less_than_equal'
   for (int i=0; i<N; j++)
     for (int j=0; j<=i; j++)
3. upper triangular
   for (int i=0; i<N; i++)
     for (int j=i; j<N; j++)

Includes tests for the three supported loop types.

---------

Co-authored-by: Vadim Paretsky <b-vadipa@microsoft.com>
GitOrigin-RevId: fcd2d483251605f1b6cdace0ce5baf5dfd31b880
