[Mesa-dev] V7 Loop unrolling in NIR

Timothy Arceri timothy.arceri at collabora.com
Mon Dec 19 06:38:37 UTC 2016


On Sun, 2016-12-18 at 21:58 -0800, Jason Ekstrand wrote:
> On Dec 18, 2016 9:48 PM, "Timothy Arceri" <timothy.arceri at collabora.c
> om> wrote:
> V7:
>  - paritally out of ssa in unrolling pass to avoid phis
>  - lots of simplification/tidy ups in the analysis pass
>  - if_uses bug fix (missing functionality) in lcssa fixed
>  - better support for non trivial loop terminators
>  - fixed all loop HURT except 1 that is too big to unroll.
> 
> total instructions in shared programs: 12584624 -> 12584621 (-0.00%)
> instructions in affected programs: 68507 -> 68504 (-0.00%)
> helped: 70
> HURT: 170
> 
> total cycles in shared programs: 241499996 -> 241476226 (-0.01%)
> cycles in affected programs: 4060722 -> 4036952 (-0.59%)
> helped: 1241
> HURT: 1278
> 
> total loops in shared programs: 4245 -> 2948 (-30.55%)
> loops in affected programs: 1535 -> 238 (-84.50%)
> helped: 1142
> HURT: 1
> 
> That is a *lot* of loops that we were leaving intact for no good
> reason.  Any idea how many of those were because the glsl pass didn't
> know what to do weight them vs. the heuristic subtly changing?

Are you sending html emails lately? Your comments have been
indistinguishable from the original email in a number of emails lately.

I disable instruction/iteration unrolling restrictions and it helped on
ly 13 loops.

For the record V7 unrolls around 500 more loops than V6. I think
handling phis as a conditional might give us another good jump. I would
need to dig a bit deeper to be sure why so many loops remain.

I'm happy to work on improving things further once we land the initial
version.

> 
> 
> LOST:   26
> GAINED: 16
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list