quantrs2_device/ml_optimization/
hardware.rs1use serde::{Deserialize, Serialize};
4use std::time::Duration;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct HardwarePredictionConfig {
9 pub enable_prediction: bool,
11 pub prediction_targets: Vec<PredictionTarget>,
13 pub prediction_horizon: Duration,
15 pub uncertainty_quantification: bool,
17 pub multi_step_prediction: bool,
19 pub hardware_adaptation: HardwareAdaptationConfig,
21}
22
23#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
25pub enum PredictionTarget {
26 CircuitFidelity,
27 ExecutionTime,
28 ErrorRate,
29 ResourceUtilization,
30 CircuitDepth,
31 SwapCount,
32 GateCount,
33 OptimalMapping,
34 HardwareBottlenecks,
35 CalibrationDrift,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
40pub struct HardwareAdaptationConfig {
41 pub enable_adaptation: bool,
43 pub adaptation_frequency: Duration,
45 pub adaptation_triggers: Vec<AdaptationTrigger>,
47 pub learning_rate_adaptation: bool,
49}
50
51#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
53pub enum AdaptationTrigger {
54 PerformanceDegradation,
55 CalibrationDrift,
56 EnvironmentalChange,
57 NewHardwareData,
58 ScheduledUpdate,
59 ThresholdBreach,
60}