use crate::error::Result;
use numr::runtime::Runtime;
use numr::tensor::Tensor;
pub trait CalibrationOps<R: Runtime> {
fn awq_channel_scores(&self, activations: &Tensor<R>, weights: &Tensor<R>)
-> Result<Tensor<R>>;
fn fisher_information(&self, gradients: &Tensor<R>) -> Result<Tensor<R>>;
fn gptq_hessian_update(&self, hessian: &Tensor<R>, x_block: &Tensor<R>) -> Result<Tensor<R>>;
fn gptq_quantize_column(
&self,
weight: &Tensor<R>,
h_inv: &Tensor<R>,
num_bits: u32,
group_size: u32,
symmetric: bool,
) -> Result<(Tensor<R>, Tensor<R>, Tensor<R>)>;
}