nrm2#

Computes the Euclidean norm of a vector.

Description#

The nrm2 routines compute Euclidean norm of a vector. The operation is defined as:

\[result = ||x||\]

where:

  • x is a vector of n elements

nrm2 supports the following precisions:

T

Tres

sycl::half

sycl::half

oneapi::mkl::bfloat16

oneapi::mkl::bfloat16

float

float

double

double

std::complex<float>

float

std::complex<double>

double

nrm2 (Buffer Version)#

Syntax#

namespace oneapi::mkl::blas::column_major {
    void nrm2(sycl::queue &queue,
              std::int64_t n,
              sycl::buffer<T,1> &x,
              std::int64_t incx,
              sycl::buffer<Tres,1> &result)
}
namespace oneapi::mkl::blas::row_major {
    void nrm2(sycl::queue &queue,
              std::int64_t n,
              sycl::buffer<T,1> &x,
              std::int64_t incx,
              sycl::buffer<Tres,1> &result)
}

Input Parameters#

queue

The queue where the routine should be executed.

n

Number of elements in vector x.

x

Buffer holding input vector x. Size of the buffer must be at least (1 + (n - 1)*abs(incx)). See Matrix Storage for more details.

incx

Stride of vector x.

Output Parameters#

result

Buffer where the Euclidean norm of the vector x is stored.

nrm2 (USM Version)#

Syntax#

namespace oneapi::mkl::blas::column_major {
    sycl::event nrm2(sycl::queue &queue,
                     std::int64_t n,
                     const T *x,
                     std::int64_t incx,
                     Tres *result,
                     const std::vector<sycl::event> &dependencies = {})
}
namespace oneapi::mkl::blas::row_major {
    sycl::event nrm2(sycl::queue &queue,
                     std::int64_t n,
                     const T *x,
                     std::int64_t incx,
                     Tres *result,
                     const std::vector<sycl::event> &dependencies = {})
}

Input Parameters#

queue

The queue where the routine should be executed.

n

Number of elements in vector x.

x

Pointer to input vector x. Size of the array holding input vector x must be at least (1 + (n - 1)*abs(incx)). See Matrix Storage for more details.

incx

Stride of vector x.

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 Euclidean norm of the vector x is stored.

Return Values#

Output event to wait on to ensure computation is complete.