pub trait Synchronizes: Op {
// Required methods
fn minimum_scope(&self, ctx: &Context) -> SyncScope;
fn maximum_scope(&self, ctx: &Context) -> SyncScope;
// Provided method
fn verify(_op: &dyn Op, _ctx: &Context) -> Result<()>
where Self: Sized { ... }
}Required Methods§
Sourcefn minimum_scope(&self, ctx: &Context) -> SyncScope
fn minimum_scope(&self, ctx: &Context) -> SyncScope
Synchronizes at least at this scope. Should be used for optimizations where smaller scopes are more conservative (i.e. marking shared memory as unused).
Sourcefn maximum_scope(&self, ctx: &Context) -> SyncScope
fn maximum_scope(&self, ctx: &Context) -> SyncScope
Synchronizes at most at this scope. Should be used for optimizations where larger scopes are more conservative (i.e. making memory writes visible).
Provided Methods§
Trait Implementations§
impl OpInterfaceMarker for dyn Synchronizes
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl Synchronizes for AllOp
impl Synchronizes for AnyOp
impl Synchronizes for ArriveAndWaitOp
Sync scope depends on init params and use, so can’t be trivially analyzed. So just be conservative.
impl Synchronizes for AtomicUniformLoadOp
impl Synchronizes for BallotOp
impl Synchronizes for BroadcastOp
impl Synchronizes for ElectOp
impl Synchronizes for ExclusiveFProdOp
impl Synchronizes for ExclusiveFSumOp
impl Synchronizes for ExclusiveIProdOp
impl Synchronizes for ExclusiveISumOp
impl Synchronizes for FMaxOp
impl Synchronizes for FMinOp
impl Synchronizes for FProdOp
impl Synchronizes for FSumOp
impl Synchronizes for IProdOp
impl Synchronizes for ISumOp
impl Synchronizes for InclusiveFProdOp
impl Synchronizes for InclusiveFSumOp
impl Synchronizes for InclusiveIProdOp
impl Synchronizes for InclusiveISumOp
impl Synchronizes for LdMatrixOp
impl Synchronizes for cubecl_ir::dialect::matrix::LoadOp
impl Synchronizes for cubecl_ir::dialect::ssa_matrix::LoadOp
impl Synchronizes for MmaManualOp
impl Synchronizes for MmaManualScaledOp
impl Synchronizes for cubecl_ir::dialect::matrix::MultiplyAccumulateOp
impl Synchronizes for cubecl_ir::dialect::ssa_matrix::MultiplyAccumulateOp
impl Synchronizes for SMaxOp
impl Synchronizes for SMinOp
impl Synchronizes for ShuffleDownOp
impl Synchronizes for ShuffleOp
impl Synchronizes for ShuffleUpOp
impl Synchronizes for ShuffleXorOp
impl Synchronizes for StMatrixOp
impl Synchronizes for cubecl_ir::dialect::matrix::StoreOp
impl Synchronizes for cubecl_ir::dialect::ssa_matrix::StoreOp
impl Synchronizes for SyncOp
impl Synchronizes for UMaxOp
impl Synchronizes for UMinOp
impl Synchronizes for UniformLoadOp
impl Synchronizes for WaitOp
Sync scope depends on init params and use, so can’t be trivially analyzed. So just be conservative.
impl Synchronizes for WaitParityOp
Sync scope depends on init params and use, so can’t be trivially analyzed. So just be conservative.