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 185–203

ahUpdate

Full file
element e's update: adamWF32MathProgram's instructions on its registers
185def ahUpdate = (lambda unrestricted e : Nat . (lambda unrestricted tail : (family SM86Program) .
186  (let unrestricted p = (ahValue e 0) in (let unrestricted g = (ahValue e 1) in
187  (let unrestricted m = (ahValue e 2) in (let unrestricted v = (ahValue e 3) in
188  (let unrestricted t0 = (ahTemporary e 0) in (let unrestricted t1 = (ahTemporary e 1) in
189  (let unrestricted t2 = (ahTemporary e 2) in
190  (saFmul g g 18 (naturalSelect e saWaitNone (naturalAdd saWait0 (naturalAdd saWait1 (naturalAdd saWait2 saWait3))))
191  (saFmul t0 g 20 saWaitNone
192  (saFfma m m 19 t0
193  (saFmul t2 g g saWaitNone
194  (saFmul t2 t2 22 saWaitNone
195  (saFfma v v 21 t2
196  (saMufu t1 v (constructor SM86MultiFunction SM86SquareRoot) saWaitNone
197  (saFadd t1 t1 25 saWait4
198  (saMufu t1 t1 (constructor SM86MultiFunction SM86Reciprocal) saWaitNone
199  (saFmul t0 m 24 saWaitNone
200  (saFmul t0 t0 t1 saWait4
201  (saFneg t0 t0
202  (saFmul p p 23 saWaitNone
203  (saFadd p p t0 saWaitNone 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.