use furiosa_mapping::*;
use crate::scalar::Scalar;
use crate::tensor::memory::{Address, HbmTensor, HostTensor};
use crate::tensor::raw::BufRawTensor;
use crate::runtime::backend::Backend;
#[derive(Debug, Clone, Copy)]
pub struct Emulation;
impl Backend for Emulation {
type RawTensor<D: Scalar> = BufRawTensor<D>;
async fn to_hbm<D: Scalar, Element: M, Chip: M, Element2: M>(
_host: &HostTensor<D, Element, Self>,
_address: Address,
) -> HbmTensor<D, Chip, Element2, Self> {
todo!("Emulation::to_hbm: buffer semantics not implemented yet")
}
async fn from_hbm<D: Scalar, Chip: M, Element: M, Element2: M>(
_hbm: &HbmTensor<D, Chip, Element, Self>,
) -> HostTensor<D, Element2, Self> {
todo!("Emulation::from_hbm: buffer semantics not implemented yet")
}
}