def run
import stelliferous@0.0.2.0/kernel_gemm_buffer.bend as KernelGemmBufferimport 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.