pub struct Launcher { /* private fields */ }Expand description
One launch: a kernel-form partitioning, the concrete space with real extents, and the grid. What it settled is shared, so a launch kept and run again clones it for the price of a count.
Implementations§
Source§impl Launcher
impl Launcher
Sourcepub fn new(
client: &Client,
partitioning: Partitioning,
concrete: &Space,
grid: Grid,
) -> Result<Self, Refusal>
pub fn new( client: &Client, partitioning: Partitioning, concrete: &Space, grid: Grid, ) -> Result<Self, Refusal>
partitioning over concrete’s real extents, on grid, or the Refusal saying why the
device cannot run it.
Sourcepub fn holding(self, bytes: usize) -> Result<Self, Refusal>
pub fn holding(self, bytes: usize) -> Result<Self, Refusal>
This launch, each cube holding bytes of shared memory, or the Refusal saying the device
gives one less: what the device gives a cube, less what it reserves for cube-scoped matrices.
pub fn client(&self) -> &Client
pub fn cube_count(&self) -> CubeCount
pub fn cube_dim(&self) -> CubeDim
Sourcepub fn partitioning(&self) -> &Partitioning
pub fn partitioning(&self) -> &Partitioning
The partitioning this launch states, its space in kernel form.
Sourcepub fn partitioning_arg(&self) -> PartitioningLaunch
pub fn partitioning_arg(&self) -> PartitioningLaunch
The kernel’s partitioning argument, dynamic extents sized by this launch.
Sourcepub fn arg(
&self,
binding: TensorBinding,
element: ElemType,
) -> Arg<'_, Unlabelled>
pub fn arg( &self, binding: TensorBinding, element: ElemType, ) -> Arg<'_, Unlabelled>
Bind binding, whose buffer holds element, as an operand of this launch: for a
packed one, the words its fields are stored in.
Sourcepub fn unbound(&self, geometry: &Geometry) -> Arg<'_, Unlabelled>
pub fn unbound(&self, geometry: &Geometry) -> Arg<'_, Unlabelled>
arg over a stated geometry, for an operand with no tensor; end it with
build_spec.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Launcher
impl !UnwindSafe for Launcher
impl Freeze for Launcher
impl Send for Launcher
impl Sync for Launcher
impl Unpin for Launcher
impl UnsafeUnpin for Launcher
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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