hipsparsexcsrgemm2nnz Interface Reference#
hipfort_hipsparse::hipsparsexcsrgemm2nnz Interface Reference
Public Member Functions | |
| integer(kind(hipsparse_status_success)) function | hipsparsexcsrgemm2nnz_ (handle, m, n, k, descra, nnza, csrrowptra, csrcolinda, descrb, nnzb, csrrowptrb, csrcolindb, descrd, nnzd, csrrowptrd, csrcolindd, descrc, csrrowptrc, nnztotaldevhostptr, myinfo, pbuffer) |
| integer(kind(hipsparse_status_success)) function | hipsparsexcsrgemm2nnz_rank_0 (handle, m, n, k, descra, nnza, csrrowptra, csrcolinda, descrb, nnzb, csrrowptrb, csrcolindb, descrd, nnzd, csrrowptrd, csrcolindd, descrc, csrrowptrc, nnztotaldevhostptr, myinfo, pbuffer) |
| integer(kind(hipsparse_status_success)) function | hipsparsexcsrgemm2nnz_rank_1 (handle, m, n, k, descra, nnza, csrrowptra, csrcolinda, descrb, nnzb, csrrowptrb, csrcolindb, descrd, nnzd, csrrowptrd, csrcolindd, descrc, csrrowptrc, nnztotaldevhostptr, myinfo, pbuffer) |
Detailed Description
hipsparseXcsrgemm2Nnz 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 multiplied matrix \(C\). It is assumed that csrRowPtrC has been allocated with size m+1. The required buffer size can be obtained by hipsparseScsrgemm2_bufferSizeExt "hipsparseXcsrgemm2_bufferSizeExt()". The desired index base in the output CSR matrix \(C\) is set in the hipsparseMatDescr_t descrC. See hipsparseSetMatIndexBase().
- Note
- As indicated,
nnzTotalDevHostPtrcan point to either host or device memory. This is controlled by setting the pointer mode. SeehipsparseSetPointerMode(). - This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
- For matrix products with more than 8192 intermediate products per row, an additional temporary storage buffer is allocated by the algorithm.
-
Currently, only
HIPSPARSE_MATRIX_TYPE_GENERALis supported.
- Parameters
-
[in] handle - handle to the hipSPARSE library context queue. [in] m - number of rows of the sparse CSR matrix \(op(A)\) and \(C\). [in] n - number of columns of the sparse CSR matrix \(op(B)\) and \(C\). [in] k - number of columns of the sparse CSR matrix \(op(A)\) and number of rows of the sparse CSR matrix \(op(B)\). [in] descrA - descriptor of the sparse CSR matrix \(A\). Currently, only HIPSPARSE_MATRIX_TYPE_GENERALis supported.[in] nnzA - number of non-zero entries of the sparse CSR matrix \(A\). [in] csrRowPtrA - array of m+1elements ( \(op(A) == A\),k+1otherwise) that point to the start of every row of the sparse CSR matrix \(op(A)\).[in] csrColIndA - array of nnzAelements containing the column indices of the sparse CSR matrix \(A\).[in] descrB - descriptor of the sparse CSR matrix \(B\). Currently, only HIPSPARSE_MATRIX_TYPE_GENERALis supported.[in] nnzB - number of non-zero entries of the sparse CSR matrix \(B\). [in] csrRowPtrB - array of k+1elements ( \(op(B) == B\),m+1otherwise) that point to the start of every row of the sparse CSR matrix \(op(B)\).[in] csrColIndB - array of nnzBelements containing the column indices of the sparse CSR matrix \(B\).[in] descrD - descriptor of the sparse CSR matrix \(D\). Currently, only HIPSPARSE_MATRIX_TYPE_GENERALis supported.[in] nnzD - number of non-zero entries of the sparse CSR matrix \(D\). [in] csrRowPtrD - array of m+1elements that point to the start of every row of the sparse CSR matrix \(D\).[in] csrColIndD - array of nnzDelements containing the column indices of the sparse CSR matrix \(D\).[in] descrC - descriptor of the sparse CSR matrix \(C\). Currently, only HIPSPARSE_MATRIX_TYPE_GENERALis supported.[out] csrRowPtrC - array of m+1elements that point to the start of every row of the sparse CSR matrix \(C\).[out] nnzTotalDevHostPtr - pointer to the number of non-zero entries of the sparse CSR matrix \(C\). [in] myInfo - structure that holds meta data for the sparse CSR matrix \(C\). [in] pBuffer - temporary storage buffer allocated by the user. The size is returned by hipsparseScsrgemm2_bufferSizeExt(), hipsparseDcsrgemm2_bufferSizeExt(), hipsparseZcsrgemm2_bufferSizeExt(), or hipsparseZcsrgemm2_bufferSizeExt().
- Return values
-
HIPSPARSE_STATUS_SUCCESS the operation completed successfully. HIPSPARSE_STATUS_INVALID_VALUE handle,m,n,k,nnzA,nnzB,nnzD,descrA,csrRowPtrA,csrColIndA,descrB,csrRowPtrB,csrColIndB,descrD,csrRowPtrD,csrColIndD,descrC,csrRowPtrC,nnzTotalDevHostPtr,info, orpBufferis invalid.HIPSPARSE_STATUS_ALLOC_FAILED additional buffer for long rows could not be allocated. HIPSPARSE_STATUS_NOT_SUPPORTED hipsparseMatrixType_t!=HIPSPARSE_MATRIX_TYPE_GENERAL.
Member Function/Subroutine Documentation
◆ hipsparsexcsrgemm2nnz_()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsexcsrgemm2nnz::hipsparsexcsrgemm2nnz_ | ( | type(c_ptr), value | handle, |
| integer(c_int), value | m, | ||
| integer(c_int), value | n, | ||
| integer(c_int), value | k, | ||
| type(c_ptr), value | descra, | ||
| integer(c_int), value | nnza, | ||
| type(c_ptr), value | csrrowptra, | ||
| type(c_ptr), value | csrcolinda, | ||
| type(c_ptr), value | descrb, | ||
| integer(c_int), value | nnzb, | ||
| type(c_ptr), value | csrrowptrb, | ||
| type(c_ptr), value | csrcolindb, | ||
| type(c_ptr), value | descrd, | ||
| integer(c_int), value | nnzd, | ||
| type(c_ptr), value | csrrowptrd, | ||
| type(c_ptr), value | csrcolindd, | ||
| type(c_ptr), value | descrc, | ||
| type(c_ptr), value | csrrowptrc, | ||
| integer(c_int) | nnztotaldevhostptr, | ||
| type(c_ptr), value | myinfo, | ||
| type(c_ptr), value | pbuffer | ||
| ) |
◆ hipsparsexcsrgemm2nnz_rank_0()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsexcsrgemm2nnz::hipsparsexcsrgemm2nnz_rank_0 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| integer(c_int) | k, | ||
| type(c_ptr) | descra, | ||
| integer(c_int) | nnza, | ||
| integer(c_int), target | csrrowptra, | ||
| integer(c_int), target | csrcolinda, | ||
| type(c_ptr) | descrb, | ||
| integer(c_int) | nnzb, | ||
| integer(c_int), target | csrrowptrb, | ||
| integer(c_int), target | csrcolindb, | ||
| type(c_ptr) | descrd, | ||
| integer(c_int) | nnzd, | ||
| integer(c_int), target | csrrowptrd, | ||
| integer(c_int), target | csrcolindd, | ||
| type(c_ptr) | descrc, | ||
| integer(c_int), target | csrrowptrc, | ||
| integer(c_int) | nnztotaldevhostptr, | ||
| type(c_ptr) | myinfo, | ||
| type(c_ptr) | pbuffer | ||
| ) |
◆ hipsparsexcsrgemm2nnz_rank_1()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsexcsrgemm2nnz::hipsparsexcsrgemm2nnz_rank_1 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| integer(c_int) | k, | ||
| type(c_ptr) | descra, | ||
| integer(c_int) | nnza, | ||
| integer(c_int), dimension(:), target | csrrowptra, | ||
| integer(c_int), dimension(:), target | csrcolinda, | ||
| type(c_ptr) | descrb, | ||
| integer(c_int) | nnzb, | ||
| integer(c_int), dimension(:), target | csrrowptrb, | ||
| integer(c_int), dimension(:), target | csrcolindb, | ||
| type(c_ptr) | descrd, | ||
| integer(c_int) | nnzd, | ||
| integer(c_int), dimension(:), target | csrrowptrd, | ||
| integer(c_int), dimension(:), target | csrcolindd, | ||
| type(c_ptr) | descrc, | ||
| integer(c_int), dimension(:), target | csrrowptrc, | ||
| integer(c_int) | nnztotaldevhostptr, | ||
| type(c_ptr) | myinfo, | ||
| type(c_ptr) | pbuffer | ||
| ) |
The documentation for this interface was generated from the following file: