rocsparse_sddmm_preprocess Interface Reference

rocsparse_sddmm_preprocess Interface Reference#

HIPFORT API Reference: hipfort_rocsparse::rocsparse_sddmm_preprocess Interface Reference
hipfort_rocsparse::rocsparse_sddmm_preprocess Interface Reference

Public Member Functions

integer(kind(rocsparse_status_success)) function rocsparse_sddmm_preprocess_ (handle, opa, opb, alpha, mat_a, mat_b, beta, mat_c, compute_type, alg, temp_buffer)
 

Detailed Description

rocsparse_sddmm_preprocess executes a part of the algorithm that can be calculated once in the context of multiple calls of the rocsparse_sddmm with the same sparsity pattern.

Note
This routine does not support execution in a hipGraph context.
Parameters
[in]handle- handle to the rocSPARSE library context queue.
[in]opA- dense matrix \(A\) operation type.
[in]opB- dense matrix \(B\) operation type.
[in]alpha- scalar \(\alpha\).
[in]mat_A- dense matrix \(A\) descriptor.
[in]mat_B- dense matrix \(B\) descriptor.
[in]beta- scalar \(\beta\).
[in,out]mat_C- sparse matrix \(C\) descriptor.
[in]compute_type- floating point precision for the SDDMM computation.
[in]alg- specification of the algorithm to use.
[in]temp_buffer- temporary storage buffer allocated by the user. The size must be greater or equal to the size obtained with rocsparse_sddmm_buffer_size.
Return values
rocsparse_status_successthe operation completed successfully.
rocsparse_status_invalid_valuethe value of opA or opB is incorrect.
rocsparse_status_invalid_handlethe library context was not initialized.
rocsparse_status_invalid_pointeralpha and beta are invalid, or the mat_A, mat_B, mat_C, or temp_buffer pointer is invalid.
rocsparse_status_not_implementedopA == rocsparse_operation_conjugate_transpose or opB == rocsparse_operation_conjugate_transpose.

Member Function/Subroutine Documentation

◆ rocsparse_sddmm_preprocess_()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sddmm_preprocess::rocsparse_sddmm_preprocess_ ( type(c_ptr), value  handle,
integer(kind(rocsparse_operation_none)), value  opa,
integer(kind(rocsparse_operation_none)), value  opb,
type(c_ptr), value  alpha,
type(c_ptr), value  mat_a,
type(c_ptr), value  mat_b,
type(c_ptr), value  beta,
type(c_ptr), value  mat_c,
integer(kind(rocsparse_datatype_f16_r)), value  compute_type,
integer(kind(rocsparse_sddmm_alg_default)), value  alg,
type(c_ptr), value  temp_buffer 
)

The documentation for this interface was generated from the following file: