pub struct ChannelCatBackward<D: Num> {
pub name: &'static str,
pub id: String,
pub block_size: i32,
pub kernel_source: String,
pub entry_point_source: String,
pub source: String,
/* private fields */
}Expand description
Channel-wise cat backward — extracts the gradient slice for one input from the combined upstream gradient tensor.
Index mapping:
dx[n * chunk_c + ci] = dy[n * c_total + chunk_offset + ci]
No atomic operations are required: this kernel reads from a specific
disjoint channel range of dy and writes to its own output buffer.
Grid: same as channel_cat_forward.
Fields§
§name: &'static strThe kernel function’s name (e.g. "flash_attention2_forward").
id: StringUnique kernel identifier: fn_name + dtype(s) + const values joined by “__”.
block_size: i32Compile-time kernel constant, from the annotated fn’s const generics.
kernel_source: StringThe original kernel function source.
entry_point_source: StringThe Rust source of the generated C-ABI entry-point wrapper function.
source: StringCombined source (kernel_source + "\n\n" + entry_point_source); used by the Kernel trait.
Implementations§
Trait Implementations§
Source§impl<D: Num> Kernel for ChannelCatBackward<D>
impl<D: Num> Kernel for ChannelCatBackward<D>
Source§fn kernel_source(&self) -> &str
fn kernel_source(&self) -> &str
Source§fn entry_point_source(&self) -> &str
fn entry_point_source(&self) -> &str
Source§fn entry_point_name(&self) -> String
fn entry_point_name(&self) -> String
"{name}_entry_point".