imatcopy#
一般的な行列を使用して、インプレースでスケールされた行列の転置またはコピー操作を計算します。
説明#
imatcopy ルーチンは、一連のアウトオブプレースでスケールされた行列のコピーまたは転置を実行します。操作はのように定義されています。
説明:
op(
X) は、op(X) =X、op(X) =XT、または op(X) =XH のいずれかですalphaはスカラーですABは行列ABは入力時にmxnになります。
imatcopy は次の精度をサポートします。
T |
|---|
|
|
|
|
imatcopy (バッファーバージョン)#
構文#
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);
}入力パラメーター#
- queue
ルーチンが実行されるキュー。
- trans
行列
ABに適用される転置演算 op(AB) を指定します。詳細はデータタイプを参照してください。- m
入力行列
ABの行数。最小値は 0 です。- n
入力行列
ABの列数。最小値は 0 です。- alpha
行列の転置またはコピーのスケーリング係数。
- ab
入力/出力行列
ABを保持するバッファー。次のサイズである必要があります。trans=transpose::nontranstrans=transpose::transまたはtrans=transpose::conjtrans列優先
配列
abのサイズはmax(lda,ldb) *n以上でなければなりません配列
abのサイズは max(lda,ldb) * max(m,n) 以上でなければなりません行優先
配列
abのサイズは max(lda,ldb) *m以上でなければなりません配列
abのサイズは max(lda,ldb) * max(m,n) 以上でなければなりません- lda
入力時の行列
ABの先頭次元。行列が列優先レイアウトで保存される場合、ldaはm以上である必要があります。行列が行優先レイアウトで保存される場合、ldaはn以上である必要があります。正である必要があります。- ldb
出力行列
ABの先頭次元。正である必要があります。trans=transpose::nontranstrans=transpose::transまたはtrans=transpose::conjtrans列優先
m以上である必要がありますn以上である必要があります行優先
n以上である必要がありますm以上である必要があります
出力パラメーター#
- ab
出力バッファーは
alpha* op(AB) で、上書きされます。
imatcopy (USM バージョン)#
構文#
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 = {});
}入力パラメーター#
- queue
ルーチンが実行されるキュー。
- trans
行列
ABに適用される転置演算 op(AB) を指定します。詳細はデータタイプを参照してください。- m
入力行列
ABの行数。最小値は 0 です。- n
入力行列
ABの列数。最小値は 0 です。- alpha
行列の転置またはコピーのスケーリング係数。
value_or_pointerデータタイプの詳細については、スカラー引数を参照してください。- ab
入力/出力行列
ABへのポインター。次のサイズである必要があります。trans=transpose::nontranstrans=transpose::transまたはtrans=transpose::conjtrans列優先
配列
abのサイズは max(lda,ldb) *n以上でなければなりません配列
abのサイズは max(lda,ldb) * max(m,n) 以上でなければなりません行優先
配列
abのサイズは max(lda,ldb) *m以上でなければなりません配列
abのサイズは max(lda,ldb) * max(m,n) 以上でなければなりません- lda
入力時の行列
ABの先頭次元。行列が列優先レイアウトで保存される場合、ldaはm以上である必要があります。行列が行優先レイアウトで保存される場合、ldaはn以上である必要があります。正である必要があります。- ldb
出力行列
ABの先頭次元。正である必要があります。trans=transpose::nontranstrans=transpose::transまたはtrans=transpose::conjtrans列優先
m以上である必要がありますn以上である必要があります行優先
n以上である必要がありますm以上である必要があります- dependencies
計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。
出力パラメーター#
- ab
alpha* op(AB) で上書きされた出力行列ABへのポインター。
戻り値#
計算が完了したことを確認するために待機する出力イベント。