def block_step
stelliferous@0.0.2.0 · kernel_pipeline.bend:132
import stelliferous@0.0.2.0/kernel_pipeline.bend as KernelPipeline
import Base
import stelliferous@0.0.2.0/kernel_spatial_packing.bend as Packing
import stelliferous@0.0.2.0/kernel_packing_buffer.bend as PackingBuffer
132
133
134def block_step(work: Work,pack_start: U32,output_start: U32,+span: U32,state: BlockState) -> BlockState:
135 Work{rows,h,w,k,s,p,ow,positions,+inner} = work
136 BlockState{input,tiles,weights,bias,output} = state
137 block_packed(rows,positions,inner,output_start,span,weights,bias,output,
138 PackingBuffer.run(Packing.Call{U32.to_nat((span / 8 * inner : U32)),pack_start,h,w,k,s,p,ow,inner},input,tiles))