pub enum Offload {
Device(String),
Host(String),
Test,
HostMetadata(String),
}Variants§
Device(String)
Second step in the offload pipeline, enables kernel compilation for a gpu device
Reads a manifest of required generic kernel instantiations
produced by a previous HostMetadata pass. An empty manifest
means there are no generic kernels at all, or that generic kernels are only
called from non-generic device entry points and never from the host, so we
don’t need to track their instantiations.
Host(String)
Third step in the offload pipeline, generates the host code to call kernels.
Test
Test is similar to Host, but allows testing without a device artifact.
HostMetadata(String)
First step in the offload pipeline: compile for the host but only emit a manifest of kernel instantiations required by the host code.
Trait Implementations§
Source§impl<__D: SpanDecoder> Decodable<__D> for Offload
impl<__D: SpanDecoder> Decodable<__D> for Offload
Source§impl DepTrackingHash for Offload
impl DepTrackingHash for Offload
fn hash( &self, hasher: &mut StableHasher, _: ErrorOutputType, _for_crate_hash: bool, )
Source§impl<__E: SpanEncoder> Encodable<__E> for Offload
impl<__E: SpanEncoder> Encodable<__E> for Offload
impl StructuralPartialEq for Offload
Auto Trait Implementations§
impl DynSend for Offload
impl DynSync for Offload
impl Freeze for Offload
impl RefUnwindSafe for Offload
impl Send for Offload
impl Sync for Offload
impl Unpin for Offload
impl UnsafeUnpin for Offload
impl UnwindSafe for Offload
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
Device: 24 bytesHost: 24 bytesTest: 0 bytesHostMetadata: 24 bytes