<itoral>
apinheiro[m]: FYI, I am experimenting with adding compile strategies for thread counts other than 4
<itoral>
right now, if we can't compile with 4 threads, we basically give up on some of the optimizations
<itoral>
but some times we can get to compile with some of these optimizations at 2 threads
<itoral>
I am seeing this happening for a bunch of UE4 shaders for example
<itoral>
so it is probably worth a try
<itoral>
since lowering thread count already makes a large impact in reducing register pressure
itoral has quit [Read error: Connection reset by peer]
itoral has joined #videocore
<apinheiro[m]>
itoral ok, thanks for the ping
<apinheiro[m]>
as we were mentioning the other day
<apinheiro[m]>
the issue now is how to balance having so many strategies (with different combination of optimizations) and getting a reasonable build time
<apinheiro[m]>
specially on the register allocation
<apinheiro[m]>
one of this days it would be good to measure how much time is used on each part
<itoral>
I also implemented a mechanism to skip strategies that won't make progress
<itoral>
so that should alleviate things
<apinheiro[m]>
I have the feeling that a lot goes to the register allocation part, but I could be wrong
<itoral>
nope
<itoral>
compiles are typically fast enough
<apinheiro[m]>
<itoral "I also implemented a mechanism t"> ok, nice
<itoral>
except when we spill
<itoral>
but we only allow spilling as a last resort in the last 2 strategies
<itoral>
so impact should be limited
<itoral>
spilling can take very long though
<itoral>
because it restarts register allocation for every spill
<itoral>
they had the same problem in intel
<itoral>
and jason managed to fix that in their compiler
<itoral>
by avoiding a full restart of the register allocation for each spill
<itoral>
and manually fixing its graph for the spilled regiter
<itoral>
we should do that one that and it should have a big impact for us too
apinheiro has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Read error: Connection reset by peer]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
gpoo has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
itoral has quit [Remote host closed the connection]
itoral has joined #videocore
<itoral>
nice, the new compile strategies work does lead to visible perf improvements in spoza and UE4
<itoral>
somehwere between 1% and 3%
itoral has quit [Remote host closed the connection]