pub struct KernelSpec {
pub kernel_type: KernelType,
pub input_channels: u8,
pub output_channels: u8,
pub width: u32,
pub height: u32,
}Expand description
Specification of a single GPU kernel invocation.
Fields§
§kernel_type: KernelTypeThe kernel type.
input_channels: u8Number of input channels.
output_channels: u8Number of output channels.
width: u32Image / buffer width in elements.
height: u32Image / buffer height in elements.
Implementations§
Source§impl KernelSpec
impl KernelSpec
Sourcepub fn new(
kernel_type: KernelType,
input_channels: u8,
output_channels: u8,
width: u32,
height: u32,
) -> Self
pub fn new( kernel_type: KernelType, input_channels: u8, output_channels: u8, width: u32, height: u32, ) -> Self
Creates a new KernelSpec.
Sourcepub fn total_elements(&self) -> u64
pub fn total_elements(&self) -> u64
Total number of elements processed (width × height).
Sourcepub fn estimated_flops(&self) -> u64
pub fn estimated_flops(&self) -> u64
Rough estimate of floating-point operations for this kernel.
Uses heuristic multipliers per kernel type and channel count.
Trait Implementations§
Source§impl Clone for KernelSpec
impl Clone for KernelSpec
Source§fn clone(&self) -> KernelSpec
fn clone(&self) -> KernelSpec
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for KernelSpec
impl RefUnwindSafe for KernelSpec
impl Send for KernelSpec
impl Sync for KernelSpec
impl Unpin for KernelSpec
impl UnsafeUnpin for KernelSpec
impl UnwindSafe for KernelSpec
Blanket Implementations§
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more