Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial pages site content #130

Merged
merged 1 commit into from
Sep 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 96b7fc1f3c86e90a33bf3a8de5afed24
tags: 645f666f9bcd5a90fca523b33c5a78b7
499 changes: 499 additions & 0 deletions _sources/create_new_backend.rst.txt

Large diffs are not rendered by default.

158 changes: 158 additions & 0 deletions _sources/domains/blas/asum.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
.. _onemkl_blas_asum:

asum
====

Computes the sum of magnitudes of the vector elements.

.. _onemkl_blas_asum_description:

.. rubric:: Description

The ``asum`` routine computes the sum of the magnitudes of elements of a
real vector, or the sum of magnitudes of the real and imaginary parts
of elements of a complex vector:

.. math::

result = \sum_{i=1}^{n}(|Re(x_i)| + |Im(x_i)|)

where ``x`` is a vector with ``n`` elements.

``asum`` supports the following precisions for data:

.. list-table::
:header-rows: 1

* - T
- T_res
* - ``float``
- ``float``
* - ``double``
- ``double``
* - ``std::complex<float>``
- ``float``
* - ``std::complex<double>``
- ``double``

.. _onemkl_blas_asum_buffer:

asum (Buffer Version)
---------------------

.. rubric:: Syntax

.. code-block:: cpp

namespace oneapi::mkl::blas::column_major {
void asum(sycl::queue &queue,
std::int64_t n,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T_res,1> &result)
}
.. code-block:: cpp

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

.. container:: section

.. rubric:: Input Parameters

queue
The queue where the routine should be executed.

n
Number of elements in vector ``x``.

x
Buffer holding input vector ``x``. The buffer must be of size at
least (1 + (``n`` - 1)*abs(``incx``)). See :ref:`matrix-storage` for
more details.

incx
Stride of vector ``x``.

.. container:: section

.. rubric:: Output Parameters

result
Buffer where the scalar result is stored (the sum of magnitudes of
the real and imaginary parts of all elements of the vector).


.. _onemkl_blas_asum_usm:

asum (USM Version)
------------------

.. rubric:: Syntax

.. code-block:: cpp

namespace oneapi::mkl::blas::column_major {
sycl::event asum(sycl::queue &queue,
std::int64_t n,
const T *x,
std::int64_t incx,
T_res *result,
const sycl::vector_class<sycl::event> &dependencies = {})
}
.. code-block:: cpp

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

.. container:: section

.. rubric:: Input Parameters

queue
The queue where the routine should be executed.

n
Number of elements in vector ``x``.

x
Pointer to input vector ``x``. The array holding the vector
``x`` must be of size at least (1 + (``n`` - 1)*abs(``incx``)).
See :ref:`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.

.. container:: section

.. rubric:: Output Parameters

result
Pointer to the output matrix where the scalar result is stored
(the sum of magnitudes of the real and imaginary parts of all
elements of the vector).

.. container:: section

.. rubric:: Return Values

Output event to wait on to ensure computation is complete.


**Parent topic:** :ref:`blas-level-1-routines`
184 changes: 184 additions & 0 deletions _sources/domains/blas/axpy.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
.. _onemkl_blas_axpy:

axpy
====

Computes a vector-scalar product and adds the result to a vector.

.. _onemkl_blas_axpy_description:

.. rubric:: Description

The ``axpy`` routines compute a scalar-vector product and add the result
to a vector:

.. math::

y \leftarrow alpha * x + y

where:

``x`` and ``y`` are vectors of ``n`` elements,

``alpha`` is a scalar.

``axpy`` supports the following precisions.

.. list-table::
:header-rows: 1

* - T
* - ``float``
* - ``double``
* - ``std::complex<float>``
* - ``std::complex<double>``

.. _onemkl_blas_axpy_buffer:

axpy (Buffer Version)
---------------------

.. rubric:: Syntax

.. code-block:: cpp

namespace oneapi::mkl::blas::column_major {
void axpy(sycl::queue &queue,
std::int64_t n,
T alpha,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy)
}
.. code-block:: cpp

namespace oneapi::mkl::blas::row_major {
void axpy(sycl::queue &queue,
std::int64_t n,
T alpha,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy)
}

.. container:: section

.. rubric:: Input Parameters

queue
The queue where the routine should be executed.

n
Number of elements in vector ``x``.

alpha
Specifies the scalar alpha.

x
Buffer holding input vector ``x``. The buffer must be of size at least
(1 + (``n`` – 1)*abs(``incx``)). See :ref:`matrix-storage` for
more details.

incx
Stride of vector ``x``.

y
Buffer holding input vector ``y``. The buffer must be of size at least
(1 + (``n`` – 1)*abs(``incy``)). See :ref:`matrix-storage` for
more details.

incy
Stride of vector ``y``.

.. container:: section

.. rubric:: Output Parameters

y
Buffer holding the updated vector ``y``.


.. _onemkl_blas_axpy_usm:

axpy (USM Version)
------------------

.. rubric:: Syntax

.. code-block:: cpp

namespace oneapi::mkl::blas::column_major {
sycl::event axpy(sycl::queue &queue,
std::int64_t n,
T alpha,
const T *x,
std::int64_t incx,
T *y,
std::int64_t incy,
const sycl::vector_class<sycl::event> &dependencies = {})
}
.. code-block:: cpp

namespace oneapi::mkl::blas::row_major {
sycl::event axpy(sycl::queue &queue,
std::int64_t n,
T alpha,
const T *x,
std::int64_t incx,
T *y,
std::int64_t incy,
const sycl::vector_class<sycl::event> &dependencies = {})
}

.. container:: section

.. rubric:: Input Parameters

queue
The queue where the routine should be executed.

n
Number of elements in vector ``x``.

alpha
Specifies the scalar alpha.

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
:ref:`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
:ref:`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.

.. container:: section

.. rubric:: Output Parameters

y
Pointer to the updated vector ``y``.

.. container:: section

.. rubric:: Return Values

Output event to wait on to ensure computation is complete.


**Parent topic:** :ref:`blas-level-1-routines`
Loading