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§
- Device
Id - Device identification
- GpuClock
Metrics - GPU clock metrics
- GpuDevice
Info - GPU device information (TRUENO-SPEC-010)
- GpuMemory
Metrics - GPU memory metrics
- GpuMetrics
- Complete GPU metrics snapshot
- GpuMonitor
- GPU Monitor for real-time metrics collection (TRUENO-SPEC-010)
- GpuPcie
Metrics - GPU PCIe metrics
- GpuPower
Metrics - GPU power metrics
- GpuThermal
Metrics - GPU thermal metrics
- GpuUtilization
- GPU utilization metrics
- Monitor
Config - Configuration for GPU monitoring
Enums§
- Device
Type - GpuBackend
- GPU compute backend
- GpuVendor
- GPU vendor identifier based on PCI vendor ID
- Monitor
Error - Errors from GPU monitoring operations
Traits§
- Compute
Device - Unified compute device abstraction (TRUENO-SPEC-020)