pub enum CodeGenDecision {
UnrollLoop {
factor: u32,
},
PredicateBranch,
PrefetchMemory {
distance: u32,
},
IncreaseOccupancy {
target_blocks: u32,
},
UseLargerTiles {
tile_m: u32,
tile_n: u32,
},
SwitchToSharedMemory,
EnableSplitK {
k_slices: u32,
},
}Expand description
A concrete optimisation decision derived from profiling data.
Variants§
UnrollLoop
Unroll a hot loop by the given factor.
PredicateBranch
Convert a heavily biased branch to a predicated instruction.
PrefetchMemory
Insert prefetch instructions at the given distance (in iterations).
IncreaseOccupancy
Increase occupancy by targeting the given number of blocks per SM.
UseLargerTiles
Use larger tile dimensions for a compute-bound GEMM.
Promote global memory loads to shared memory.
EnableSplitK
Enable split-K parallelism.
Trait Implementations§
Source§impl Clone for CodeGenDecision
impl Clone for CodeGenDecision
Source§fn clone(&self) -> CodeGenDecision
fn clone(&self) -> CodeGenDecision
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 CodeGenDecision
impl Debug for CodeGenDecision
Source§impl Display for CodeGenDecision
impl Display for CodeGenDecision
Source§impl PartialEq for CodeGenDecision
impl PartialEq for CodeGenDecision
impl Eq for CodeGenDecision
impl StructuralPartialEq for CodeGenDecision
Auto Trait Implementations§
impl Freeze for CodeGenDecision
impl RefUnwindSafe for CodeGenDecision
impl Send for CodeGenDecision
impl Sync for CodeGenDecision
impl Unpin for CodeGenDecision
impl UnsafeUnpin for CodeGenDecision
impl UnwindSafe for CodeGenDecision
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