Struct cubecl_core::frontend::F16
source · pub struct F16 {
pub val: f32,
pub vectorization: u8,
}
Fields§
§val: f32
§vectorization: u8
Trait Implementations§
source§impl Abs for F16
impl Abs for F16
fn abs(x: Self) -> Self
fn __expand_abs( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl AddAssign<f32> for F16
impl AddAssign<f32> for F16
source§fn add_assign(&mut self, _rhs: f32)
fn add_assign(&mut self, _rhs: f32)
Performs the
+=
operation. Read moresource§impl AddAssign<u32> for F16
impl AddAssign<u32> for F16
source§fn add_assign(&mut self, _rhs: u32)
fn add_assign(&mut self, _rhs: u32)
Performs the
+=
operation. Read moresource§impl AddAssign for F16
impl AddAssign for F16
source§fn add_assign(&mut self, _rhs: Self)
fn add_assign(&mut self, _rhs: Self)
Performs the
+=
operation. Read moresource§impl Ceil for F16
impl Ceil for F16
fn ceil(x: Self) -> Self
fn __expand_ceil( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl Clamp for F16
impl Clamp for F16
source§fn clamp(input: Self, min_value: Self, max_value: Self) -> Self
fn clamp(input: Self, min_value: Self, max_value: Self) -> Self
Clamp the input value between the max and min values provided.
fn __expand_clamp( context: &mut CubeContext, input: Self::ExpandType, min_value: Self::ExpandType, max_value: Self::ExpandType, ) -> Self::ExpandType
source§impl ComptimeType for F16
impl ComptimeType for F16
source§fn into_expand(self) -> Self::ExpandType
fn into_expand(self) -> Self::ExpandType
Create the expand type from the normal type.
source§impl Cos for F16
impl Cos for F16
fn cos(x: Self) -> Self
fn __expand_cos( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl CubePrimitive for F16
impl CubePrimitive for F16
fn from_expand_elem(elem: ExpandElement) -> Self::ExpandType
source§impl CubeType for F16
impl CubeType for F16
type ExpandType = ExpandElementTyped<F16>
source§fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
fn init(context: &mut CubeContext, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
source§impl DivAssign<f32> for F16
impl DivAssign<f32> for F16
source§fn div_assign(&mut self, _rhs: f32)
fn div_assign(&mut self, _rhs: f32)
Performs the
/=
operation. Read moresource§impl DivAssign<u32> for F16
impl DivAssign<u32> for F16
source§fn div_assign(&mut self, _rhs: u32)
fn div_assign(&mut self, _rhs: u32)
Performs the
/=
operation. Read moresource§impl DivAssign for F16
impl DivAssign for F16
source§fn div_assign(&mut self, _rhs: Self)
fn div_assign(&mut self, _rhs: Self)
Performs the
/=
operation. Read moresource§impl Erf for F16
impl Erf for F16
fn erf(x: Self) -> Self
fn __expand_erf( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl Exp for F16
impl Exp for F16
fn exp(x: Self) -> Self
fn __expand_exp( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl ExpandElementBaseInit for F16
impl ExpandElementBaseInit for F16
fn init_elem(context: &mut CubeContext, elem: ExpandElement) -> ExpandElement
source§impl Float for F16
impl Float for F16
fn new(val: f32) -> Self
fn vectorized(val: f32, vectorization: UInt) -> Self
fn vectorized_empty(vectorization: UInt) -> Self
fn __expand_vectorized_empty( context: &mut CubeContext, vectorization: UInt, ) -> <Self as CubeType>::ExpandType
fn __expand_new( context: &mut CubeContext, val: Self::ExpandType, ) -> <Self as CubeType>::ExpandType
fn __expand_vectorized( context: &mut CubeContext, val: Self::ExpandType, vectorization: UInt, ) -> <Self as CubeType>::ExpandType
source§impl Floor for F16
impl Floor for F16
fn floor(x: Self) -> Self
fn __expand_floor( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl From<F16> for ExpandElement
impl From<F16> for ExpandElement
source§impl LaunchArgExpand for F16
impl LaunchArgExpand for F16
source§fn expand(
builder: &mut KernelBuilder,
vectorization: Vectorization,
) -> ExpandElementTyped<Self>
fn expand( builder: &mut KernelBuilder, vectorization: Vectorization, ) -> ExpandElementTyped<Self>
Register an input variable during compilation that fill the KernelBuilder.
source§fn expand_output(
builder: &mut KernelBuilder,
vectorization: Vectorization,
) -> <Self as CubeType>::ExpandType
fn expand_output( builder: &mut KernelBuilder, vectorization: Vectorization, ) -> <Self as CubeType>::ExpandType
Register an output variable during compilation that fill the KernelBuilder.
source§impl Log for F16
impl Log for F16
fn log(x: Self) -> Self
fn __expand_log( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl Log1p for F16
impl Log1p for F16
fn log1p(x: Self) -> Self
fn __expand_log1p( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl Max for F16
impl Max for F16
fn max(self, _rhs: Self) -> Self
fn __expand_max( context: &mut CubeContext, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
source§impl Min for F16
impl Min for F16
fn min(self, _rhs: Self) -> Self
fn __expand_min( context: &mut CubeContext, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
source§impl MulAssign<f32> for F16
impl MulAssign<f32> for F16
source§fn mul_assign(&mut self, _rhs: f32)
fn mul_assign(&mut self, _rhs: f32)
Performs the
*=
operation. Read moresource§impl MulAssign<u32> for F16
impl MulAssign<u32> for F16
source§fn mul_assign(&mut self, _rhs: u32)
fn mul_assign(&mut self, _rhs: u32)
Performs the
*=
operation. Read moresource§impl MulAssign for F16
impl MulAssign for F16
source§fn mul_assign(&mut self, _rhs: Self)
fn mul_assign(&mut self, _rhs: Self)
Performs the
*=
operation. Read moresource§impl Numeric for F16
impl Numeric for F16
type Primitive = f16
fn from_vec<const D: usize>(_vec: [u32; D]) -> Self
fn __expand_from_int( _context: &mut CubeContext, val: ExpandElementTyped<I64>, ) -> <Self as CubeType>::ExpandType
fn __expand_from_vec<const D: usize>( context: &mut CubeContext, vec: [ExpandElementTyped<UInt>; D], ) -> <Self as CubeType>::ExpandType
source§impl PartialOrd<f32> for F16
impl PartialOrd<f32> for F16
source§impl PartialOrd<u32> for F16
impl PartialOrd<u32> for F16
source§impl PartialOrd for F16
impl PartialOrd for F16
source§impl Powf for F16
impl Powf for F16
fn powf(self, _rhs: Self) -> Self
fn __expand_powf( context: &mut CubeContext, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
source§impl Recip for F16
impl Recip for F16
fn recip(x: Self) -> Self
fn __expand_recip( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl Remainder for F16
impl Remainder for F16
fn rem(self, _rhs: Self) -> Self
fn __expand_rem( context: &mut CubeContext, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
source§impl Sin for F16
impl Sin for F16
fn sin(x: Self) -> Self
fn __expand_sin( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl Sqrt for F16
impl Sqrt for F16
fn sqrt(x: Self) -> Self
fn __expand_sqrt( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl SubAssign<f32> for F16
impl SubAssign<f32> for F16
source§fn sub_assign(&mut self, _rhs: f32)
fn sub_assign(&mut self, _rhs: f32)
Performs the
-=
operation. Read moresource§impl SubAssign<u32> for F16
impl SubAssign<u32> for F16
source§fn sub_assign(&mut self, _rhs: u32)
fn sub_assign(&mut self, _rhs: u32)
Performs the
-=
operation. Read moresource§impl SubAssign for F16
impl SubAssign for F16
source§fn sub_assign(&mut self, _rhs: Self)
fn sub_assign(&mut self, _rhs: Self)
Performs the
-=
operation. Read moresource§impl Tanh for F16
impl Tanh for F16
fn tanh(x: Self) -> Self
fn __expand_tanh( context: &mut CubeContext, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
source§impl Vectorized for F16
impl Vectorized for F16
impl Copy for F16
impl Eq for F16
Auto Trait Implementations§
impl Freeze for F16
impl RefUnwindSafe for F16
impl Send for F16
impl Sync for F16
impl Unpin for F16
impl UnwindSafe for F16
Blanket Implementations§
source§impl<P> BitCast for Pwhere
P: CubePrimitive,
impl<P> BitCast for Pwhere
P: CubePrimitive,
source§fn bitcast_from<From: CubePrimitive>(value: From) -> Self
fn bitcast_from<From: CubePrimitive>(value: From) -> Self
Reinterpret the bits of another primitive as this primitive without conversion.
fn __expand_bitcast_from<From>(
context: &mut CubeContext,
value: From,
) -> <Self as CubeType>::ExpandTypewhere
From: Into<ExpandElement>,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<P> Cast for Pwhere
P: CubePrimitive,
impl<P> Cast for Pwhere
P: CubePrimitive,
fn cast_from<From>(_value: From) -> Pwhere
From: CubePrimitive,
fn __expand_cast_from<From>(
context: &mut CubeContext,
value: From,
) -> <Self as CubeType>::ExpandTypewhere
From: Into<ExpandElement>,
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> LaunchArg for Twhere
T: Numeric,
impl<T> LaunchArg for Twhere
T: Numeric,
§type RuntimeArg<'a, R: Runtime> = ScalarArg<T>
type RuntimeArg<'a, R: Runtime> = ScalarArg<T>
The runtime argument for the kernel.