StageConfig

Trait StageConfig 

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

Show 15 methods // Required methods fn tile_config(self) -> Self::TileConfig; fn stage_line_size(&self, ident: StageIdent) -> u32; fn global_line_size(&self, ident: StageIdent) -> u32; fn matrix_layout(&self, ident: StageIdent) -> MatrixLayout; fn plane_dim(&self) -> u32; fn partition_buffering(&self) -> PartitionBuffering; 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; fn partition_schedule_scheme(&self) -> PartitionSchedulerScheme; fn num_stages(&self, ident: StageIdent) -> u32; // Provided method fn stage_memory_config(self, ident: StageIdent) -> StageMemoryConfig { ... }
}
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(&self, ident: StageIdent) -> u32

Returns the line size for the given ident

Source

fn global_line_size(&self, ident: StageIdent) -> u32

Returns the line size for the given ident

Source

fn matrix_layout(&self, ident: StageIdent) -> 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 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)

Source

fn partition_schedule_scheme(&self) -> PartitionSchedulerScheme

Source

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

Number of stages in the stage

Provided Methods§

Source

fn stage_memory_config(self, ident: StageIdent) -> StageMemoryConfig

Converts itself to the underlying Stage Memory config

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§