swap#
ベクトルを別のベクトルと交換します。
説明#
n 要素の 2 つのベクトル x と y が与えられると、swap ルーチンは、互いに入れ替わったベクトル y と x を返します。操作はのように定義されています。
\[\begin{split}\left[\begin{array}{c} y\\x \end{array}\right] \leftarrow \left[\begin{array}{c} x\\y \end{array}\right]\end{split}\]
swap は次の精度をサポートします。
T |
|---|
|
|
|
|
swap (バッファーバージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
void swap(sycl::queue &queue,
std::int64_t n,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy)
}namespace oneapi::mkl::blas::row_major {
void swap(sycl::queue &queue,
std::int64_t n,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy)
}入力パラメーター#
出力パラメーター#
- x
更新されたバッファー
x、つまり入力ベクトルyを保持するバッファー。- y
更新されたバッファー
y、つまり入力ベクトルxを保持するバッファー。
swap (USM バージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
sycl::event swap(sycl::queue &queue,
std::int64_t n,
T *x,
std::int64_t incx,
T *y,
std::int64_t incy,
const std::vector<sycl::event> &dependencies = {})
}namespace oneapi::mkl::blas::row_major {
sycl::event swap(sycl::queue &queue,
std::int64_t n,
T *x,
std::int64_t incx,
T *y,
std::int64_t incy,
const std::vector<sycl::event> &dependencies = {})
}入力パラメーター#
- queue
ルーチンを実行するキュー。
- n
ベクトル
xとyの要素数。- x
入力ベクトル
xへのポインター。配列のサイズは (1 + (n- 1)*abs(incx) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
xのストライド。- y
入力ベクトル
yへのポインター。配列のサイズは (1 + (n- 1)*abs(incy) 以上である必要があります。行列ストレージを参照してください。- incy
ベクトル
yのストライド。- dependencies
計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。
出力パラメーター#
- x
更新された配列
x、つまり入力ベクトルyへのポインター。- y
更新された配列
y、つまり入力ベクトルxへのポインター。
戻り値#
計算が完了したことを確認するために待機する出力イベント。