Trait StageConfig

Source
pub trait StageConfig:
    Copy
    + Clone
    + Eq
    + PartialEq
    + Hash
    + Debug
    + Send
    + Sync
    + 'static {
    type TileConfig: TileConfig;

Show 13 methods // Required methods fn tile_config(self) -> Self::TileConfig; fn stage_line_size<I: Into<Ident>>(&self, ident: I) -> u32; fn global_line_size<I: Into<Ident>>(&self, ident: I) -> u32; fn matrix_layout<I: Into<Ident>>(&self, ident: I) -> MatrixLayout; fn plane_dim(&self) -> u32; fn partition_buffering(&self) -> PartitionBuffering; fn num_stages(&self, ident: InputIdent) -> u32; fn tiling_scheme(&self) -> TilingScheme; fn plane_role_config(&self) -> PlaneRoleConfig; fn role_rule_config(&self) -> RoleRuleConfig; fn num_main_flow_planes(&self) -> u32; fn quantized(&self) -> bool; fn must_sync_plane_after_execution(&self) -> bool;
}
Expand description

Configuration for the Stage matmul (SMM) level

Required Associated Types§

Source

type TileConfig: TileConfig

Underlying Tile matmul config

Required Methods§

Source

fn tile_config(self) -> Self::TileConfig

Converts itself to the underlying Tile Matmul config

Source

fn stage_line_size<I: Into<Ident>>(&self, ident: I) -> u32

Returns the line size for the given ident

Source

fn global_line_size<I: Into<Ident>>(&self, ident: I) -> u32

Returns the line size for the given ident

Source

fn matrix_layout<I: Into<Ident>>(&self, ident: I) -> MatrixLayout

Returns the MatrixLayout for the given ident

Source

fn plane_dim(&self) -> u32

Returns how many units are in a plane

Source

fn partition_buffering(&self) -> PartitionBuffering

Returns whether we must perform partition buffering

Source

fn num_stages(&self, ident: InputIdent) -> u32

Returns the number of stages for the given input

Source

fn tiling_scheme(&self) -> TilingScheme

Returns the TilingScheme

Source

fn plane_role_config(&self) -> PlaneRoleConfig

Indicates the specialization roles for the planes

Source

fn role_rule_config(&self) -> RoleRuleConfig

How to identify the role of the plane depending on its index

Source

fn num_main_flow_planes(&self) -> u32

Number of planes participating in the main computation flow

Source

fn quantized(&self) -> bool

Whether the Matmul is quantized

Source

fn must_sync_plane_after_execution(&self) -> bool

Whether we must sync planes after execution because the execution is not sync by itself (depends on the runtime/compiler)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§