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 2549–2549

skpElement

Full file
dK = s (the sum) and dV stored straight into a fused projection's gradient, token-major [seq][width] (the launch points the arguments at the key and value columns): dK binary32 at argument 8 and bfloat16 at 15, dV binary32 at 9 and bfloat16 at 16 (14 is the shared pass's dS^T), instead of the [head][seq][64] dK and [head][64][seq] dV^T planes the inverse layout passes copied and converted. dK takes skEpilogue's scaling FMUL; dV, as there, none. Each pair is stored as binary32 from its accumulators, then packed by F2FP.BF16 (the even column low) into a register of its own and stored. Position, head and column come from dK's binary32 offset (as sqProjectionEpilogue); dV's rows and columns are dK's. Registers: the K, V and S fragments' (dead once the products are done).
2549def skpElement : Nat = 52

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.