Visible to Intel only — GUID: GUID-F63143DE-2C8C-4816-AC8F-DFAB54A6D28A
Visible to Intel only — GUID: GUID-F63143DE-2C8C-4816-AC8F-DFAB54A6D28A
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:
where:
op(X) is one of op(X) = X, or op(X) = XT, or op(X) = XH
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.
trans = transpose::nontrans
trans = 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
namespace oneapi::mkl::blas::column_major {
sycl::event imatcopy(sycl::queue &queue,
oneapi::mkl::transpose trans,
std::int64_t m,
std::int64_t n,
oneapi::mkl::value_or_pointer<T> alpha,
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,
oneapi::mkl::value_or_pointer<T> alpha,
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. See Scalar Arguments for more information on the value_or_pointer data type.
- 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.
trans = transpose::nontrans
trans = 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.