pub struct SpMVBufferSizeOperation<'c> { /* private fields */ }
Expand description
A spmv_buffer_size
operation. Precompute buffersize for SpMV operation.
The gpu.spmv_buffer_size
operation returns the buffer size required
to perform the SpMV operation on the given sparse matrix and dense vectors.
The operation expects handles returned by previous sparse operations
to construct an environment and the operands for SpMV.
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:
%buffersz, %token = gpu.spmv_buffer_size async [%dep] %spmatA{TRANSPOSE}, %dnX, %dnY into f32
Implementations§
source§impl<'c> SpMVBufferSizeOperation<'c>
impl<'c> SpMVBufferSizeOperation<'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>
) -> SpMVBufferSizeOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> SpMVBufferSizeOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset, Unset>
Creates a builder.