pub struct EmitConfig {
pub target: String,
pub ptx_version: String,
pub launch_bounds: bool,
pub enable_experimental_matmul: bool,
}Expand description
Configuration knobs for the emitter.
Fields§
§target: StringPTX .target directive value (e.g. “sm_80”, “sm_89”).
ptx_version: StringPTX .version directive value (e.g. “8.0”).
launch_bounds: boolEmit __launch_bounds__ annotation on the entry.
enable_experimental_matmul: boolEXPERIMENTAL / UNVERIFIED ON HARDWARE.
When true, emit_with lowers a MatMul { m: 16, n: 16, k: 16 }
op to a wmma m16n16k16 fragment-load → wmma.mma.sync →
fragment-store sequence (see the module docs for the tile/fragment
contract). When false — the default — MatMul is refused with
EmitError::NotYetImplemented, the safe behaviour the
auto-offload pipeline relies on.
This MUST stay false outside of explicitly opted-in experiments:
the emitted PTX cannot be validated on a GPU here, so its
correctness is gated solely behind the differential oracle’s
structural assertions (see crate::differential).
Trait Implementations§
Source§impl Clone for EmitConfig
impl Clone for EmitConfig
Source§fn clone(&self) -> EmitConfig
fn clone(&self) -> EmitConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EmitConfig
impl Debug for EmitConfig
Auto Trait Implementations§
impl Freeze for EmitConfig
impl RefUnwindSafe for EmitConfig
impl Send for EmitConfig
impl Sync for EmitConfig
impl Unpin for EmitConfig
impl UnsafeUnpin for EmitConfig
impl UnwindSafe for EmitConfig
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,
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
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