Skip to main content

ReflectionPad1dBackward

Struct ReflectionPad1dBackward 

Source
pub struct ReflectionPad1dBackward<D: Num> {
    pub name: &'static str,
    pub id: String,
    pub pad_left: i32,
    pub pad_right: i32,
    pub block_ol: i32,
    pub kernel_source: String,
    pub entry_point_source: String,
    pub source: String,
    /* private fields */
}
Expand description

1-D reflection padding backward pass.

Each output gradient position maps back to one input position via the same reflection rule. Multiple output positions may map to the same input position (the boundary elements reflect), so atomic_add is used. dx must be zero-initialised before launch.

Fields§

§name: &'static str

The kernel function’s name (e.g. "flash_attention2_forward").

§id: String

Unique kernel identifier: fn_name + dtype(s) + const values joined by “__”.

§pad_left: i32

Compile-time kernel constant, from the annotated fn’s const generics.

§pad_right: i32

Compile-time kernel constant, from the annotated fn’s const generics.

§block_ol: i32

Compile-time kernel constant, from the annotated fn’s const generics.

§kernel_source: String

The original kernel function source.

§entry_point_source: String

The Rust source of the generated C-ABI entry-point wrapper function.

§source: String

Combined source (kernel_source + "\n\n" + entry_point_source); used by the Kernel trait.

Implementations§

Source§

impl<D: Num> ReflectionPad1dBackward<D>

Source

pub fn new(pad_left: i32, pad_right: i32, block_ol: i32) -> Self

Constructs a new kernel instance for these compile-time parameters.

Trait Implementations§

Source§

impl<D: Num> Kernel for ReflectionPad1dBackward<D>

Source§

type Args<'__a> = (*mut D, *mut D, i32, i32, i32, i32)

This kernel’s launch-argument tuple type.
Source§

fn id(&self) -> String

A content hash of this kernel’s source, used as a cache key.
Source§

fn name(&self) -> &str

This kernel’s name.
Source§

fn source(&self) -> &str

This kernel’s full source (DSL + kernel body + entry point wrapper).
Source§

fn kernel_source(&self) -> &str

This kernel’s body source, without the entry-point wrapper.
Source§

fn entry_point_source(&self) -> &str

Returns the Rust source of the generated C-ABI entry-point wrapper function.
Source§

fn entry_point_name(&self) -> String

Returns the PTX symbol name for this kernel: "{name}_entry_point".

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.