swap (USM Version)¶
Swaps a vector with another vector.
Syntax
-
event swap(queue &exec_queue, std::int64_t n, T \*x, std::int64_t incx, T \*y, std::int64_t incy, const vector_class<event> &dependencies = {})
The USM version of swap supports the following precisions and devices.
T |
Devices Supported |
---|---|
|
Host, CPU, and GPU |
|
Host, CPU, and GPU |
|
Host, CPU, and GPU |
|
Host, CPU, and GPU |
Description
Given two vectors of n
elements, x
and y
, the swap
routines return vectors y
and x
swapped, each replacing the
other.
y <- x, x <- y
Input Parameters
- exec_queue
The queue where the routine should be executed.
- n
Number of elements in vector
x
.- x
Pointer to the input vector
x
. The array must be of size at least (1 + (n
- 1)*abs(incx
)). See Matrix and Vector Storage for more details.- incx
Stride of vector x.
- y
Pointer to the input vector
y
. The array must be of size at least (1 + (n
- 1)*abs(incy
)). See Matrix and Vector Storage for more details.- incy
Stride of vector y.
- dependencies
List of events to wait for before starting computation, if any. If omitted, defaults to no dependencies.
Output Parameters
- x
Pointer to the updated array
x
, that is, the input vectory
.- y
Pointer to the updated array
y
, that is, the input vectorx
.
Return Values
Output event to wait on to ensure computation is complete.