~/bend-docscommunity

tensor_select.bend checks

raw source on the hub · import stelliferous@0.0.2.0/tensor_select.bend as Tensor_select

Three-input selection: shared shape/band helpers and the common lane loop.

9 imports
import Base
import ./tensor.bend as Tensors
import ./tensor_shape.bend as Shapes
import ./tensor_layout.bend as Layout
import ./tensor_lanes.bend as Lanes
import ./tensor_band.bend as Bands
import ./tensor_band_schedule.bend as Schedule
import ./storage_buffer.bend as Storage
import ./traversal_partition.bend as Partition

Types

type BandPlan source · line 23 · raw

Data

Definitions

def dense source · line 12 · raw

@+shape:List<&2, U32> -> @+count:U32 -> @+workers:U32 -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def expanded source · line 18 · raw

@same:Bool -> @shape:List<&2, U32> -> @tensor:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def planned source · line 26 · raw

@shape:List<&2, U32> -> @fill:F32 -> @status:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Status -> @workers:U32 -> @+geometry:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Geometry -> @owners:Pair(0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Bands(F32), 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Plan) -> Pair(0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>, Maybe<&2, BandPlan>)

def plan source · line 31 · raw

@tensor:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> Pair(0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>, Maybe<&2, BandPlan>)

def common source · line 36 · raw

@left:Maybe<&2, BandPlan> -> @right:Maybe<&2, BandPlan> -> Maybe<&2, BandPlan>

def selected_leaf source · line 42 · raw

@geometry:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Geometry -> @first:U32 -> @rows:U32 -> @input:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Paired<0x9be3b13bf249759bc81e1958bcd1a4c0/storage_buffer.Buffer<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Paired<0x9be3b13bf249759bc81e1958bcd1a4c0/storage_buffer.Buffer<F32>, 0x9be3b13bf249759bc81e1958bcd1a4c0/storage_buffer.Buffer<F32>>> -> @resource:Unit -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Bands(F32)

def selected_bands source · line 51 · raw

@+geometry:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Geometry -> @+layout:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Plan -> @+parallel:Bool -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Bands(F32) -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Bands(F32) -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Bands(F32) -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor_band.Bands(F32)

def dispatch source · line 58 · raw

@layout:Maybe<&2, BandPlan> -> @shape:List<&2, U32> -> @count:U32 -> @fill:F32 -> @workers:U32 -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def matching source · line 68 · raw

@+shape:List<&2, U32> -> @+count:U32 -> @+fill:F32 -> @+workers:U32 -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def shapes source · line 74 · raw

@same:Bool -> @+shape:List<&2, U32> -> @count:Maybe<&2, U32> -> @mask_shape:List<&2, U32> -> @yes_shape:List<&2, U32> -> @no_shape:List<&2, U32> -> @fill:F32 -> @workers:U32 -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def masked_shape source · line 83 · raw

@common:Maybe<&2, List<&2, U32>> -> @+mask_shape:List<&2, U32> -> @+yes_shape:List<&2, U32> -> @+no_shape:List<&2, U32> -> @values_shape:List<&2, U32> -> @fill:F32 -> @workers:U32 -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def values_shape source · line 90 · raw

@common:Maybe<&2, List<&2, U32>> -> @+mask_shape:List<&2, U32> -> @+yes_shape:List<&2, U32> -> @no_shape:List<&2, U32> -> @fill:F32 -> @workers:U32 -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def status source · line 96 · raw

@status:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Status -> @mask_shape:List<&2, U32> -> @+yes_shape:List<&2, U32> -> @+no_shape:List<&2, U32> -> @fill:F32 -> @workers:U32 -> @mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>

def select source · line 102 · raw

@mask:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @yes:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> @no:0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32> -> 0x9be3b13bf249759bc81e1958bcd1a4c0/tensor.Tensor<F32>