Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

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
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804