Skip to main content

Module monitor

Module monitor 

Source
Expand description

GPU Monitoring, Tracing, and Visualization (TRUENO-SPEC-010)

This module provides comprehensive GPU monitoring capabilities:

  • Device discovery and information
  • Real-time metrics collection
  • Cross-platform support (wgpu + optional CUDA)

§Design Philosophy

Dual-Backend Architecture: Supports both wgpu (cross-platform) and trueno-gpu (native CUDA) for maximum flexibility.

§References

  • Nickolls et al. (2008): GPU parallel computing model
  • Gregg (2016): Flame graph visualization
  • btop: NVML/ROCm SMI patterns

§Example

use trueno::monitor::{GpuDeviceInfo, GpuMonitor};

// Query device information
let info = GpuDeviceInfo::query()?;
println!("GPU: {}", info.name);
println!("VRAM: {} MB", info.vram_total / (1024 * 1024));

// Start background monitoring
let monitor = GpuMonitor::new(0)?;
let metrics = monitor.collect()?;
println!("VRAM used: {} / {}", metrics.memory.used, metrics.memory.total);

Re-exports§

pub use backends::cuda_monitor_available;
pub use backends::enumerate_cuda_devices;
pub use backends::query_cuda_device_info;
pub use backends::query_cuda_memory;

Modules§

backends
wgpu and CUDA backend implementations for GPU monitoring

Structs§

DeviceId
Device identification
GpuClockMetrics
GPU clock metrics
GpuDeviceInfo
GPU device information (TRUENO-SPEC-010)
GpuMemoryMetrics
GPU memory metrics
GpuMetrics
Complete GPU metrics snapshot
GpuMonitor
GPU Monitor for real-time metrics collection (TRUENO-SPEC-010)
GpuPcieMetrics
GPU PCIe metrics
GpuPowerMetrics
GPU power metrics
GpuThermalMetrics
GPU thermal metrics
GpuUtilization
GPU utilization metrics
MonitorConfig
Configuration for GPU monitoring

Enums§

DeviceType
GpuBackend
GPU compute backend
GpuVendor
GPU vendor identifier based on PCI vendor ID
MonitorError
Errors from GPU monitoring operations

Traits§

ComputeDevice
Unified compute device abstraction (TRUENO-SPEC-020)