Source/Packages

Realization.Nvidia.SM86.StreamingAttentionSM86

packages/realizations/cooperative/nvidia-sm86/src/Realization/Nvidia/SM86/StreamingAttentionSM86.alpha

1,203 lines221 declarations70.9 KiBSHA-256 23d4e5e2aa2a

def · lines 590–605

sqScoreGradient

Full file
P = 2^(t - L) and dS = P (dP - D), into S's registers (the products have finished: the first operation waits for them)
590def sqScoreGradient = (lambda unrestricted tail : (family SM86Program) .
591  (saFor 32 (lambda unrestricted i : Nat .
592    (let unrestricted nt = (naturalDivideUnchecked i 4) in (let unrestricted h = (naturalDivideUnchecked (naturalModuloUnchecked i 4) 2) in
593      (let unrestricted b = (naturalModuloUnchecked i 2) in
594      (let unrestricted e = (saElem (saS nt) h b) in
595      (lambda unrestricted rest : (family SM86Program) .
596        (saFfma e e saScale (sqNegL h)
597          (saEx2 e e saWaitNone rest))))))))
598  (saFor 32 (lambda unrestricted i : Nat .
599    (let unrestricted nt = (naturalDivideUnchecked i 4) in (let unrestricted h = (naturalDivideUnchecked (naturalModuloUnchecked i 4) 2) in
600      (let unrestricted b = (naturalModuloUnchecked i 2) in
601      (let unrestricted e = (saElem (saS nt) h b) in (let unrestricted g = (saElem (sqDP nt) h b) in
602      (lambda unrestricted rest : (family SM86Program) .
603        (saFadd g g (sqNegD h) saWaitNone
604          (saFmul e e g (naturalSelect (naturalIsZero i) saWait4 saWaitNone) rest)))))))))
605    tail)))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.