andreas-abel/uiCA

Time of operations grows?

chriselrod opened this issue · 2 comments

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

executiontimeline

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.

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.