Struct KernelLauncher

Source
pub struct KernelLauncher<R: Runtime> {
    pub settings: KernelSettings,
    /* private fields */
}
Expand description

Prepare a kernel for launch.

Fields§

§settings: KernelSettings

Implementations§

Source§

impl<R: Runtime> KernelLauncher<R>

Source

pub fn register_tensor(&mut self, tensor: &TensorArg<'_, R>)

Register a tensor to be launched.

Source

pub fn register_tensor_map(&mut self, tensor: &TensorMapArg<'_, R>)

Register a mapped tensor to be launched.

Source

pub fn register_array(&mut self, array: &ArrayArg<'_, R>)

Register an input array to be launched.

Source

pub fn register_u8(&mut self, scalar: u8)

Register a u8 scalar to be launched.

Source

pub fn register_u16(&mut self, scalar: u16)

Register a u16 scalar to be launched.

Source

pub fn register_u32(&mut self, scalar: u32)

Register a u32 scalar to be launched.

Source

pub fn register_u64(&mut self, scalar: u64)

Register a u64 scalar to be launched.

Source

pub fn register_i8(&mut self, scalar: i8)

Register a i8 scalar to be launched.

Source

pub fn register_i16(&mut self, scalar: i16)

Register a i16 scalar to be launched.

Source

pub fn register_i32(&mut self, scalar: i32)

Register a i32 scalar to be launched.

Source

pub fn register_i64(&mut self, scalar: i64)

Register a i64 scalar to be launched.

Source

pub fn register_bf16(&mut self, scalar: bf16)

Register a bf16 scalar to be launched.

Source

pub fn register_f16(&mut self, scalar: f16)

Register a f16 scalar to be launched.

Source

pub fn register_f32(&mut self, scalar: f32)

Register a f32 scalar to be launched.

Source

pub fn register_f64(&mut self, scalar: f64)

Register a f64 scalar to be launched.

Source

pub fn launch<K: Kernel>( self, cube_count: CubeCount, kernel: K, client: &ComputeClient<R::Server, R::Channel>, )

Launch the kernel.

Source

pub unsafe fn launch_unchecked<K: Kernel>( self, cube_count: CubeCount, kernel: K, client: &ComputeClient<R::Server, R::Channel>, )

Launch the kernel without check bounds.

§Safety

The kernel must not:

  • Contain any out of bounds reads or writes. Doing so is immediate UB.
  • Contain any loops that never terminate. These may be optimized away entirely or cause other unpredictable behaviour.

Trait Implementations§

Source§

impl<R: Runtime> Default for KernelLauncher<R>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<R> Freeze for KernelLauncher<R>

§

impl<R> RefUnwindSafe for KernelLauncher<R>
where R: RefUnwindSafe,

§

impl<R> Send for KernelLauncher<R>

§

impl<R> Sync for KernelLauncher<R>

§

impl<R> Unpin for KernelLauncher<R>
where R: Unpin,

§

impl<R> UnwindSafe for KernelLauncher<R>
where R: UnwindSafe,

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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V