geru#
一般複素行列のランク 1 更新 (非共役) を計算します。
説明#
geru
ルーチンは、スカラー - ベクトル - ベクトル積を計算し、その結果を一般行列に加算します。操作はのように定義されています。
説明:
alpha
はスカラーですA
はm
xn
の行列ですx
は長さm
のベクトルですy
は長さn
のベクトルです
geru
は次の精度をサポートします。
T |
---|
|
|
geru (バッファーバージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
void geru(sycl::queue &queue,
std::int64_t m,
std::int64_t n,
T alpha,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy,
sycl::buffer<T,1> &a,
std::int64_t lda)
}
namespace oneapi::mkl::blas::row_major {
void geru(sycl::queue &queue,
std::int64_t m,
std::int64_t n,
T alpha,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy,
sycl::buffer<T,1> &a,
std::int64_t lda)
}
入力パラメーター#
- queue
ルーチンを実行するキュー。
- m
行列
A
の行数。最小値は 0 です。- n
行列
A
の列数。最小値は 0 です。- alpha
行列 - ベクトル積のスケーリング係数。
- x
入力ベクトル
x
を保持するバッファー。バッファーのサイズは (1 + (m
- 1)*abs(incx
) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
x
のストライド。ゼロであってはなりません。- y
入力/出力ベクトル
y
を保持するバッファー。バッファーのサイズは (1 + (n
- 1)*abs(incy
) 以上である必要があります。行列ストレージを参照してください。- incy
ベクトル
y
のストライド。ゼロであってはなりません。- a
入力行列
A
を保持するバッファー。バッファーのサイズは、列優先レイアウトの場合はlda
*n
以上、行優先レイアウトの場合はlda
*m
以上である必要があります。- lda
行列
A
の先頭次元。列優先レイアウトの場合は正の値でm
以上、行優先レイアウトの場合はn
以上である必要があります。
出力パラメーター#
- a
更新された行列
A
を保持するバッファー。
geru (USM バージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
sycl::event geru(sycl::queue &queue,
std::int64_t m,
std::int64_t n,
oneapi::mkl::value_or_pointer<T> alpha,
const T *x,
std::int64_t incx,
const T *y,
std::int64_t incy,
T *a,
std::int64_t lda,
const std::vector<sycl::event> &dependencies = {})
}
namespace oneapi::mkl::blas::row_major {
sycl::event geru(sycl::queue &queue,
std::int64_t m,
std::int64_t n,
oneapi::mkl::value_or_pointer<T> alpha,
const T *x,
std::int64_t incx,
const T *y,
std::int64_t incy,
T *a,
std::int64_t lda,
const std::vector<sycl::event> &dependencies = {})
}
入力パラメーター#
- queue
ルーチンを実行するキュー。
- m
行列
A
の行数。最小値は 0 です。- n
行列
A
の列数。最小値は 0 です。- alpha
行列 - ベクトル積のスケーリング係数。
value_or_pointer
データタイプの詳細については、スカラー引数を参照してください。- x
入力ベクトル
x
へのポインター。入力ベクトルx
を保持する配列のサイズは、(1 + (m
- 1)*abs(incx
)) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
x
のストライド。ゼロであってはなりません。- y
入力/出力ベクトル
y
へのポインター。入力/出力ベクトルy
を保持する配列のサイズは、(1 + (n
- 1)*abs(incy
)) 以上である必要があります。行列ストレージを参照してください。- incy
ベクトル
y
のストライド。ゼロであってはなりません。- a
入力行列
A
へのポインター。バッファーのサイズは、列優先レイアウトの場合はlda
*n
以上、行優先レイアウトの場合はlda
*m
以上である必要があります。- lda
行列
A
の先頭次元。列優先レイアウトの場合は正の値でm
以上、行優先レイアウトの場合はn
以上である必要があります。- dependencies
計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。
出力パラメーター#
- a
更新された行列
A
へのポインター。
戻り値#
計算が完了したことを確認するために待機する出力イベント。