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§
Sourcetype TileConfig: TileConfig
type TileConfig: TileConfig
Underlying Tile matmul config
Required Methods§
Sourcefn tile_config(self) -> Self::TileConfig
fn tile_config(self) -> Self::TileConfig
Converts itself to the underlying Tile Matmul config
Sourcefn stage_line_size<I: Into<Ident>>(&self, ident: I) -> u32
fn stage_line_size<I: Into<Ident>>(&self, ident: I) -> u32
Returns the line size for the given ident
Sourcefn global_line_size<I: Into<Ident>>(&self, ident: I) -> u32
fn global_line_size<I: Into<Ident>>(&self, ident: I) -> u32
Returns the line size for the given ident
Sourcefn matrix_layout<I: Into<Ident>>(&self, ident: I) -> MatrixLayout
fn matrix_layout<I: Into<Ident>>(&self, ident: I) -> MatrixLayout
Returns the MatrixLayout for the given ident
Sourcefn partition_buffering(&self) -> PartitionBuffering
fn partition_buffering(&self) -> PartitionBuffering
Returns whether we must perform partition buffering
Sourcefn num_stages(&self, ident: InputIdent) -> u32
fn num_stages(&self, ident: InputIdent) -> u32
Returns the number of stages for the given input
Sourcefn tiling_scheme(&self) -> TilingScheme
fn tiling_scheme(&self) -> TilingScheme
Returns the TilingScheme
Sourcefn plane_role_config(&self) -> PlaneRoleConfig
fn plane_role_config(&self) -> PlaneRoleConfig
Indicates the specialization roles for the planes
Sourcefn role_rule_config(&self) -> RoleRuleConfig
fn role_rule_config(&self) -> RoleRuleConfig
How to identify the role of the plane depending on its index
Sourcefn num_main_flow_planes(&self) -> u32
fn num_main_flow_planes(&self) -> u32
Number of planes participating in the main computation flow
Sourcefn must_sync_plane_after_execution(&self) -> bool
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.