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
) =X
T, or op(X
) =X
Halpha
is a scalarAB
is a matrixAB
ism
xn
on input.
imatcopy
supports the following precisions:
T |
---|
|
|
|
|
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 matrixAB
. 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
ortrans
=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 leastm
. If matrices are stored using row major layout,lda
must be at leastn
. Must be positive.- ldb
Leading dimension of the matrix
AB
on output. Must be positive.trans
=transpose::nontrans
trans
=transpose::trans
ortrans
=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,
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,
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 matrixAB
. 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
ortrans
=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 leastm
. If matrices are stored using row major layout,lda
must be at leastn
. Must be positive.- ldb
Leading dimension of the matrix
AB
on output. Must be positive.trans
=transpose::nontrans
trans
=transpose::trans
ortrans
=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 byalpha
* op(AB
).
Return Values¶
Output event to wait for to ensure computation is complete.