~/bend-docscommunity

kernel_weights.bend checks

raw source on the hub · import stelliferous@0.0.2.0/kernel_weights.bend as Kernel_weights

6 imports
import Base
import ./storage_buffer.bend as Storage
import ./storage_allocation.bend as Allocation
import ./traversal_array.bend as Traversal
import ./kernel_tile.bend as Tile
import ./tensor.bend as Tensors

Types

type Layout source · line 11 · raw

Data

Each ordered K coordinate owns eight adjacent weights, one per output row of a block; rows past the last output read zero. One native tile read replaces eight separately masked scalar reads.

type Context source · line 14 · raw

Data

Definitions

def eighth source · line 17 · raw

@a:F32 -> @b:F32 -> @c:F32 -> @d:F32 -> @e:F32 -> @f:F32 -> @g:F32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def seventh source · line 21 · raw

@+rows:U32 -> @+inner:U32 -> @+row:U32 -> @+index:U32 -> @a:F32 -> @b:F32 -> @c:F32 -> @d:F32 -> @e:F32 -> @f:F32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def sixth source · line 25 · raw

@+rows:U32 -> @+inner:U32 -> @+row:U32 -> @+index:U32 -> @a:F32 -> @b:F32 -> @c:F32 -> @d:F32 -> @e:F32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def fifth source · line 29 · raw

@+rows:U32 -> @+inner:U32 -> @+row:U32 -> @+index:U32 -> @a:F32 -> @b:F32 -> @c:F32 -> @d:F32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def fourth source · line 33 · raw

@+rows:U32 -> @+inner:U32 -> @+row:U32 -> @+index:U32 -> @a:F32 -> @b:F32 -> @c:F32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def third source · line 37 · raw

@+rows:U32 -> @+inner:U32 -> @+row:U32 -> @+index:U32 -> @a:F32 -> @b:F32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def second source · line 41 · raw

@+rows:U32 -> @+inner:U32 -> @+row:U32 -> @+index:U32 -> @a:F32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def first source · line 45 · raw

@+rows:U32 -> @+inner:U32 -> @+row:U32 -> @+index:U32 -> @read:Pair(Array<F32>, F32) -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def read source · line 49 · raw

@input:Array<F32> -> @context:Context -> @index:U32 -> Pair(Array<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8)

def destination source · line 54 · raw

@context:Context -> @index:U32 -> U32

def copy_block source · line 58 · raw

@block:U32 -> @layout:Layout -> @owners:Pair(Array<F32>, Array<0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8>) -> Pair(Array<F32>, Array<0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8>)

def reordered source · line 66 · raw

@pair:Pair(Array<F32>, Array<0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8>) -> Array<0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8>

def run source · line 70 · raw

@+rows:U32 -> @+inner:U32 -> @input:Array<F32> -> Array<0x9be3b13bf249759bc81e1958bcd1a4c0/kernel_tile.Tile8>