pub enum Operation {
Show 15 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),
Marker(Marker),
}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)
Marker(Marker)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Operation
impl<'de> Deserialize<'de> for Operation
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Operation, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Operation, <__D as Deserializer<'de>>::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) -> Operation
fn from(value: Arithmetic) -> Operation
Converts to this type from the input type.
Source§impl From<BarrierOps> for Operation
impl From<BarrierOps> for Operation
Source§fn from(value: BarrierOps) -> Operation
fn from(value: BarrierOps) -> Operation
Converts to this type from the input type.
Source§impl From<Comparison> for Operation
impl From<Comparison> for Operation
Source§fn from(value: Comparison) -> Operation
fn from(value: Comparison) -> Operation
Converts to this type from the input type.
Source§impl From<NonSemantic> for Operation
impl From<NonSemantic> for Operation
Source§fn from(value: NonSemantic) -> Operation
fn from(value: NonSemantic) -> Operation
Converts to this type from the input type.
Source§impl From<Synchronization> for Operation
impl From<Synchronization> for Operation
Source§fn from(value: Synchronization) -> Operation
fn from(value: Synchronization) -> Operation
Converts to this type from the input type.
Source§impl OperationReflect for Operation
impl OperationReflect for Operation
Source§fn op_code(&self) -> <Operation as OperationReflect>::OpCode
fn op_code(&self) -> <Operation as OperationReflect>::OpCode
Get the opcode for this 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: <Operation as OperationReflect>::OpCode,
args: &[Variable],
) -> Option<Operation>
fn from_code_and_args( op_code: <Operation as OperationReflect>::OpCode, args: &[Variable], ) -> Option<Operation>
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.
Source§impl Serialize for Operation
impl Serialize for Operation
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
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 UnsafeUnpin 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<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
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.