Visible to Intel only — GUID: GUID-96981356-3F32-4986-A3B1-83BA3B4B98D2
Visible to Intel only — GUID: GUID-96981356-3F32-4986-A3B1-83BA3B4B98D2
mkl_?csrbsr
Converts a square sparse matrix in the CSR format to the BSR format and vice versa (deprecated).
Syntax
void mkl_scsrbsr (const MKL_INT *job , const MKL_INT *m , const MKL_INT *mblk , const MKL_INT *ldabsr , float *acsr , MKL_INT *ja , MKL_INT *ia , float *absr , MKL_INT *jab , MKL_INT *iab , MKL_INT *info );
void mkl_dcsrbsr (const MKL_INT *job , const MKL_INT *m , const MKL_INT *mblk , const MKL_INT *ldabsr , double *acsr , MKL_INT *ja , MKL_INT *ia , double *absr , MKL_INT *jab , MKL_INT *iab , MKL_INT *info );
void mkl_ccsrbsr (const MKL_INT *job , const MKL_INT *m , const MKL_INT *mblk , const MKL_INT *ldabsr , MKL_Complex8 *acsr , MKL_INT *ja , MKL_INT *ia , MKL_Complex8 *absr , MKL_INT *jab , MKL_INT *iab , MKL_INT *info );
void mkl_zcsrbsr (const MKL_INT *job , const MKL_INT *m , const MKL_INT *mblk , const MKL_INT *ldabsr , MKL_Complex16 *acsr , MKL_INT *ja , MKL_INT *ia , MKL_Complex16 *absr , MKL_INT *jab , MKL_INT *iab , MKL_INT *info );
Include Files
- mkl.h
Description
This routine is deprecated. Use the matrix manipulation routinesfrom the Intel® oneAPI Math Kernel Library (oneMKL) Inspector-executor Sparse BLAS interface instead.
This routine converts a square sparse matrix A stored in the compressed sparse row (CSR) format (3-array variation) to the block sparse row (BSR) format and vice versa.
Input Parameters
- job
-
Array, contains the following conversion parameters:
job[0]
If job[0]=0, the matrix in the CSR format is converted to the BSR format;
if job[0]=1, the matrix in the BSR format is converted to the CSR format.
job[1]
If job[1]=0, zero-based indexing for the matrix in CSR format is used;
if job[1]=1, one-based indexing for the matrix in CSR format is used.
job[2]
If job[2]=0, zero-based indexing for the matrix in the BSR format is used;
if job[2]=1, one-based indexing for the matrix in the BSR format is used.
job[3] is only used for conversion to CSR format. By default, the converter saves the blocks without checking whether an element is zero or not. If job[3]=1, then the converter only saves non-zero elements in blocks.
job[5] - job indicator.
For conversion to the BSR format:
If job[5]=0, only arrays jab, iab are generated for the output storage.
If job[5]>0, all output arrays absr, jab, and iab are filled in for the output storage.
If job[5]=-1, iab[m] - iab[0] returns the number of non-zero blocks.
For conversion to the CSR format:
If job[5]=0, only arrays ja, ia are generated for the output storage.
- m
-
Actual row dimension of the matrix A for convert to the BSR format; block row dimension of the matrix A for convert to the CSR format.
- mblk
-
Size of the block in the matrix A.
- ldabsr
-
Leading dimension of the array absr as declared in the calling program. ldabsr must be greater than or equal to mblk*mblk.
- acsr
-
(input/output)
Array containing non-zero elements of the matrix A. Its length is equal to the number of non-zero elements in the matrix A. Refer to values array description in Sparse Matrix Storage Formats for more details.
- ja
-
(input/output). Array containing the column indices for each non-zero element of the matrix A.
Its length is equal to the length of the array acsr. Refer to columns array description in Sparse Matrix Storage Formats for more details.
- ia
-
(input/output). Array of length m + 1, containing indices of elements in the array acsr, such that ia[I]] - iab[0] is the index in the array acsr of the first non-zero element from the row I. The value of ia[m]] - iab[0] is equal to the number of non-zeros. Refer to rowIndex array description in Sparse Matrix Storage Formats for more details.
- absr
-
(input/output)
Array containing elements of non-zero blocks of the matrix A. Its length is equal to the number of non-zero blocks in the matrix A multiplied by mblk*mblk. Refer to values array description in BSR Format for more details.
- jab
-
(input/output). Array containing the column indices for each non-zero block of the matrix A.
Its length is equal to the number of non-zero blocks of the matrix A. Refer to columns array description in BSR Format for more details.
- iab
-
(input/output). Array of length (m + 1), containing indices of blocks in the array absr, such that iab[i] - iab[0] is the index in the array absr of the first non-zero element from the i-th row . The value of iab[m] is equal to the number of non-zero blocks. Refer to rowIndex array description in BSR Format for more details.
Output Parameters
- info
-
Integer info indicator only for converting the matrix A from the CSR format.
If info=0, the execution is successful.
If info=1, it means that mblk is equal to 0.
If info=2, it means that ldabsr is less than mblk*mblk and there is no space for all blocks.