pub struct KernelOptimizationAnalyzer { /* private fields */ }Expand description
Comprehensive kernel optimization analyzer
Implementations§
Source§impl KernelOptimizationAnalyzer
impl KernelOptimizationAnalyzer
pub fn new() -> Result<Self>
Sourcepub fn new_empty() -> Self
pub fn new_empty() -> Self
Create an analyzer with empty state, for the fallback path when
Self::new fails.
Every sub-analyzer starts from the same empty maps Self::new builds;
the only difference is that this constructor cannot fail. It is named
new_empty rather than the previous new_stub because nothing here is
stubbed out: analysis on this instance is fully functional, it simply
starts with no recorded history.
Sourcepub fn analyzed_kernel_names(&self) -> Vec<&str>
pub fn analyzed_kernel_names(&self) -> Vec<&str>
Names of every kernel this analyzer holds a real execution profile for.
Sourcepub fn optimization_suggestions(
&self,
) -> &HashMap<String, Vec<KernelOptimization>>
pub fn optimization_suggestions( &self, ) -> &HashMap<String, Vec<KernelOptimization>>
Optimization suggestions recorded so far, keyed by kernel name.
Sourcepub fn analyze_kernel(
&mut self,
kernel_name: &str,
profile_data: KernelProfileData,
) -> Result<Vec<KernelOptimization>>
pub fn analyze_kernel( &mut self, kernel_name: &str, profile_data: KernelProfileData, ) -> Result<Vec<KernelOptimization>>
Analyze a kernel execution and generate optimization suggestions
Sourcepub fn analyze_fusion_opportunities(
&mut self,
kernel_sequence: &[String],
) -> Result<Vec<FusionOpportunity>>
pub fn analyze_fusion_opportunities( &mut self, kernel_sequence: &[String], ) -> Result<Vec<FusionOpportunity>>
Analyze kernel fusion opportunities
Sourcepub fn get_optimization_report(
&self,
kernel_name: &str,
) -> Result<KernelOptimizationReport>
pub fn get_optimization_report( &self, kernel_name: &str, ) -> Result<KernelOptimizationReport>
Get comprehensive optimization report for a kernel
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KernelOptimizationAnalyzer
impl RefUnwindSafe for KernelOptimizationAnalyzer
impl Send for KernelOptimizationAnalyzer
impl Sync for KernelOptimizationAnalyzer
impl Unpin for KernelOptimizationAnalyzer
impl UnsafeUnpin for KernelOptimizationAnalyzer
impl UnwindSafe for KernelOptimizationAnalyzer
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.