Source/Packages

Realization.Nvidia.SM86.StreamingAttentionSM86

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

3,230 lines493 declarations193.3 KiBSHA-256 cc0366b3d857

def · lines 2841–2849

sksLoadRowTermsInto

Full file
the D pointer pair, beside L's (saPointer); the loop never names R6/R7 The same loads into the row-term registers themselves (`target` nt b), their data under SB4, so the sub-tile's products run while they are in flight; the terms are negated in place once the products are issued. SB4 is the score pass's EX2 barrier, which nothing between these loads and that negation names.
2841def sksLoadRowTermsInto = (lambda unrestricted target : (pi unrestricted nt : Nat . (pi unrestricted b : Nat . Nat)) .
2842  (lambda unrestricted pointer : Nat . (lambda unrestricted tail : (family SM86Program) .
2843  (saFor 8 (lambda unrestricted i : Nat .
2844    (saOp (constructor SM86InstructionBody SM86LoadGlobal
2845      (saR (target (naturalDivideUnchecked i 2) (naturalModuloUnchecked i 2))) (saR pointer)
2846      (saU (naturalAdd (naturalMultiply (naturalDivideUnchecked i 2) 32) (naturalMultiply (naturalModuloUnchecked i 2) 4)))
2847      (constructor SM86Control SM86ControlValue (byte 15) (constructor SM86YieldMode SM86Continue)
2848        saSB4 saSB5 (nat-to-byte saWait5) (byte 0)))))
2849    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.