coppelius D24: causal softmax over 1024-wide rows (attention scores at
context 1024), 256 threads x FOUR consecutive elements each, one block per
row, the row index taken in full from CTAID.X (the 256-wide variant masks
from the low eight bits). Registers: R0 tid, R1 row, R5 = 4, R17 = tid*4
(first column), R16 = row*1024 + R17 (element index), R2:R3 input address,
R4/R12/R13/R14 the four scores, R11 = row - column0, R9 scratch, R6
accumulator, R7/R8 reduction scratch, R10:R11 output address.
913def softmaxSM86MaskOne1024 =
914 (lambda unrestricted delta : (family SM86Unsigned32) .
915 (lambda unrestricted element : (family SM86Register) .
916 (lambda unrestricted tail : (family SM86Program) .
917 (softmaxSM86Next
918 (constructor
919 SM86InstructionBody
920 SM86IntegerAddThreeImmediate
921 softmaxSM86R9
922 softmaxSM86R11
923 delta
924 sm86SafeControl)
925 (softmaxSM86Next
926 (constructor
927 SM86InstructionBody
928 SM86ShiftRightImmediate
929 softmaxSM86R9
930 softmaxSM86R9
931 (byte 31)
932 sm86SafeControl)
933 (softmaxSM86Next
934 (constructor
935 SM86InstructionBody
936 SM86PredicateGreaterThanImmediate
937 softmaxSM86P0
938 softmaxSM86R9
939 softmaxSM86U0
940 sm86SafeControl)
941 (softmaxSM86PredicatedNext
942 softmaxSM86P0
943 (constructor
944 SM86InstructionBody
945 SM86MoveImmediate
946 element
947 softmaxSM86UNegativeInfinity
948 sm86SafeControl)
949 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.