sdsdot#
ベクトル - ベクトル間のドット積を倍精度で計算します。
説明#
sdsdot ルーチンは、2 つのベクトル間のドット積を倍精度で実行します。操作はのように定義されています。
\[\mathrm{result} = sb + \sum_{i=1}^n X_i Y_i\]
sdsdot (バッファーバージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
void sdsdot(sycl::queue &queue,
std::int64_t n,
float sb,
sycl::buffer<float,1> &x,
std::int64_t incx,
sycl::buffer<float,1> &y,
std::int64_t incy,
sycl::buffer<float,1> &result)
}namespace oneapi::mkl::blas::row_major {
void sdsdot(sycl::queue &queue,
std::int64_t n,
float sb, sycl::buffer<float,1> &x,
std::int64_t incx,
sycl::buffer<float,1> &y,
std::int64_t incy,
sycl::buffer<float,1> &result)
}入力パラメーター#
出力パラメーター#
- result
結果 (スカラー) が格納されるバッファー。
n< 0 の場合、結果はsbになります。
sdsdot (USM バージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
sycl::event sdsdot(sycl::queue &queue,
std::int64_t n,
float sb,
const float *x,
std::int64_t incx,
const float *y,
std::int64_t incy,
float *result,
const std::vector<sycl::event> &dependencies = {})
}namespace oneapi::mkl::blas::row_major {
sycl::event sdsdot(sycl::queue &queue,
std::int64_t n,
float sb,
const float *x,
std::int64_t incx,
const float *y,
std::int64_t incy,
float *result,
const std::vector<sycl::event> &dependencies = {})
}入力パラメーター#
- queue
ルーチンを実行するキュー。
- n
ベクトル
xとyの要素数。- sb
ドット積に加算される単精度スカラー。
- x
入力ベクトル
xへのポインター。配列のサイズは (1 + (n- 1)*abs(incx) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
xのストライド。- y
入力ベクトル
yへのポインター。配列のサイズは (1 + (n- 1)*abs(incy) 以上である必要があります。行列ストレージを参照してください。- incy
ベクトル
yのストライド。- dependencies
計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。
出力パラメーター#
- result
結果 (スカラー) が格納される場所へのポインター。
n< 0 の場合、結果はsbになります。
戻り値#
計算が完了したことを確認するために待機する出力イベント。