pub struct FusionGroup {
pub members: Vec<usize>,
pub external_inputs: Vec<usize>,
pub external_outputs: Vec<usize>,
pub internal_intermediates: Vec<usize>,
pub bytes_read: u64,
pub bytes_written: u64,
}Expand description
A group of ops fused into a single kernel.
members is the set of op ids in the group (sorted ascending).
external_inputs are the producer op ids outside the group that the group
reads. external_outputs are member ids whose results must be materialized
(consumed outside the group, or graph terminals). internal_intermediates
are members whose results stay in registers and are elided.
Fields§
§members: Vec<usize>Op ids fused into this kernel (sorted ascending).
external_inputs: Vec<usize>Producer op ids outside the group that the group reads (sorted).
external_outputs: Vec<usize>Member op ids whose outputs are written to memory (sorted).
internal_intermediates: Vec<usize>Member op ids whose outputs are fully elided into registers (sorted).
bytes_read: u64Bytes read by this group (external inputs, each counted once).
bytes_written: u64Bytes written by this group (external outputs).
Implementations§
Source§impl FusionGroup
impl FusionGroup
Trait Implementations§
Source§impl Clone for FusionGroup
impl Clone for FusionGroup
Source§fn clone(&self) -> FusionGroup
fn clone(&self) -> FusionGroup
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 FusionGroup
impl RefUnwindSafe for FusionGroup
impl Send for FusionGroup
impl Sync for FusionGroup
impl Unpin for FusionGroup
impl UnsafeUnpin for FusionGroup
impl UnwindSafe for FusionGroup
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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