pub struct MultiGpuPerformanceMonitor { /* private fields */ }Expand description
Multi-GPU performance monitor
Implementations§
Source§impl MultiGpuPerformanceMonitor
impl MultiGpuPerformanceMonitor
Sourcepub fn new(max_events: usize, analysis_interval: Duration) -> Self
pub fn new(max_events: usize, analysis_interval: Duration) -> Self
Create a new performance monitor
Sourcepub fn add_device(&self, device: Arc<GpuDevice>)
pub fn add_device(&self, device: Arc<GpuDevice>)
Add a device to monitor
Sourcepub fn start_operation(
&self,
operation_id: String,
device_id: DeviceId,
operation_type: String,
memory_usage_mb: f32,
workgroup_config: (u32, u32, u32),
buffer_sizes: Vec<u64>,
) -> OperationHandle<'_>
pub fn start_operation( &self, operation_id: String, device_id: DeviceId, operation_type: String, memory_usage_mb: f32, workgroup_config: (u32, u32, u32), buffer_sizes: Vec<u64>, ) -> OperationHandle<'_>
Start monitoring an operation
Sourcepub fn get_performance_analysis(
&self,
window_duration: Duration,
) -> UnifiedGpuResult<PerformanceAnalysisReport>
pub fn get_performance_analysis( &self, window_duration: Duration, ) -> UnifiedGpuResult<PerformanceAnalysisReport>
Get performance analysis
Sourcepub fn set_monitoring_enabled(&mut self, enabled: bool)
pub fn set_monitoring_enabled(&mut self, enabled: bool)
Enable or disable monitoring
Sourcepub fn should_perform_analysis(&self) -> bool
pub fn should_perform_analysis(&self) -> bool
Check if automatic analysis should be performed
Auto Trait Implementations§
impl Freeze for MultiGpuPerformanceMonitor
impl RefUnwindSafe for MultiGpuPerformanceMonitor
impl Send for MultiGpuPerformanceMonitor
impl Sync for MultiGpuPerformanceMonitor
impl Unpin for MultiGpuPerformanceMonitor
impl UnwindSafe for MultiGpuPerformanceMonitor
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<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.