pub struct SpMMOperation<'c> { /* private fields */ }
Expand description
A spmm
operation. SpMM operation.
The gpu.spmm
operation performs the SpMM operation on the given sparse and
dense matrix, and buffer. The operation expects handles returned by previous
sparse operations to construct an environment and the operands for SpMM. The
buffer must have been allocated on the device.
If the async
keyword is present, the op is executed asynchronously (i.e.
it does not block until the execution has finished on the device). In
that case, it returns a !gpu.async.token in addition to the environment.
The matrix arguments can also be associated with one of the following operators: NON_TRANSPOSE, TRANSPOSE, CONJUGATE_TRANSPOSE. The default value is NON_TRANSPOSE.
Example:
%token = gpu.spmm async [%dep] %spmatA{TRANSPOSE}, %dnmatB{TRANSPOSE}, %dnmatC, %buffers : type($buffers) into f32
Implementations§
source§impl<'c> SpMMOperation<'c>
impl<'c> SpMMOperation<'c>
sourcepub fn as_operation(&self) -> &Operation<'c>
pub fn as_operation(&self) -> &Operation<'c>
Returns a generic operation.
sourcepub fn builder(
context: &'c Context,
location: Location<'c>
) -> SpMMOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> SpMMOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset, Unset>
Creates a builder.
pub fn async_token(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn async_dependencies( &self ) -> Result<impl Iterator<Item = Value<'c, '_>>, Error>
pub fn spmat_a(&self) -> Result<Value<'c, '_>, Error>
pub fn dnmat_b(&self) -> Result<Value<'c, '_>, Error>
pub fn dnmat_c(&self) -> Result<Value<'c, '_>, Error>
pub fn buffers(&self) -> Result<impl Iterator<Item = Value<'c, '_>>, Error>
pub fn mode_a(&self) -> Result<Attribute<'c>, Error>
pub fn set_mode_a(&mut self, value: Attribute<'c>)
pub fn remove_mode_a(&mut self) -> Result<(), Error>
pub fn mode_b(&self) -> Result<Attribute<'c>, Error>
pub fn set_mode_b(&mut self, value: Attribute<'c>)
pub fn remove_mode_b(&mut self) -> Result<(), Error>
pub fn compute_type(&self) -> Result<TypeAttribute<'c>, Error>
pub fn set_compute_type(&mut self, value: TypeAttribute<'c>)
Trait Implementations§
source§impl<'c> From<SpMMOperation<'c>> for Operation<'c>
impl<'c> From<SpMMOperation<'c>> for Operation<'c>
source§fn from(operation: SpMMOperation<'c>) -> Self
fn from(operation: SpMMOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for SpMMOperation<'c>
impl<'c> !Send for SpMMOperation<'c>
impl<'c> !Sync for SpMMOperation<'c>
impl<'c> Unpin for SpMMOperation<'c>
impl<'c> UnwindSafe for SpMMOperation<'c>
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