pub enum Operation {
Show 14 variants
Copy(Variable),
Arithmetic(Arithmetic),
Comparison(Comparison),
Bitwise(Bitwise),
Operator(Operator),
Atomic(AtomicOp),
Metadata(Metadata),
Branch(Branch),
Synchronization(Synchronization),
Plane(Plane),
CoopMma(CoopMma),
Barrier(BarrierOps),
Tma(TmaOps),
NonSemantic(NonSemantic),
}
Expand description
All operations that can be used in a GPU compute shader.
Notes:
Operator can be vectorized, but other operations can’t. Therefore, during tracing, only operators can be registered.
Variants§
Copy(Variable)
Arithmetic(Arithmetic)
Comparison(Comparison)
Bitwise(Bitwise)
Operator(Operator)
Atomic(AtomicOp)
Metadata(Metadata)
Branch(Branch)
Synchronization(Synchronization)
Plane(Plane)
CoopMma(CoopMma)
Barrier(BarrierOps)
Tma(TmaOps)
NonSemantic(NonSemantic)
Non-semantic instructions (i.e. comments, debug info)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Operation
impl<'de> Deserialize<'de> for Operation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<Arithmetic> for Operation
impl From<Arithmetic> for Operation
Source§fn from(value: Arithmetic) -> Self
fn from(value: Arithmetic) -> Self
Converts to this type from the input type.
Source§impl From<BarrierOps> for Operation
impl From<BarrierOps> for Operation
Source§fn from(value: BarrierOps) -> Self
fn from(value: BarrierOps) -> Self
Converts to this type from the input type.
Source§impl From<Comparison> for Operation
impl From<Comparison> for Operation
Source§fn from(value: Comparison) -> Self
fn from(value: Comparison) -> Self
Converts to this type from the input type.
Source§impl From<NonSemantic> for Operation
impl From<NonSemantic> for Operation
Source§fn from(value: NonSemantic) -> Self
fn from(value: NonSemantic) -> Self
Converts to this type from the input type.
Source§impl From<Synchronization> for Operation
impl From<Synchronization> for Operation
Source§fn from(value: Synchronization) -> Self
fn from(value: Synchronization) -> Self
Converts to this type from the input type.
Source§impl OperationReflect for Operation
impl OperationReflect for Operation
Source§fn args(&self) -> Option<Vec<Variable>>
fn args(&self) -> Option<Vec<Variable>>
Get the list of arguments for this operation. If not all arguments are
Variable
, returns
None
instead.Source§fn from_code_and_args(op_code: Self::OpCode, args: &[Variable]) -> Option<Self>
fn from_code_and_args(op_code: Self::OpCode, args: &[Variable]) -> Option<Self>
Create typed operation from an opcode and a list of arguments. Returns
None
if not all
arguments are Variable
.Source§fn is_commutative(&self) -> bool
fn is_commutative(&self) -> bool
Whether this operation is commutative (arguments can be freely reordered). Ignored for
single argument operations.
impl Eq for Operation
impl StructuralPartialEq for Operation
Auto Trait Implementations§
impl Freeze for Operation
impl !RefUnwindSafe for Operation
impl !Send for Operation
impl !Sync for Operation
impl Unpin for Operation
impl !UnwindSafe for Operation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.