pub struct SpMVOperation<'c> { /* private fields */ }
Expand description
A spmv
operation. SpMV operation.
The gpu.spmv
operation performs the SpMV operation on the given sparse matrix,
dense vectors, and buffer. The operation expects handles returned by previous
sparse operations to construct an environment and the operands for SpMV. 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.spmv async [%dep] %spmatA{TRANSPOSE}, %dnX, %dnY : memref<?xf64> into bf16
Implementations§
source§impl<'c> SpMVOperation<'c>
impl<'c> SpMVOperation<'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>
) -> SpMVOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> SpMVOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset, Unset>
Creates a builder.
pub fn async_token(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn async_dependencies(&self) -> impl Iterator<Item = Value<'c, '_>>
pub fn spmat_a(&self) -> Result<Value<'c, '_>, Error>
pub fn dn_x(&self) -> Result<Value<'c, '_>, Error>
pub fn dn_y(&self) -> Result<Value<'c, '_>, Error>
pub fn buffer(&self) -> Result<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 compute_type(&self) -> Result<TypeAttribute<'c>, Error>
pub fn set_compute_type(&mut self, value: TypeAttribute<'c>)
Trait Implementations§
source§impl<'c> From<SpMVOperation<'c>> for Operation<'c>
impl<'c> From<SpMVOperation<'c>> for Operation<'c>
source§fn from(operation: SpMVOperation<'c>) -> Self
fn from(operation: SpMVOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for SpMVOperation<'c>
impl<'c> !Send for SpMVOperation<'c>
impl<'c> !Sync for SpMVOperation<'c>
impl<'c> Unpin for SpMVOperation<'c>
impl<'c> UnwindSafe for SpMVOperation<'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