Developer Reference

Contents

imatcopy

Computes an in-place scaled matrix transpose or copy operation using a general matrix.

Description

The
imatcopy
routine performs an in-place scaled matrix copy or transposition. The operation is defined as:
LaTex Math image.
where:
  • op(
    X
    ) is one of op(
    X
    ) =
    X
    , or op(
    X
    ) =
    X
    T
    , or op(
    X
    ) =
    X
    H
  • alpha
    is a scalar
  • AB
    is a matrix
  • AB
    is
    m
    x
    n
    on input.
imatcopy
supports the following precisions:
T
float
double
std::complex<float>
std::complex<double>

imatcopy (Buffer Version)

Syntax
namespace oneapi::mkl::blas::column_major { void imatcopy(sycl::queue &queue, oneapi::mkl::transpose trans, std::int64_t m, std::int64_t n, T alpha, sycl::buffer<T, 1> &ab, std::int64_t lda, std::int64_t ldb); }
namespace oneapi::mkl::blas::row_major { void imatcopy(sycl::queue &queue, oneapi::mkl::transpose trans, std::int64_t m, std::int64_t n, T alpha, sycl::buffer<T, 1> &ab, std::int64_t lda, std::int64_t ldb); }
Input Parameters
queue
The queue where the routine will be executed.
trans
Specifies op(
AB
), the transposition operation applied to the matrix
AB
. See Data Types for more details.
m
Number of rows for the matrix
AB
on input. Must be at least zero.
n
Number of columns for the matrix
AB
on input. Must be at least zero.
alpha
Scaling factor for the matrix transposition or copy.
ab
Buffer holding the input/output matrix
AB
. Must have size as follows:
trans
=
transpose::nontrans
trans
=
transpose::trans
or
trans
=
transpose::conjtrans
Column major
Size of array
ab
must be at least max(
lda
,
ldb
) *
n
Size of array
ab
must be at least max(
lda
,
ldb
) * max(
m
,
n
)
Row major
Size of array
ab
must be at least max(
lda
,
ldb
) *
m
Size of array
ab
must be at least max(
lda
,
ldb
) * max(
m
,
n
)
lda
Leading dimension of the matrix
AB
on input. If matrices are stored using column major layout,
lda
must be at least
m
. If matrices are stored using row major layout,
lda
must be at least
n
. Must be positive.
ldb
Leading dimension of the matrix
AB
on output. Must be positive.
transb
=
transpose::nontrans
transb
=
transpose::trans
or
trans
=
transpose::conjtrans
Column major
Must be at least
m
Must be at least
n
Row major
Must be at least
n
Must be at least
m
Output Parameters
ab
Output buffer, overwritten by
alpha
* op(
AB
).

imatcopy (USM Version)

Syntax
USM arrays:
namespace oneapi::mkl::blas::column_major { sycl::event imatcopy(sycl::queue &queue, oneapi::mkl::transpose trans, std::int64_t m, std::int64_t n, T alpha, const T *ab, std::int64_t lda, std::int64_t ldb, const std::vector<sycl::event> &dependencies = {}); }
namespace oneapi::mkl::blas::row_major { sycl::event imatcopy(sycl::queue &queue, oneapi::mkl::transpose trans, std::int64_t m, std::int64_t n, T alpha, const T *ab, std::int64_t lda, std::int64_t ldb, const std::vector<sycl::event> &dependencies = {}); }
Input Parameters
queue
The queue where the routine will be executed.
trans
Specifies op(
AB
), the transposition operation applied to the matrix
AB
. See Data Types for more details.
m
Number of rows for the matrix
AB
on input. Must be at least zero.
n
Number of columns for the matrix
AB
on input. Must be at least zero.
alpha
Scaling factor for the matrix transposition or copy.
ab
Pointer to input/output matrix
AB
. Must have size as follows:
trans
=
transpose::nontrans
trans
=
transpose::trans
or
trans
=
transpose::conjtrans
Column major
Size of array
ab
must be at least max(
lda
,
ldb
) *
n
Size of array
ab
must be at least max(
lda
,
ldb
) * max(
m
,
n
)
Row major
Size of array
ab
must be at least max(
lda
,
ldb
) *
m
Size of array
ab
must be at least max(
lda
,
ldb
) * max(
m
,
n
)
lda
Leading dimension of the matrix
AB
on input. If matrices are stored using column major layout,
lda
must be at least
m
. If matrices are stored using row major layout,
lda
must be at least
n
. Must be positive.
ldb
Leading dimension of the matrix
AB
on output. Must be positive.
transb
=
transpose::nontrans
transb
=
transpose::trans
or
trans
=
transpose::conjtrans
Column major
Must be at least
m
Must be at least
n
Row major
Must be at least
n
Must be at least
m
dependencies
List of events to wait for before starting computation, if any. If omitted, defaults to no dependencies.
Output Parameters
ab
Pointer to output matrix
AB
overwritten by
alpha
* op(
AB
).
Return Values
Output event to wait for to ensure computation is complete.

Product and Performance Information

1

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