Source/Packages

Realization.Nvidia.SM86.AdamWHalfSM86

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

428 lines73 declarations26.3 KiBSHA-256 9692515bc485

def · lines 89–102

ahPrologueWith

Full file
89def ahPrologueWith = (lambda unrestricted scaled : Nat . (lambda unrestricted iterations : Nat . (lambda unrestricted tail : (family SM86Program) .
90  (saS2R 0 (constructor SM86SpecialRegister SM86ThreadIdX)
91  (saS2R 1 (constructor SM86SpecialRegister SM86CooperativeThreadArrayIdX)
92  (saMovImm 3 16
93  (saMovImm 4 8
94  (saMovImm ahCounter iterations
95  (ahChoose scaled
96    (saMovConst 14 (saArgument adamWHalfSM86ScaleArgument)
97    (saMovConst 15 (naturalAdd (saArgument adamWHalfSM86ScaleArgument) 4)
98    (saOp (constructor SM86InstructionBody SM86LoadGlobal (saR 18) (saR 14) (saU 0) (saCtl saSB4 saWaitNone))
99      (ahScalarsFrom 1 (saMovImmAfter 5 0 (naturalAdd saWait5 saWait4)
100        (saImad 2 1 ahThreads 0 tail))))))
101    (ahScalarsFrom 0 (saMovImmAfter 5 0 saWait5
102      (saImad 2 1 ahThreads 0 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.