Trait candle_core::backend::BackendStorage

source ·
pub trait BackendStorage: Sized {
    type Device: BackendDevice;

Show 28 methods // Required methods fn try_clone(&self, _: &Layout) -> Result<Self>; fn dtype(&self) -> DType; fn device(&self) -> &Self::Device; fn to_cpu_storage(&self) -> Result<CpuStorage>; fn affine(&self, _: &Layout, _: f64, _: f64) -> Result<Self>; fn powf(&self, _: &Layout, _: f64) -> Result<Self>; fn elu(&self, _: &Layout, _: f64) -> Result<Self>; fn reduce_op(&self, _: ReduceOp, _: &Layout, _: &[usize]) -> Result<Self>; fn cmp(&self, _: CmpOp, _: &Self, _: &Layout, _: &Layout) -> Result<Self>; fn to_dtype(&self, _: &Layout, _: DType) -> Result<Self>; fn unary_impl<B: UnaryOpT>(&self, _: &Layout) -> Result<Self>; fn binary_impl<B: BinaryOpT>( &self, _: &Self, _: &Layout, _: &Layout ) -> Result<Self>; fn where_cond( &self, _: &Layout, _: &Self, _: &Layout, _: &Self, _: &Layout ) -> Result<Self>; fn conv1d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConv1D ) -> Result<Self>; fn conv_transpose1d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConvTranspose1D ) -> Result<Self>; fn conv2d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConv2D ) -> Result<Self>; fn conv_transpose2d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConvTranspose2D ) -> Result<Self>; fn avg_pool2d( &self, _: &Layout, _: (usize, usize), _: (usize, usize) ) -> Result<Self>; fn max_pool2d( &self, _: &Layout, _: (usize, usize), _: (usize, usize) ) -> Result<Self>; fn upsample_nearest1d(&self, _: &Layout, _: usize) -> Result<Self>; fn upsample_nearest2d(&self, _: &Layout, _: usize, _: usize) -> Result<Self>; fn gather(&self, _: &Layout, _: &Self, _: &Layout, _: usize) -> Result<Self>; fn scatter_add( &self, _: &Layout, _: &Self, _: &Layout, _: &Self, _: &Layout, _: usize ) -> Result<Self>; fn index_select( &self, _: &Self, _: &Layout, _: &Layout, _: usize ) -> Result<Self>; fn index_add( &self, _: &Layout, _: &Self, _: &Layout, _: &Self, _: &Layout, _: usize ) -> Result<Self>; fn matmul( &self, _: &Self, _: (usize, usize, usize, usize), _: &Layout, _: &Layout ) -> Result<Self>; fn copy_strided_src(&self, _: &mut Self, _: usize, _: &Layout) -> Result<()>; fn copy2d( &self, _: &mut Self, _d1: usize, _d2: usize, _src_stride1: usize, _dst_stride1: usize, _src_offset: usize, _dst_offset: usize ) -> Result<()>;
}

Required Associated Types§

Required Methods§

source

fn try_clone(&self, _: &Layout) -> Result<Self>

source

fn dtype(&self) -> DType

source

fn device(&self) -> &Self::Device

source

fn to_cpu_storage(&self) -> Result<CpuStorage>

source

fn affine(&self, _: &Layout, _: f64, _: f64) -> Result<Self>

source

fn powf(&self, _: &Layout, _: f64) -> Result<Self>

source

fn elu(&self, _: &Layout, _: f64) -> Result<Self>

source

fn reduce_op(&self, _: ReduceOp, _: &Layout, _: &[usize]) -> Result<Self>

source

fn cmp(&self, _: CmpOp, _: &Self, _: &Layout, _: &Layout) -> Result<Self>

source

fn to_dtype(&self, _: &Layout, _: DType) -> Result<Self>

source

fn unary_impl<B: UnaryOpT>(&self, _: &Layout) -> Result<Self>

source

fn binary_impl<B: BinaryOpT>( &self, _: &Self, _: &Layout, _: &Layout ) -> Result<Self>

source

fn where_cond( &self, _: &Layout, _: &Self, _: &Layout, _: &Self, _: &Layout ) -> Result<Self>

source

fn conv1d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConv1D ) -> Result<Self>

source

fn conv_transpose1d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConvTranspose1D ) -> Result<Self>

source

fn conv2d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConv2D ) -> Result<Self>

source

fn conv_transpose2d( &self, _l: &Layout, _kernel: &Self, _kernel_l: &Layout, _params: &ParamsConvTranspose2D ) -> Result<Self>

source

fn avg_pool2d( &self, _: &Layout, _: (usize, usize), _: (usize, usize) ) -> Result<Self>

source

fn max_pool2d( &self, _: &Layout, _: (usize, usize), _: (usize, usize) ) -> Result<Self>

source

fn upsample_nearest1d(&self, _: &Layout, _: usize) -> Result<Self>

source

fn upsample_nearest2d(&self, _: &Layout, _: usize, _: usize) -> Result<Self>

source

fn gather(&self, _: &Layout, _: &Self, _: &Layout, _: usize) -> Result<Self>

source

fn scatter_add( &self, _: &Layout, _: &Self, _: &Layout, _: &Self, _: &Layout, _: usize ) -> Result<Self>

source

fn index_select( &self, _: &Self, _: &Layout, _: &Layout, _: usize ) -> Result<Self>

source

fn index_add( &self, _: &Layout, _: &Self, _: &Layout, _: &Self, _: &Layout, _: usize ) -> Result<Self>

source

fn matmul( &self, _: &Self, _: (usize, usize, usize, usize), _: &Layout, _: &Layout ) -> Result<Self>

source

fn copy_strided_src(&self, _: &mut Self, _: usize, _: &Layout) -> Result<()>

source

fn copy2d( &self, _: &mut Self, _d1: usize, _d2: usize, _src_stride1: usize, _dst_stride1: usize, _src_offset: usize, _dst_offset: usize ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§