def run

stelliferous@0.0.2.0 · kernel_gemm_buffer.bend:9

import stelliferous@0.0.2.0/kernel_gemm_buffer.bend as KernelGemmBuffer
import Base
import stelliferous@0.0.2.0/kernel_tile.bend as Tile
import stelliferous@0.0.2.0/kernel_gemm.bend as Gemm
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/proofs/kernel_gemm_certificate.bend as GemmCertificate

9# The live certificate is updated once, outside every output and MAC loop.
10def run(+rows: U32,input: Storage.Buffer<Tile.Tile8>,weights: Storage.Buffer<Tile.Tile8>,bias: Storage.Buffer<F32>,
11  output: Storage.Buffer<F32>,+columns: U32,+inner: U32) -> Storage.Buffer<F32>:
12  Storage.Buffer{input,input_length,input_certificate} = input
13  Storage.Buffer{weights,weight_length,weight_certificate} = weights
14  Storage.Buffer{bias,bias_length,bias_certificate} = bias
15  Storage.Buffer{output,length,certificate} = output
16  Storage.Buffer{Gemm.run(rows,input,weights,bias,output,columns,inner),length,
17    GemmCertificate.certificate(rows,input,weights,bias,output,columns,inner,0,columns,input_certificate,weight_certificate,bias_certificate,certificate)}

Uses (6)

Used by (0)

No other definition uses this definition.