def job

stelliferous@0.0.2.0 · kernel_gemm.bend:42

import stelliferous@0.0.2.0/kernel_gemm.bend as KernelGemm
import Base

42# Input-major: one input group stays in cache while every row unit passes
43# over it (the BLIS loop order). Units 2b and 2b+1 share weight block b.
44def job(layout: Layout,index: U32) -> Job:
45  Layout{+rows,columns,+inner,+start,+output_columns} = layout
46  +index = index
47  +units = row_units(rows)
48  +unit = (index % units : U32)
49  +group = (index / units : U32)
50  Job{Context{(unit * 4 : U32),(start + group * 8 : U32),rows,output_columns,(group * inner : U32),(unit / 2 * inner : U32)},U32.is_eq((unit % 2 : U32),1),U32.to_nat(inner)}

Uses (11)

Used by (2)