dot (USM Version)¶
Computes the dot product of two real vectors.
Syntax
namespace oneapi::mkl::blas { event dot(queue &exec_queue, std::int64_t n, const T *x, std::int64_t incx, const T *y, std::int64_t incy, T_res *result, const vector_class<event> &dependencies = {}) }The USM version of
dot
supports the following precisions and devices.
T
T_res
Devices Supported
float
float
Host, CPU, and GPU
double
double
Host, CPU, and GPU
float
double
Host, CPU, and GPU
Description
The
dot
routines perform adot
product between two vectors:\mathrm{result} = \sum_{i=1}^{n} X_i Y_i
Note
For the mixed precision version (inputs are float while result is double), the dot product is computed with double precision.
Input Parameters
- exec_queue
The queue where the routine should be executed.
- n
Number of elements in vectors x and y.
- x
Pointer to the input vector x. The array holding the vector x must be of size at least
(1 + (n – 1)*abs(incx))
. See Matrix Storage for more details.- incx
Stride of vector x.
- y
Pointer to the input vector y. The array holding the vector y must be of size at least
(1 + (n – 1)*abs(incy))
. See Matrix 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
- result
Pointer to where the result (a scalar) will be stored.
Return Values
Output event to wait on to ensure computation is complete.