pub enum CubeOptimization<R: Runtime> {
ElementWise(ElemwiseOptimization<R>),
Matmul(MatmulOptimization<R>),
Reduce(ReduceOptimization<R>),
ReduceBroadcasted(ReduceBroadcastedOptimization<R>),
}Expand description
Fusion optimization type for cubecl.
More optimization variants should be added here.
Variants§
ElementWise(ElemwiseOptimization<R>)
Matmul(MatmulOptimization<R>)
Reduce(ReduceOptimization<R>)
ReduceBroadcasted(ReduceBroadcastedOptimization<R>)
Implementations§
Source§impl<R: Runtime> CubeOptimization<R>
impl<R: Runtime> CubeOptimization<R>
Sourcepub fn to_opt_state(&self) -> CubeOptimizationState
pub fn to_opt_state(&self) -> CubeOptimizationState
Serializes the current optimization to its state.
Trait Implementations§
Source§impl<R: Runtime> Debug for CubeOptimization<R>
impl<R: Runtime> Debug for CubeOptimization<R>
Source§impl<R: Runtime> NumOperations for CubeOptimization<R>
impl<R: Runtime> NumOperations for CubeOptimization<R>
Source§impl<R: Runtime> OperationFuser<CubeOptimization<R>> for ElementWiseFuser<R>
impl<R: Runtime> OperationFuser<CubeOptimization<R>> for ElementWiseFuser<R>
Source§fn fuse(&mut self, operation: &OperationIr)
fn fuse(&mut self, operation: &OperationIr)
Register a new tensor operation.
Source§fn finish(&mut self) -> CubeOptimization<R>
fn finish(&mut self) -> CubeOptimization<R>
Finish the optimization and create a fusion operation.
Source§fn status(&self) -> FuserStatus
fn status(&self) -> FuserStatus
Return the builder status.
Source§fn properties(&self) -> FuserProperties
fn properties(&self) -> FuserProperties
Return the builder properties.
Source§fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
Clone the optimization builder.
Source§impl<R: Runtime> OperationFuser<CubeOptimization<R>> for MatmulFuser<R>
impl<R: Runtime> OperationFuser<CubeOptimization<R>> for MatmulFuser<R>
Source§fn fuse(&mut self, operation: &OperationIr)
fn fuse(&mut self, operation: &OperationIr)
Register a new tensor operation.
Source§fn finish(&mut self) -> CubeOptimization<R>
fn finish(&mut self) -> CubeOptimization<R>
Finish the optimization and create a fusion operation.
Source§fn status(&self) -> FuserStatus
fn status(&self) -> FuserStatus
Return the builder status.
Source§fn properties(&self) -> FuserProperties
fn properties(&self) -> FuserProperties
Return the builder properties.
Source§fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
Clone the optimization builder.
Source§impl<R: Runtime> OperationFuser<CubeOptimization<R>> for ReduceFuser<R>
impl<R: Runtime> OperationFuser<CubeOptimization<R>> for ReduceFuser<R>
Source§fn fuse(&mut self, operation: &OperationIr)
fn fuse(&mut self, operation: &OperationIr)
Register a new tensor operation.
Source§fn finish(&mut self) -> CubeOptimization<R>
fn finish(&mut self) -> CubeOptimization<R>
Finish the optimization and create a fusion operation.
Source§fn status(&self) -> FuserStatus
fn status(&self) -> FuserStatus
Return the builder status.
Source§fn properties(&self) -> FuserProperties
fn properties(&self) -> FuserProperties
Return the builder properties.
Source§fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
Clone the optimization builder.
Source§impl<R: Runtime> OperationFuser<CubeOptimization<R>> for ReduceBroadcastedFuser<R>
impl<R: Runtime> OperationFuser<CubeOptimization<R>> for ReduceBroadcastedFuser<R>
Source§fn fuse(&mut self, operation: &OperationIr)
fn fuse(&mut self, operation: &OperationIr)
Register a new tensor operation.
Source§fn finish(&mut self) -> CubeOptimization<R>
fn finish(&mut self) -> CubeOptimization<R>
Finish the optimization and create a fusion operation.
Source§fn status(&self) -> FuserStatus
fn status(&self) -> FuserStatus
Return the builder status.
Source§fn properties(&self) -> FuserProperties
fn properties(&self) -> FuserProperties
Return the builder properties.
Source§fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
fn clone_dyn(&self) -> Box<dyn OperationFuser<CubeOptimization<R>>>
Clone the optimization builder.
Auto Trait Implementations§
impl<R> !RefUnwindSafe for CubeOptimization<R>
impl<R> !UnwindSafe for CubeOptimization<R>
impl<R> Freeze for CubeOptimization<R>
impl<R> Send for CubeOptimization<R>
impl<R> Sync for CubeOptimization<R>
impl<R> Unpin for CubeOptimization<R>
impl<R> UnsafeUnpin for CubeOptimization<R>
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