Skip to main content

gemm_row_unrolled

Function gemm_row_unrolled 

Source
pub fn gemm_row_unrolled(
    name: &str,
    m: usize,
    n: usize,
    k: usize,
    tile: Option<usize>,
    par: Option<usize>,
    intra: usize,
    kk: usize,
    k_tile: Option<usize>,
    t: &PlasticineTarget,
) -> Result<WorkloadRow, String>
Expand description

intra is the product of the unrolls INSIDE one tile’s chunk (the emitted nest’s row and column loops) and kk the reduction chunks run side by side (loop_kk, a dot product’s op): both divide the work per tile, where par divides the number of column panels — different axes, and the model needs each to reproduce an unrolled program. k_tile is the reduction chunk the operands stream in (Spatial’s ts along K; None streams a tile’s panels whole).