pub struct HypercubeConfig {
pub cube_span: CubeSpan,
pub global_order: GlobalOrder,
pub cube_count_plan_config: CubeCountPlanConfig,
}
Expand description
Determines how to launch the hypercube, i.e. anything relevant to CubeCount and where a Cube at a cube position should work Similar to [HyperCubeSelection] but injected in kernel as comptime struct
Fields§
§cube_span: CubeSpan
§global_order: GlobalOrder
§cube_count_plan_config: CubeCountPlanConfig
Implementations§
Source§impl HypercubeConfig
impl HypercubeConfig
Sourcepub fn validate(&self, problem: &MatmulProblem) -> Result<(), MatmulSetupError>
pub fn validate(&self, problem: &MatmulProblem) -> Result<(), MatmulSetupError>
Returns an error if:
- The global order is swizzle but its assumptions are not met
Source§impl HypercubeConfig
impl HypercubeConfig
Sourcepub fn cube_count_plan(
&self,
problem: &MatmulProblem,
max_cube_count: CubeCount,
) -> CubeCountPlan
pub fn cube_count_plan( &self, problem: &MatmulProblem, max_cube_count: CubeCount, ) -> CubeCountPlan
Make a CubeCountPlan from the problem, constrained to not exceed the maximal cube count
Trait Implementations§
Source§impl Clone for HypercubeConfig
impl Clone for HypercubeConfig
Source§fn clone(&self) -> HypercubeConfig
fn clone(&self) -> HypercubeConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for HypercubeConfig
impl Debug for HypercubeConfig
Source§impl Hash for HypercubeConfig
impl Hash for HypercubeConfig
Source§impl PartialEq for HypercubeConfig
impl PartialEq for HypercubeConfig
impl Copy for HypercubeConfig
impl Eq for HypercubeConfig
impl StructuralPartialEq for HypercubeConfig
Auto Trait Implementations§
impl Freeze for HypercubeConfig
impl RefUnwindSafe for HypercubeConfig
impl Send for HypercubeConfig
impl Sync for HypercubeConfig
impl Unpin for HypercubeConfig
impl UnwindSafe for HypercubeConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.