rocsparse_scsrsm_buffer_size Interface Reference

rocsparse_scsrsm_buffer_size Interface Reference#

HIPFORT API Reference: hipfort_rocsparse::rocsparse_scsrsm_buffer_size Interface Reference
hipfort_rocsparse::rocsparse_scsrsm_buffer_size Interface Reference

Public Member Functions

integer(kind(rocsparse_status_success)) function rocsparse_scsrsm_buffer_size_ (handle, trans_a, trans_b, m, nrhs, nnz, alpha, descr, csr_val, csr_row_ptr, csr_col_ind, b, ldb, myinfo, policy, buffer_size)
 
integer(kind(rocsparse_status_success)) function rocsparse_scsrsm_buffer_size_rank_0 (handle, trans_a, trans_b, m, nrhs, nnz, alpha, descr, csr_val, csr_row_ptr, csr_col_ind, b, ldb, myinfo, policy, buffer_size)
 
integer(kind(rocsparse_status_success)) function rocsparse_scsrsm_buffer_size_rank_1 (handle, trans_a, trans_b, m, nrhs, nnz, alpha, descr, csr_val, csr_row_ptr, csr_col_ind, b, ldb, myinfo, policy, buffer_size)
 
integer(kind(rocsparse_status_success)) function rocsparse_scsrsm_buffer_size_full_rank (handle, trans_a, trans_b, m, nrhs, nnz, alpha, descr, csr_val, csr_row_ptr, csr_col_ind, b, ldb, myinfo, policy, buffer_size)
 

Detailed Description

rocsparse_csrsm_buffer_size returns the size of the temporary storage buffer that is required by rocsparse_Xcsrsm_analysis() and rocsparse_Xcsrsm_solve(). The temporary storage buffer must be allocated by the user.

Note
This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
This routine supports execution in a hipGraph context.
Parameters
[in]handle- handle to the rocSPARSE library context queue.
[in]trans_A- matrix A operation type.
[in]trans_B- matrix B operation type.
[in]m- number of rows of the sparse CSR matrix A.
[in]nrhs- number of columns of the column-oriented dense matrix op(B).
[in]nnz- number of non-zero entries of the sparse CSR matrix A.
[in]alpha- scalar \(\alpha\).
[in]descr- descriptor of the sparse CSR matrix A.
[in]csr_val- array of nnz elements of the sparse CSR matrix A.
[in]csr_row_ptr- array of m+1 elements that point to the start of every row of the sparse CSR matrix A.
[in]csr_col_ind- array of nnz elements containing the column indices of the sparse CSR matrix A.
[in]B- column-oriented dense matrix of dimension m \(\times\) nrhs elements of the rhs matrix B.
[in]ldb- leading dimension of rhs matrix B.
[in]myInfo- structure that holds the information collected during the analysis step.
[in]policy- rocsparse_solve_policy_auto.
[out]buffer_size- number of bytes of the temporary storage buffer required by rocsparse_scsrsm_analysis(), rocsparse_dcsrsm_analysis(), rocsparse_ccsrsm_analysis(), rocsparse_zcsrsm_analysis(), rocsparse_scsrsm_solve(), rocsparse_dcsrsm_solve(), rocsparse_ccsrsm_solve(), and rocsparse_zcsrsm_solve().
Return values
rocsparse_status_successthe operation completed successfully.
rocsparse_status_invalid_handlethe library context was not initialized.
rocsparse_status_invalid_sizem, nrhs, or nnz is invalid.
rocsparse_status_invalid_pointeralpha, descr, csr_val, csr_row_ptr, csr_col_ind, B, info, or buffer_size pointer is invalid.
rocsparse_status_internal_erroran internal error occurred.
rocsparse_status_not_implementedtrans_A == rocsparse_operation_conjugate_transpose, trans_B == rocsparse_operation_conjugate_transpose, or rocsparse_matrix_type != rocsparse_matrix_type_general.

Member Function/Subroutine Documentation

◆ rocsparse_scsrsm_buffer_size_()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_scsrsm_buffer_size::rocsparse_scsrsm_buffer_size_ ( type(c_ptr), value  handle,
integer(kind(rocsparse_operation_none)), value  trans_a,
integer(kind(rocsparse_operation_none)), value  trans_b,
integer(c_int), value  m,
integer(c_int), value  nrhs,
integer(c_int), value  nnz,
real(c_float)  alpha,
type(c_ptr), value  descr,
type(c_ptr), value  csr_val,
type(c_ptr), value  csr_row_ptr,
type(c_ptr), value  csr_col_ind,
type(c_ptr), value  b,
integer(c_int), value  ldb,
type(c_ptr), value  myinfo,
integer(kind(rocsparse_solve_policy_auto)), value  policy,
integer(c_size_t)  buffer_size 
)

◆ rocsparse_scsrsm_buffer_size_full_rank()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_scsrsm_buffer_size::rocsparse_scsrsm_buffer_size_full_rank ( type(c_ptr)  handle,
integer(kind(rocsparse_operation_none))  trans_a,
integer(kind(rocsparse_operation_none))  trans_b,
integer(c_int)  m,
integer(c_int)  nrhs,
integer(c_int)  nnz,
real(c_float)  alpha,
type(c_ptr)  descr,
real(c_float), dimension(:), target  csr_val,
integer(c_int), dimension(:), target  csr_row_ptr,
integer(c_int), dimension(:), target  csr_col_ind,
real(c_float), dimension(:,:), target  b,
integer(c_int)  ldb,
type(c_ptr)  myinfo,
integer(kind(rocsparse_solve_policy_auto))  policy,
integer(c_size_t)  buffer_size 
)

◆ rocsparse_scsrsm_buffer_size_rank_0()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_scsrsm_buffer_size::rocsparse_scsrsm_buffer_size_rank_0 ( type(c_ptr)  handle,
integer(kind(rocsparse_operation_none))  trans_a,
integer(kind(rocsparse_operation_none))  trans_b,
integer(c_int)  m,
integer(c_int)  nrhs,
integer(c_int)  nnz,
real(c_float)  alpha,
type(c_ptr)  descr,
real(c_float), target  csr_val,
integer(c_int), target  csr_row_ptr,
integer(c_int), target  csr_col_ind,
real(c_float), target  b,
integer(c_int)  ldb,
type(c_ptr)  myinfo,
integer(kind(rocsparse_solve_policy_auto))  policy,
integer(c_size_t)  buffer_size 
)

◆ rocsparse_scsrsm_buffer_size_rank_1()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_scsrsm_buffer_size::rocsparse_scsrsm_buffer_size_rank_1 ( type(c_ptr)  handle,
integer(kind(rocsparse_operation_none))  trans_a,
integer(kind(rocsparse_operation_none))  trans_b,
integer(c_int)  m,
integer(c_int)  nrhs,
integer(c_int)  nnz,
real(c_float)  alpha,
type(c_ptr)  descr,
real(c_float), dimension(:), target  csr_val,
integer(c_int), dimension(:), target  csr_row_ptr,
integer(c_int), dimension(:), target  csr_col_ind,
real(c_float), dimension(:), target  b,
integer(c_int)  ldb,
type(c_ptr)  myinfo,
integer(kind(rocsparse_solve_policy_auto))  policy,
integer(c_size_t)  buffer_size 
)

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