[Mesa-dev] A few NIR compile time optimisations

Timothy Arceri tarceri at itsqueeze.com
Tue Feb 19 23:59:37 UTC 2019


On 20/2/19 10:49 am, Marek Olšák wrote:
> st_link_shader takes 55% of CPU time with NIR, and 9% with TGSI.
> 
> nir_validate_shader 49%
> 
> nir_validate_shader is overused. It doesn't make sense even in debug builds.

It's used to validate the IR between optimisation/lowering passes. For 
debug builds you can use NIR_VALIDATE=0 to avoid it.

Note since I sent this we have tracked down and removed some excessive 
processing in nir_opt_dead_cf() and Connor has also sent a MR to 
significantly reduce time spent in nir_opt_algebraic [1].

The overhead from NIR has reduce to about 30% of time spent compiling 
shader-db with everything that's already landed and Connors series.

I intend to do some more profiling today. I added compile times to 
shader-db so that I can pinpoint problem shaders.

[1] https://gitlab.freedesktop.org/mesa/mesa/merge_requests/269

> 
> Marek
> 
> On Wed, Feb 13, 2019 at 4:26 AM Connor Abbott <cwabbott0 at gmail.com 
> <mailto:cwabbott0 at gmail.com>> wrote:
> 
>     Reviewed-by: Connor Abbott <cwabbott0 at gmail.com
>     <mailto:cwabbott0 at gmail.com>>
> 
>     I'm a bit surprised it's that slow... do you have any idea what's
>     going on? I've made flamegraphs in the past on i965 to see where
>     most of the time is spent.
> 
>     On Wed, Feb 13, 2019 at 9:00 AM Timothy Arceri
>     <tarceri at itsqueeze.com <mailto:tarceri at itsqueeze.com>> wrote:
> 
>         Currently the radeonsi NIR backend takes around twice the time
>         of the tgsi backend to compile shader-db. These are some first
>         steps at reducing the overhead of NIR.
> 
>         This series reduces the compile time of a Deus Ex program I was
>         profiling by around 5%.
> 
> 
>         _______________________________________________
>         mesa-dev mailing list
>         mesa-dev at lists.freedesktop.org
>         <mailto:mesa-dev at lists.freedesktop.org>
>         https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
>     _______________________________________________
>     mesa-dev mailing list
>     mesa-dev at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list