hipsparsexgebsr2gebsrnnz Interface Reference

hipsparsexgebsr2gebsrnnz Interface Reference#

HIPFORT API Reference: hipfort_hipsparse::hipsparsexgebsr2gebsrnnz Interface Reference
hipfort_hipsparse::hipsparsexgebsr2gebsrnnz Interface Reference

This function is used when converting a GEBSR sparse matrix \(A\) to another GEBSR sparse matrix \(C\). More...

Public Member Functions

integer(kind(hipsparse_status_success)) function hipsparsexgebsr2gebsrnnz_ (handle, dira, mb, nb, nnzb, descra, bsrrowptra, bsrcolinda, rowblockdima, colblockdima, descrc, bsrrowptrc, rowblockdimc, colblockdimc, nnztotaldevhostptr, buffer)
 
integer(kind(hipsparse_status_success)) function hipsparsexgebsr2gebsrnnz_rank_0 (handle, dira, mb, nb, nnzb, descra, bsrrowptra, bsrcolinda, rowblockdima, colblockdima, descrc, bsrrowptrc, rowblockdimc, colblockdimc, nnztotaldevhostptr, buffer)
 
integer(kind(hipsparse_status_success)) function hipsparsexgebsr2gebsrnnz_rank_1 (handle, dira, mb, nb, nnzb, descra, bsrrowptra, bsrcolinda, rowblockdima, colblockdima, descrc, bsrrowptrc, rowblockdimc, colblockdimc, nnztotaldevhostptr, buffer)
 

Detailed Description

This function is used when converting a GEBSR sparse matrix \(A\) to another GEBSR sparse matrix \(C\).

Specifically, this function determines the number of non-zero blocks that will exist in \(C\) (stored using either a host or device pointer) and computes the row pointer array for \(C\).

The routine supports asynchronous execution.

Parameters
[in]handle- handle to the hipSPARSE library context queue.
[in]dirA- the storage format of the blocks, HIPSPARSE_DIRECTION_ROW or HIPSPARSE_DIRECTION_COLUMN.
[in]mb- number of block rows of the general BSR sparse matrix \(A\).
[in]nb- number of block columns of the general BSR sparse matrix \(A\).
[in]nnzb- number of blocks in the general BSR sparse matrix \(A\).
[in]descrA- the descriptor of the general BSR sparse matrix \(A\). The supported matrix type is HIPSPARSE_MATRIX_TYPE_GENERAL and any valid value of the hipsparseIndexBase_t.
[in]bsrRowPtrA- array of mb+1 elements that point to the start of every block row of the sparse general BSR matrix \(A\).
[in]bsrColIndA- array of nnzb elements containing the block column indices of the sparse general BSR matrix A.
[in]rowBlockDimA- row size of the blocks in the sparse general BSR matrix \(A\).
[in]colBlockDimA- column size of the blocks in the sparse general BSR matrix \(A\).
[in]descrC- the descriptor of the general BSR sparse matrix \(C\). The supported matrix type is HIPSPARSE_MATRIX_TYPE_GENERAL and any valid value of the hipsparseIndexBase_t.
[in]bsrRowPtrC- array of mbC+1 elements that point to the start of every block row of the sparse general BSR matrix \(C\) where mbC = ( m+rowBlockDimC-1 ) / rowBlockDimC.
[in]rowBlockDimC- row size of the blocks in the sparse general BSR matrix \(C\).
[in]colBlockDimC- column size of the blocks in the sparse general BSR matrix \(C\).
[out]nnzTotalDevHostPtr- total number of non-zero blocks in general BSR sparse matrix \(C\), stored using device or host memory.
[out]buffer- buffer allocated by the user. The size is determined by calling hipsparseSgebsr2gebsr_bufferSize "hipsparseXgebsr2gebsr_bufferSize()".
Return values
HIPSPARSE_STATUS_SUCCESSthe operation completed successfully.
HIPSPARSE_STATUS_INVALID_VALUEhandle, mb, nb, nnzb, rowBlockDimA, colBlockDimA, rowBlockDimC, colBlockDimC, bsrRowPtrA, bsrColIndA, bsrRowPtrC, descrA, descrC, buffer pointer is invalid.

Member Function/Subroutine Documentation

◆ hipsparsexgebsr2gebsrnnz_()

integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsexgebsr2gebsrnnz::hipsparsexgebsr2gebsrnnz_ ( type(c_ptr), value  handle,
integer(kind(hipsparse_direction_row)), value  dira,
integer(c_int), value  mb,
integer(c_int), value  nb,
integer(c_int), value  nnzb,
type(c_ptr), value  descra,
type(c_ptr), value  bsrrowptra,
type(c_ptr), value  bsrcolinda,
integer(c_int), value  rowblockdima,
integer(c_int), value  colblockdima,
type(c_ptr), value  descrc,
type(c_ptr), value  bsrrowptrc,
integer(c_int), value  rowblockdimc,
integer(c_int), value  colblockdimc,
integer(c_int)  nnztotaldevhostptr,
type(c_ptr), value  buffer 
)

◆ hipsparsexgebsr2gebsrnnz_rank_0()

integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsexgebsr2gebsrnnz::hipsparsexgebsr2gebsrnnz_rank_0 ( type(c_ptr)  handle,
integer(kind(hipsparse_direction_row))  dira,
integer(c_int)  mb,
integer(c_int)  nb,
integer(c_int)  nnzb,
type(c_ptr)  descra,
integer(c_int), target  bsrrowptra,
integer(c_int), target  bsrcolinda,
integer(c_int)  rowblockdima,
integer(c_int)  colblockdima,
type(c_ptr)  descrc,
integer(c_int), target  bsrrowptrc,
integer(c_int)  rowblockdimc,
integer(c_int)  colblockdimc,
integer(c_int)  nnztotaldevhostptr,
type(c_ptr)  buffer 
)

◆ hipsparsexgebsr2gebsrnnz_rank_1()

integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsexgebsr2gebsrnnz::hipsparsexgebsr2gebsrnnz_rank_1 ( type(c_ptr)  handle,
integer(kind(hipsparse_direction_row))  dira,
integer(c_int)  mb,
integer(c_int)  nb,
integer(c_int)  nnzb,
type(c_ptr)  descra,
integer(c_int), dimension(:), target  bsrrowptra,
integer(c_int), dimension(:), target  bsrcolinda,
integer(c_int)  rowblockdima,
integer(c_int)  colblockdima,
type(c_ptr)  descrc,
integer(c_int), dimension(:), target  bsrrowptrc,
integer(c_int)  rowblockdimc,
integer(c_int)  colblockdimc,
integer(c_int)  nnztotaldevhostptr,
type(c_ptr)  buffer 
)

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