rocsparse_csrgeam_nnz Interface Reference#
hipfort_rocsparse::rocsparse_csrgeam_nnz Interface Reference
Sparse matrix sparse matrix addition using CSR storage format. More...
Public Member Functions | |
integer(kind(rocsparse_status_success)) function | rocsparse_csrgeam_nnz_ (handle, m, n, descr_A, nnz_A, csr_row_ptr_A, csr_col_ind_A, descr_B, nnz_B, csr_row_ptr_B, csr_col_ind_B, descr_C, csr_row_ptr_C, nnz_C) |
integer(kind(rocsparse_status_success)) function | rocsparse_csrgeam_nnz_rank_0 (handle, m, n, descr_A, nnz_A, csr_row_ptr_A, csr_col_ind_A, descr_B, nnz_B, csr_row_ptr_B, csr_col_ind_B, descr_C, csr_row_ptr_C, nnz_C) |
integer(kind(rocsparse_status_success)) function | rocsparse_csrgeam_nnz_rank_1 (handle, m, n, descr_A, nnz_A, csr_row_ptr_A, csr_col_ind_A, descr_B, nnz_B, csr_row_ptr_B, csr_col_ind_B, descr_C, csr_row_ptr_C, nnz_C) |
Detailed Description
Sparse matrix sparse matrix addition using CSR storage format.
rocsparse_csrgeam_nnz
computes the total CSR non-zero elements and the CSR row offsets, that point to the start of every row of the sparse CSR matrix, of the resulting matrix C. It is assumed that csr_row_ptr_C
has been allocated with size m
+ 1.
- Note
- This function is non blocking and executed asynchronously with respect to the host. It may return before the actual computation has finished.
-
Currently, only
rocsparse_matrix_type_general
is supported.
- Parameters
-
[in] handle handle to the rocsparse library context queue. [in] m number of rows of the sparse CSR matrix \(A\), \(B\) and \(C\). [in] n number of columns of the sparse CSR matrix \(A\), \(B\) and \(C\). [in] descr_A descriptor of the sparse CSR matrix \(A\). Currenty, only rocsparse_matrix_type_general
is supported.[in] nnz_A number of non-zero entries of the sparse CSR matrix \(A\). [in] csr_row_ptr_A array of m+1
elements that point to the start of every row of the sparse CSR matrix \(A\).[in] csr_col_ind_A array of nnz_A
elements containing the column indices of the sparse CSR matrix \(A\).[in] descr_B descriptor of the sparse CSR matrix \(B\). Currenty, only rocsparse_matrix_type_general
is supported.[in] nnz_B number of non-zero entries of the sparse CSR matrix \(B\). [in] csr_row_ptr_B array of m+1
elements that point to the start of every row of the sparse CSR matrix \(B\).[in] csr_col_ind_B array of nnz_B
elements containing the column indices of the sparse CSR matrix \(B\).[in] descr_C descriptor of the sparse CSR matrix \(C\). Currenty, only rocsparse_matrix_type_general
is supported.[out] csr_row_ptr_C array of m+1
elements that point to the start of every row of the sparse CSR matrix \(C\).[out] nnz_C pointer to the number of non-zero entries of the sparse CSR matrix \(C\). nnz_C
can be a host or device pointer.
- Return values
-
rocsparse_status_success the operation completed successfully. rocsparse_status_invalid_handle the library context was not initialized. rocsparse_status_invalid_size m
,n
,nnz_A
ornnz_B
is invalid.rocsparse_status_invalid_pointer descr_A
,csr_row_ptr_A
,csr_col_ind_A
,descr_B
,csr_row_ptr_B
,csr_col_ind_B
,descr_C
,csr_row_ptr_C
ornnz_C
is invalid.rocsparse_status_not_implemented rocsparse_matrix_type
!=rocsparse_matrix_type_general
.
Member Function/Subroutine Documentation
◆ rocsparse_csrgeam_nnz_()
integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_csrgeam_nnz::rocsparse_csrgeam_nnz_ | ( | type(c_ptr), value | handle, |
integer(c_int), value | m, | ||
integer(c_int), value | n, | ||
type(c_ptr), value | descr_A, | ||
integer(c_int), value | nnz_A, | ||
type(c_ptr), value | csr_row_ptr_A, | ||
type(c_ptr), value | csr_col_ind_A, | ||
type(c_ptr), value | descr_B, | ||
integer(c_int), value | nnz_B, | ||
type(c_ptr), value | csr_row_ptr_B, | ||
type(c_ptr), value | csr_col_ind_B, | ||
type(c_ptr), value | descr_C, | ||
type(c_ptr), value | csr_row_ptr_C, | ||
type(c_ptr), value | nnz_C | ||
) |
◆ rocsparse_csrgeam_nnz_rank_0()
integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_csrgeam_nnz::rocsparse_csrgeam_nnz_rank_0 | ( | type(c_ptr) | handle, |
integer(c_int) | m, | ||
integer(c_int) | n, | ||
type(c_ptr) | descr_A, | ||
integer(c_int) | nnz_A, | ||
integer(c_int), target | csr_row_ptr_A, | ||
integer(c_int), target | csr_col_ind_A, | ||
type(c_ptr) | descr_B, | ||
integer(c_int) | nnz_B, | ||
integer(c_int), target | csr_row_ptr_B, | ||
integer(c_int), target | csr_col_ind_B, | ||
type(c_ptr) | descr_C, | ||
integer(c_int), target | csr_row_ptr_C, | ||
integer(c_int), target | nnz_C | ||
) |
◆ rocsparse_csrgeam_nnz_rank_1()
integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_csrgeam_nnz::rocsparse_csrgeam_nnz_rank_1 | ( | type(c_ptr) | handle, |
integer(c_int) | m, | ||
integer(c_int) | n, | ||
type(c_ptr) | descr_A, | ||
integer(c_int) | nnz_A, | ||
integer(c_int), dimension(:), target | csr_row_ptr_A, | ||
integer(c_int), dimension(:), target | csr_col_ind_A, | ||
type(c_ptr) | descr_B, | ||
integer(c_int) | nnz_B, | ||
integer(c_int), dimension(:), target | csr_row_ptr_B, | ||
integer(c_int), dimension(:), target | csr_col_ind_B, | ||
type(c_ptr) | descr_C, | ||
integer(c_int), dimension(:), target | csr_row_ptr_C, | ||
integer(c_int), dimension(:), target | nnz_C | ||
) |
The documentation for this interface was generated from the following file: