Time of operations grows?
chriselrod opened this issue · 2 comments
chriselrod commented
For example,
.intel_syntax noprefix
L64:
vmovapd xmm4, xmm1
vmulsd xmm1, xmm2, xmm1
vsubsd xmm1, xmm1, xmm3
vmulsd xmm3, xmm1, qword ptr [rax + 8*rdx]
vaddsd xmm0, xmm0, xmm3
inc rdx
vmovapd xmm3, xmm4
cmp rcx, rdx
jne L64
as -msyntax=intel cheb2.asm -o cheb2.o
uiCA.py cheb2.o -arch TGL -trace cheb2.html
andreas-abel commented
I'm not sure what the question here is. Is it about the time between issuing and retirement? This time grows in your example because of the dependencies between successive loop iterations.
chriselrod commented
Okay, that makes sense. Sorry, I was naively expecting it to start at the asymptotic point, but it is more informative to start at iteration zero.
The delta between dispatched and executed is of course remaining constant, and that's probably the most important metric to focus on.