Developer Reference

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

mkl_?csrmultd

Computes product of two sparse matrices stored in the CSR format (3-array variation) with one-based indexing. The result is stored in the dense matrix (deprecated).

Syntax

void
mkl_dcsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
double
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
double
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
double
*c
,
MKL_INT
*ldc
);
void
mkl_scsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
float
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
float
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
float
*c
,
MKL_INT
*ldc
);
void
mkl_ccsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
MKL_Complex8
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
MKL_Complex8
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
MKL_Complex8
*c
,
MKL_INT
*ldc
);
void
mkl_zcsrmultd
(
const
char
*trans
,
const
MKL_INT
*m
,
const
MKL_INT
*n
,
const
MKL_INT
*k
,
MKL_Complex16
*a
,
MKL_INT
*ja
,
MKL_INT
*ia
,
MKL_Complex16
*b
,
MKL_INT
*jb
,
MKL_INT
*ib
,
MKL_Complex16
*c
,
MKL_INT
*ldc
);
Include Files
  • mkl.h
Description
This routine is deprecated. Use mkl_sparse_?_spmmdfrom the
Intel® oneAPI Math Kernel Library
Inspector-executor Sparse BLAS interface instead.
The
mkl_?csrmultd
routine performs a matrix-matrix operation defined as
C := op(A)*B
where:
A
,
B
are the sparse matrices in the CSR format (3-array variation),
C
is dense matrix;
op(
A
)
is one of
op(
A
) =
A
, or
op(
A
) =
A
T
, or
op(
A
) =
A
H
.
The routine works correctly if and only if the column indices in sparse matrix representations of matrices
A
and
B
are arranged in the increasing order for each row.
This routine supports only one-based indexing of the input arrays.
Input Parameters
trans
Specifies the operation.
If
trans
=
'N'
or
'n'
, then
C
:=
A
*
B
If
trans
=
'T'
or
't'
or
'C'
or
'c'
, then
C
:=
A
T
*
B
.
m
Number of rows of the matrix
A
.
n
Number of columns of the matrix
A
.
k
Number of columns of the matrix
B
.
a
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
Array containing the column indices
plus one
for each non-zero element of the matrix
A
. For each row the column indices must be arranged in the increasing order.
The length of this array is equal to the length of the array
a
. Refer to
columns
array description in Sparse Matrix Storage Formats for more details.
ia
Array of length
m
+ 1
when
trans
=
'N'
or
'n'
, or
n
+ 1
otherwise.
This array contains indices of elements in the array
a
, such that
ia
[
i
] -
ia
[0]
is the index in the array
a
of the first non-zero element from the row
i
. The value of the last element
ia
[
m
]
or
ia
[
n
]
is equal to the number of non-zero elements of the matrix
A
plus one. Refer to
rowIndex
array description in Sparse Matrix Storage Formats for more details.
b
Array containing non-zero elements of the matrix
B
. Its length is equal to the number of non-zero elements in the matrix
B
. Refer to
values
array description in Sparse Matrix Storage Formats for more details.
jb
Array containing the column indices
plus one
for each non-zero element of the matrix
B
. For each row the column indices must be arranged in the increasing order.
The length of this array is equal to the length of the array
b
. Refer to
columns
array description in Sparse Matrix Storage Formats for more details.
ib
Array of length
m
+ 1
.
This array contains indices of elements in the array
b
, such that
ib
[
i
] -
ib
[0]
is the index in the array
b
of the first non-zero element from the row
i
. The value of the last element
ib
[
m
]
is equal to the number of non-zero elements of the matrix
B
plus one. Refer to
rowIndex
array description in Sparse Matrix Storage Formats for more details.
Output Parameters
c
Array containing non-zero elements of the result matrix
C
.
ldc
Specifies the leading dimension of the dense matrix
C
as declared in the calling (sub)program. Must be at least
max(
m
, 1)
when
trans
=
'N'
or
'n'
, or
max(1,
n
)
otherwise.

Product and Performance Information

1

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