clBLAS  2.11
 All Functions Typedefs Enumerations Enumerator Groups Pages
Functions
HPR2 - Hermitian packed matrix rank 2 update

Functions

clblasStatus clblasChpr2 (clblasOrder order, clblasUplo uplo, size_t N, cl_float2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Hermitian rank 2 operation with a general triangular packed-matrix and float-compelx elements. More...
 
clblasStatus clblasZhpr2 (clblasOrder order, clblasUplo uplo, size_t N, cl_double2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Hermitian rank 2 operation with a general triangular packed-matrix and double-compelx elements. More...
 

Detailed Description

The Level 2 Basic Linear Algebra Subprograms are functions that perform hermitian rank 2 update operations on packed matrices

Function Documentation

clblasStatus clblasChpr2 ( clblasOrder  order,
clblasUplo  uplo,
size_t  N,
cl_float2  alpha,
const cl_mem  X,
size_t  offx,
int  incx,
const cl_mem  Y,
size_t  offy,
int  incy,
cl_mem  AP,
size_t  offa,
cl_uint  numCommandQueues,
cl_command_queue *  commandQueues,
cl_uint  numEventsInWaitList,
const cl_event *  eventWaitList,
cl_event *  events 
)

Hermitian rank 2 operation with a general triangular packed-matrix and float-compelx elements.

Hermitian rank 2 operation:

  • \( A \leftarrow \alpha X Y^H + \conjg( alpha ) Y X^H + A \)
Parameters
[in]orderRow/column order.
[in]uploThe triangle in matrix being referenced.
[in]NNumber of columns in matrix A.
[in]alphaThe factor of matrix A.
[in]XBuffer object storing vector X.
[in]offxOffset in number of elements for the first element in vector X.
[in]incxIncrement for the elements of X. Must not be zero.
[in]YBuffer object storing vector Y.
[in]offyOffset in number of elements for the first element in vector Y.
[in]incyIncrement for the elements of Y. Must not be zero.
[out]APBuffer object storing packed-matrix AP.
[in]offaOffset in number of elements for the first element in matrix AP.
[in]numCommandQueuesNumber of OpenCL command queues in which the task is to be performed.
[in]commandQueuesOpenCL command queues.
[in]numEventsInWaitListNumber of events in the event wait list.
[in]eventWaitListEvent wait list.
[in]eventsEvent objects per each command queue that identify a particular kernel execution instance.
Returns
  • clblasSuccess on success;
  • clblasNotInitialized if clblasSetup() was not called;
  • clblasInvalidValue if invalid parameters are passed:
    • either N is zero, or
    • either incx or incy is zero
  • clblasInvalidMemObject if either AP, X, or Y object is Invalid, or an image object rather than the buffer one;
  • clblasOutOfHostMemory if the library can't allocate memory for internal structures;
  • clblasInvalidCommandQueue if the passed command queue is invalid;
  • clblasInvalidContext if a context a passed command queue belongs to was released;
  • clblasInvalidOperation if kernel compilation relating to a previous call has not completed for any of the target devices;
  • clblasCompilerNotAvailable if a compiler is not available;
  • clblasBuildProgramFailure if there is a failure to build a program executable.
clblasStatus clblasZhpr2 ( clblasOrder  order,
clblasUplo  uplo,
size_t  N,
cl_double2  alpha,
const cl_mem  X,
size_t  offx,
int  incx,
const cl_mem  Y,
size_t  offy,
int  incy,
cl_mem  AP,
size_t  offa,
cl_uint  numCommandQueues,
cl_command_queue *  commandQueues,
cl_uint  numEventsInWaitList,
const cl_event *  eventWaitList,
cl_event *  events 
)

Hermitian rank 2 operation with a general triangular packed-matrix and double-compelx elements.

Hermitian rank 2 operation:

  • \( A \leftarrow \alpha X Y^H + \conjg( alpha ) Y X^H + A \)
Parameters
[in]orderRow/column order.
[in]uploThe triangle in matrix being referenced.
[in]NNumber of columns in matrix A.
[in]alphaThe factor of matrix A.
[in]XBuffer object storing vector X.
[in]offxOffset in number of elements for the first element in vector X.
[in]incxIncrement for the elements of X. Must not be zero.
[in]YBuffer object storing vector Y.
[in]offyOffset in number of elements for the first element in vector Y.
[in]incyIncrement for the elements of Y. Must not be zero.
[out]APBuffer object storing packed-matrix AP.
[in]offaOffset in number of elements for the first element in matrix AP.
[in]numCommandQueuesNumber of OpenCL command queues in which the task is to be performed.
[in]commandQueuesOpenCL command queues.
[in]numEventsInWaitListNumber of events in the event wait list.
[in]eventWaitListEvent wait list.
[in]eventsEvent objects per each command queue that identify a particular kernel execution instance.
Returns
  • clblasSuccess on success;
  • clblasInvalidDevice if a target device does not support floating point arithmetic with double precision;
  • the same error codes as the clblasChpr2() function otherwise.
Examples:
example_zhpr2.c.