rocsparse_sbsric0_buffer_size Interface Reference

rocsparse_sbsric0_buffer_size Interface Reference#

HIPFORT API Reference: hipfort_rocsparse::rocsparse_sbsric0_buffer_size Interface Reference
hipfort_rocsparse::rocsparse_sbsric0_buffer_size Interface Reference

Public Member Functions

integer(kind(rocsparse_status_success)) function rocsparse_sbsric0_buffer_size_ (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, buffer_size)
 
integer(kind(rocsparse_status_success)) function rocsparse_sbsric0_buffer_size_rank_0 (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, buffer_size)
 
integer(kind(rocsparse_status_success)) function rocsparse_sbsric0_buffer_size_rank_1 (handle, dir, mb, nnzb, descr, bsr_val, bsr_row_ptr, bsr_col_ind, block_dim, myinfo, buffer_size)
 

Detailed Description

rocsparse_bsric0_buffer_size returns the size of the temporary storage buffer that is required by rocsparse_Xbsric0_analysis() and rocsparse_Xbsric0(). The temporary storage buffer must be allocated by the user. The size of the temporary storage buffer is identical to the size returned by rocsparse_Xbsrsv_buffer_size() and rocsparse_Xbsrilu0_buffer_size() if the matrix sparsity pattern is identical. The user-allocated buffer can therefore be shared between subsequent calls to those functions.

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]dir- direction that specifies whether to count non-zero elements by rocsparse_direction_row or by rocsparse_direction_column.
[in]mb- number of block rows in the sparse BSR matrix.
[in]nnzb- number of non-zero block entries of the sparse BSR matrix.
[in]descr- descriptor of the sparse BSR matrix.
[in]bsr_val- array of length nnzb*block_dim*block_dim containing the values of the sparse BSR matrix.
[in]bsr_row_ptr- array of mb+1 elements that point to the start of every block row of the sparse BSR matrix.
[in]bsr_col_ind- array of nnzb elements containing the block column indices of the sparse BSR matrix.
[in]block_dim- the block dimension of the BSR matrix. Between 1 and m, where m=mb*block_dim.
[out]myInfo- structure that holds the information collected during the analysis step.
[out]buffer_size- number of bytes of the temporary storage buffer required by rocsparse_Xbsric0_analysis() and rocsparse_Xbsric0().
Return values
rocsparse_status_successthe operation completed successfully.
rocsparse_status_invalid_handlethe library context was not initialized.
rocsparse_status_invalid_sizemb, nnzb, or block_dim is invalid.
rocsparse_status_invalid_pointerdescr, bsr_val, bsr_row_ptr, bsr_col_ind, info, or buffer_size pointer is invalid.
rocsparse_status_internal_erroran internal error occurred.
rocsparse_status_not_implementedrocsparse_matrix_type != rocsparse_matrix_type_general.

Member Function/Subroutine Documentation

◆ rocsparse_sbsric0_buffer_size_()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sbsric0_buffer_size::rocsparse_sbsric0_buffer_size_ ( type(c_ptr), value  handle,
integer(kind(rocsparse_direction_row)), value  dir,
integer(c_int), value  mb,
integer(c_int), value  nnzb,
type(c_ptr), value  descr,
type(c_ptr), value  bsr_val,
type(c_ptr), value  bsr_row_ptr,
type(c_ptr), value  bsr_col_ind,
integer(c_int), value  block_dim,
type(c_ptr), value  myinfo,
integer(c_size_t)  buffer_size 
)

◆ rocsparse_sbsric0_buffer_size_rank_0()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sbsric0_buffer_size::rocsparse_sbsric0_buffer_size_rank_0 ( type(c_ptr)  handle,
integer(kind(rocsparse_direction_row))  dir,
integer(c_int)  mb,
integer(c_int)  nnzb,
type(c_ptr)  descr,
real(c_float), target  bsr_val,
integer(c_int), target  bsr_row_ptr,
integer(c_int), target  bsr_col_ind,
integer(c_int)  block_dim,
type(c_ptr)  myinfo,
integer(c_size_t)  buffer_size 
)

◆ rocsparse_sbsric0_buffer_size_rank_1()

integer(kind(rocsparse_status_success)) function hipfort_rocsparse::rocsparse_sbsric0_buffer_size::rocsparse_sbsric0_buffer_size_rank_1 ( type(c_ptr)  handle,
integer(kind(rocsparse_direction_row))  dir,
integer(c_int)  mb,
integer(c_int)  nnzb,
type(c_ptr)  descr,
real(c_float), dimension(:), target  bsr_val,
integer(c_int), dimension(:), target  bsr_row_ptr,
integer(c_int), dimension(:), target  bsr_col_ind,
integer(c_int)  block_dim,
type(c_ptr)  myinfo,
integer(c_size_t)  buffer_size 
)

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