pub trait QuantizedDeviceKernels: DynBackendDevice {
// Required methods
fn qzeros(
&self,
elem_count: usize,
dtype: GgmlDType,
) -> Result<Box<dyn DynQuantizedStorage>, Error>;
fn load_quantized(
&self,
dtype: GgmlDType,
data: Cow<'_, [u8]>,
) -> Result<Box<dyn DynQuantizedStorage>, Error>;
}Expand description
Backend device → quantized-kernel constructors. fuel-core looks this up per Device to allocate fresh QStorage of a given dtype, or to load pre-quantized bytes.
Required Methods§
Sourcefn qzeros(
&self,
elem_count: usize,
dtype: GgmlDType,
) -> Result<Box<dyn DynQuantizedStorage>, Error>
fn qzeros( &self, elem_count: usize, dtype: GgmlDType, ) -> Result<Box<dyn DynQuantizedStorage>, Error>
Allocate a zero-initialized quantized storage on this device.
Sourcefn load_quantized(
&self,
dtype: GgmlDType,
data: Cow<'_, [u8]>,
) -> Result<Box<dyn DynQuantizedStorage>, Error>
fn load_quantized( &self, dtype: GgmlDType, data: Cow<'_, [u8]>, ) -> Result<Box<dyn DynQuantizedStorage>, Error>
Load pre-quantized block-format bytes onto this device. dtype
describes the block format; data is interpreted as a flat byte
slice of those blocks.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".