rocsparse_bsrgeam_nnzb Interface Reference

rocsparse_bsrgeam_nnzb Interface Reference#

HIPFORT API Reference: hipfort_rocsparse::rocsparse_bsrgeam_nnzb Interface Reference
hipfort_rocsparse::rocsparse_bsrgeam_nnzb Interface Reference

Public Member Functions

integer(kind(rocsparse_status_success)) function rocsparse_bsrgeam_nnzb_ (handle, dir, mb, nb, block_dim, descr_a, nnzb_a, bsr_row_ptr_a, bsr_col_ind_a, descr_b, nnzb_b, bsr_row_ptr_b, bsr_col_ind_b, descr_c, bsr_row_ptr_c, nnzb_c)
 

Detailed Description

rocsparse_bsrgeam_nnzb computes the total BSR non-zero elements and the BSR row offsets that point to the start of every row of the sparse BSR matrix of the resulting matrix C. It is assumed that bsr_row_ptr_C has been allocated with size mb+1.

Note
This function is blocking with respect to the host.
Currently, only rocsparse_matrix_type_general is supported.
This routine does not support execution in a hipGraph context.
Parameters
[in]handle- handle to the rocSPARSE library context queue.
[in]dir- direction that specifies whether to count non-zero elements by rocsparse_direction_row or by rocsparse_direction_column in the BSR matrices \(A\), \(B\), and \(C\).
[in]mb- number of block rows in the sparse BSR matrix \(op(A)\) and \(C\).
[in]nb- number of block columns of the sparse BSR matrix \(op(B)\) and \(C\).
[in]block_dim- the block dimension of the BSR matrix \(A\). Between 1 and m where m=mb*block_dim.
[in]descr_A- descriptor of the sparse BSR matrix \(A\). Currently, only rocsparse_matrix_type_general is supported.
[in]nnzb_A- number of non-zero block entries of the sparse BSR matrix \(A\).
[in]bsr_row_ptr_A- array of mb+1 elements that point to the start of every block row of the sparse BSR matrix \(A\).
[in]bsr_col_ind_A- array of nnzb_A elements containing the column indices of the sparse BSR matrix \(A\).
[in]descr_B- descriptor of the sparse BSR matrix \(B\). Currently, only rocsparse_matrix_type_general is supported.
[in]nnzb_B- number of non-zero block entries of the sparse BSR matrix \(B\).
[in]bsr_row_ptr_B- array of mb+1 elements that point to the start of every block row of the sparse BSR matrix \(B\).
[in]bsr_col_ind_B- array of nnzb_B elements containing the block column indices of the sparse BSR matrix \(B\).
[in]descr_C- descriptor of the sparse BSR matrix \(C\). Currently, only rocsparse_matrix_type_general is supported.
[out]bsr_row_ptr_C- array of mb+1 elements that point to the start of every block row of the sparse BSR matrix \(C\).
[out]nnzb_C- pointer to the number of non-zero block entries of the sparse BSR matrix \(C\). nnzb_C can be a host or device pointer.
Return values
rocsparse_status_successthe operation completed successfully.
rocsparse_status_invalid_handlethe library context was not initialized.
rocsparse_status_invalid_sizemb, nb, kb, nnzb_A, or nnzb_B is invalid.
rocsparse_status_invalid_pointerdescr_A, bsr_row_ptr_A, bsr_col_ind_A, descr_B, bsr_row_ptr_B, bsr_col_ind_B, descr_C, bsr_row_ptr_C, or nnzb_C is invalid.
rocsparse_status_not_implementedrocsparse_matrix_type != rocsparse_matrix_type_general.

Member Function/Subroutine Documentation

◆ rocsparse_bsrgeam_nnzb_()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_bsrgeam_nnzb::rocsparse_bsrgeam_nnzb_ ( type(c_ptr), value  handle,
integer(kind(rocsparse_direction_row)), value  dir,
integer(c_int), value  mb,
integer(c_int), value  nb,
integer(c_int), value  block_dim,
type(c_ptr), value  descr_a,
integer(c_int), value  nnzb_a,
type(c_ptr), value  bsr_row_ptr_a,
type(c_ptr), value  bsr_col_ind_a,
type(c_ptr), value  descr_b,
integer(c_int), value  nnzb_b,
type(c_ptr), value  bsr_row_ptr_b,
type(c_ptr), value  bsr_col_ind_b,
type(c_ptr), value  descr_c,
type(c_ptr), value  bsr_row_ptr_c,
type(c_ptr), value  nnzb_c 
)

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