[GPU] Fix various Xe3p/CRI performance edge cases - #5692
Conversation
| } | ||
|
|
||
| if (hhbase + ksys < opCount && rc == 8) mod |= Fwd; | ||
| bool canFwd = (hw == ngen::HW::Xe3p) |
There was a problem hiding this comment.
do we need to be checking a maximum sequence length for fwd to comply with spec or is it already handled/not applicable?
There was a problem hiding this comment.
I don't think there is a max sequence length for forwarding according to spec. Am I missing something?
|
This probably deserves a backport as well since its enabling critical CRI features. |
| // Priority: k chaining > extra C registers > r0 header storage. | ||
| // 64-bit emulation > r0 header storage. | ||
| if (AccumulatorRegister::count(hw, GRFs, problem.Tc.real().ngen()) == 0) | ||
| if (kChain == 0) { |
There was a problem hiding this comment.
FYI: this definitely steps on #5681 a little bit. I will make sure to merge onto your changes.
|
make test |
|
make test perf-gpu |
Fixes several small bugs/edge cases found while working on CRI:
grf512was not accounted for.