Developer Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

mkl_sparse_?_create_bsr

Creates a handle for a matrix in BSR format.

Syntax

sparse_status_t mkl_sparse_s_create_bsr
(
sparse_matrix_t
*A
,
const sparse_index_base_t
indexing
,
const sparse_layout_t
block_layout
,
const MKL_INT
rows
,
const MKL_INT
cols
,
const MKL_INT
block_size
,
MKL_INT
*rows_start
,
MKL_INT
*rows_end
,
MKL_INT
*col_indx
,
float
*values
);
sparse_status_t mkl_sparse_d_create_bsr
(
sparse_matrix_t
*A
,
const sparse_index_base_t
indexing
,
const sparse_layout_t
block_layout
,
const MKL_INT
rows
,
const MKL_INT
cols
,
const MKL_INT
block_size
,
MKL_INT
*rows_start
,
MKL_INT
*rows_end
,
MKL_INT
*col_indx
,
double
*values
);
sparse_status_t mkl_sparse_c_create_bsr
(
sparse_matrix_t
*A
,
const sparse_index_base_t
indexing
,
const sparse_layout_t
block_layout
,
const MKL_INT
rows
,
const MKL_INT
cols
,
const MKL_INT
block_size
,
MKL_INT
*rows_start
,
MKL_INT
*rows_end
,
MKL_INT
*col_indx
,
MKL_Complex8
*values
);
sparse_status_t mkl_sparse_z_create_bsr
(
sparse_matrix_t
*A
,
const sparse_index_base_t
indexing
,
const sparse_layout_t
block_layout
,
const MKL_INT
rows
,
const MKL_INT
cols
,
const MKL_INT
block_size
,
MKL_INT
*rows_start
,
MKL_INT
*rows_end
,
MKL_INT
*col_indx
,
MKL_Complex16
*values
);
Include Files
  • mkl_spblas.h
Description
The
mkl_sparse_?_create_bsr
routine creates a handle for an
m
-by-
k
matrix
A
in BSR format.
The input arrays provided are left unchanged except for the call to mkl_sparse_order, which performs ordering of column indexes of the matrix. To avoid any changes to the input data, use mkl_sparse_copy.
Input Parameters
indexing
Indicates how input arrays are indexed.
SPARSE_INDEX_BASE_ZERO
Zero-based (C-style) indexing: indices start at 0.
SPARSE_INDEX_BASE_ONE
One-based (Fortran-style) indexing: indices start at 1.
block_layout
Specifies layout of blocks:
SPARSE_LAYOUT_ROW_MAJOR
Storage of elements of blocks uses row major layout.
SPARSE_LAYOUT_COLUMN_MAJOR
Storage of elements of blocks uses column major layout.
rows
Number of block rows of matrix
A
.
cols
Number of block columns of matrix
A
.
block_size
Size of blocks in matrix
A
.
rows_start
Array of length
m
. This array contains row indices, such that
rows_start
[
i
]
-
ind
is the first index of block row
i
in the arrays
values
and
col_indx
.
ind
takes 0 for zero-based indexing and 1 for one-based indexing.
Refer to
pointerB
array description in CSR Format for more details.
rows_end
Array of length
m
. This array contains row indices, such that
rows_end
[
i
]
-
ind
- 1
is the last index of block row
i
in the arrays
values
and
col_indx
.
ind
takes 0 for zero-based indexing and 1 for one-based indexing.
Refer to
pointerE
array description in CSR Format for more details.
col_indx
For one-based indexing, array containing the column indices plus one for each non-zero block of the matrix
A
. For zero-based indexing, array containing the column indices for each non-zero block of the matrix
A
. Its length is
rows_end
[
rows
- 1]
-
ind
.
ind
takes 0 for zero-based indexing and 1 for one-based indexing.
values
Array containing non-zero elements of the matrix
A
. Its length is equal to length of the
col_indx
array multiplied by
block_size
*
block_size
.
Refer to the
values
array description in BSR Format for more details.
Output Parameters
A
Handle containing internal data.
Return Values
The function returns a value indicating whether the operation was successful or not, and why.
SPARSE_STATUS_SUCCESS
The operation was successful.
SPARSE_STATUS_NOT_INITIALIZED
The routine encountered an empty handle or matrix array.
SPARSE_STATUS_ALLOC_FAILED
Internal memory allocation failed.
SPARSE_STATUS_INVALID_VALUE
The input parameters contain an invalid value.
SPARSE_STATUS_EXECUTION_FAILED
Execution failed.
SPARSE_STATUS_INTERNAL_ERROR
An error in algorithm implementation occurred.
SPARSE_STATUS_NOT_SUPPORTED
The requested operation is not supported.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.