use super::weights::{DequantizedFFNWeights, DequantizedWeightCache};
use crate::error::{RealizarError, Result};
use crate::gguf::{
BatchGenerationStats, DispatchMetrics, OwnedQuantizedKVCache, OwnedQuantizedModel,
QuantizedGenerateConfig,
};
pub struct OwnedQuantizedModelCachedSync {
model: OwnedQuantizedModel,
scheduler: std::sync::Mutex<Option<crate::gpu::HybridScheduler>>,
#[cfg(feature = "cuda")]
cuda_scheduler: std::sync::Mutex<Option<crate::gpu::CudaScheduler>>,
dequant_cache: std::sync::RwLock<Option<DequantizedWeightCache>>,
}
#[cfg(feature = "gpu")]
unsafe impl Send for OwnedQuantizedModelCachedSync {}
#[cfg(feature = "gpu")]
unsafe impl Sync for OwnedQuantizedModelCachedSync {}
include!("sync_owned_quantized.rs");