Skip to main content

TensorType

Trait TensorType 

Source
pub trait TensorType:
    Debug
    + PartialEq
    + Copy
    + Sync
    + Send
    + 'static {
    const DTYPE: GGmlType;
Show 17 methods // Required methods fn to_f32(&self) -> f32; fn to_f16(&self) -> f16; fn to_i32(&self) -> i32; fn to_usize(&self) -> usize; fn from_f32(x: f32) -> Self; fn from_x<X: TensorType>(x: X) -> Self; fn reduce_sum(chunk: &[Self]) -> Self; fn vec_silu(n: usize, y: &mut [Self], x: &[Self]); fn vec_scale(n: usize, y: &mut [Self], v: Self); fn softmax(nc: usize, dp: &mut [Self], sp: &[Self]); fn rms_norm(ne00: usize, x: &[Self], y: &mut [Self], eps: f32); fn vec_add(inp1: &[Self], inp2: &[Self], dst: &mut [Self]); fn vec_mul(inp1: &[Self], inp2: &[Self], dst: &mut [Self]); // Provided methods fn zeros() -> Self { ... } fn byte_size() -> usize { ... } fn blck_size() -> usize { ... } fn is_quantized(&self) -> bool { ... }
}

Required Associated Constants§

Required Methods§

Source

fn to_f32(&self) -> f32

Source

fn to_f16(&self) -> f16

Source

fn to_i32(&self) -> i32

Source

fn to_usize(&self) -> usize

Source

fn from_f32(x: f32) -> Self

Source

fn from_x<X: TensorType>(x: X) -> Self

Source

fn reduce_sum(chunk: &[Self]) -> Self

Source

fn vec_silu(n: usize, y: &mut [Self], x: &[Self])

Source

fn vec_scale(n: usize, y: &mut [Self], v: Self)

Source

fn softmax(nc: usize, dp: &mut [Self], sp: &[Self])

Source

fn rms_norm(ne00: usize, x: &[Self], y: &mut [Self], eps: f32)

Source

fn vec_add(inp1: &[Self], inp2: &[Self], dst: &mut [Self])

Source

fn vec_mul(inp1: &[Self], inp2: &[Self], dst: &mut [Self])

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl TensorType for f16

Source§

const DTYPE: GGmlType = GGmlType::F16

Source§

fn to_f32(&self) -> f32

Source§

fn to_f16(&self) -> f16

Source§

fn to_i32(&self) -> i32

Source§

fn to_usize(&self) -> usize

Source§

fn from_f32(x: f32) -> Self

Source§

fn from_x<X: TensorType>(x: X) -> Self

Source§

fn reduce_sum(chunk: &[Self]) -> Self

Source§

fn vec_silu(n: usize, y: &mut [Self], x: &[Self])

Source§

fn vec_scale(n: usize, y: &mut [Self], v: Self)

Source§

fn softmax(nc: usize, dp: &mut [Self], sp: &[Self])

Source§

fn rms_norm(ne00: usize, x: &[Self], y: &mut [Self], eps: f32)

Source§

fn vec_add(inp1: &[Self], inp2: &[Self], dst: &mut [Self])

Source§

fn vec_mul(inp1: &[Self], inp2: &[Self], dst: &mut [Self])

Source§

impl TensorType for f32

Source§

const DTYPE: GGmlType = GGmlType::F32

Source§

fn to_f32(&self) -> f32

Source§

fn to_f16(&self) -> f16

Source§

fn to_i32(&self) -> i32

Source§

fn to_usize(&self) -> usize

Source§

fn from_f32(x: f32) -> Self

Source§

fn from_x<X: TensorType>(x: X) -> Self

Source§

fn reduce_sum(chunk: &[Self]) -> Self

Source§

fn vec_silu(n: usize, y: &mut [Self], x: &[Self])

Source§

fn vec_scale(n: usize, y: &mut [Self], v: Self)

Source§

fn softmax(nc: usize, dp: &mut [Self], sp: &[Self])

Source§

fn rms_norm(ne00: usize, x: &[Self], y: &mut [Self], eps: f32)

Source§

fn vec_add(inp1: &[Self], inp2: &[Self], dst: &mut [Self])

Source§

fn vec_mul(inp1: &[f32], inp2: &[f32], dst: &mut [f32])

Source§

impl TensorType for i32

Source§

const DTYPE: GGmlType = GGmlType::I32

Source§

fn to_f32(&self) -> f32

Source§

fn to_f16(&self) -> f16

Source§

fn to_i32(&self) -> i32

Source§

fn to_usize(&self) -> usize

Source§

fn from_f32(x: f32) -> Self

Source§

fn from_x<X: TensorType>(x: X) -> Self

Source§

fn reduce_sum(chunk: &[Self]) -> Self

Source§

fn vec_silu(n: usize, y: &mut [Self], x: &[Self])

Source§

fn vec_scale(n: usize, y: &mut [Self], v: Self)

Source§

fn softmax(nc: usize, dp: &mut [Self], sp: &[Self])

Source§

fn rms_norm(ne00: usize, x: &[Self], y: &mut [Self], eps: f32)

Source§

fn vec_add(inp1: &[Self], inp2: &[Self], dst: &mut [Self])

Source§

fn vec_mul(inp1: &[Self], inp2: &[Self], dst: &mut [Self])

Implementors§