clBLAS  2.11
 All Functions Typedefs Enumerations Enumerator Groups Pages
Functions
GEMV - General matrix-Vector multiplication

Functions

clblasStatus clblasSgemv (clblasOrder order, clblasTranspose transA, size_t M, size_t N, cl_float alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, cl_float beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Matrix-vector product with a general rectangular matrix and float elements. Extended version. More...
 
clblasStatus clblasDgemv (clblasOrder order, clblasTranspose transA, size_t M, size_t N, cl_double alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, cl_double beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Matrix-vector product with a general rectangular matrix and double elements. Extended version. More...
 
clblasStatus clblasCgemv (clblasOrder order, clblasTranspose transA, size_t M, size_t N, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, FloatComplex beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Matrix-vector product with a general rectangular matrix and float complex elements. Extended version. More...
 
clblasStatus clblasZgemv (clblasOrder order, clblasTranspose transA, size_t M, size_t N, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, DoubleComplex beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Matrix-vector product with a general rectangular matrix and double complex elements. Extended version. More...
 

Detailed Description

Function Documentation

clblasStatus clblasCgemv ( clblasOrder  order,
clblasTranspose  transA,
size_t  M,
size_t  N,
FloatComplex  alpha,
const cl_mem  A,
size_t  offA,
size_t  lda,
const cl_mem  x,
size_t  offx,
int  incx,
FloatComplex  beta,
cl_mem  y,
size_t  offy,
int  incy,
cl_uint  numCommandQueues,
cl_command_queue *  commandQueues,
cl_uint  numEventsInWaitList,
const cl_event *  eventWaitList,
cl_event *  events 
)

Matrix-vector product with a general rectangular matrix and float complex elements. Extended version.

Matrix-vector products:

  • \( y \leftarrow \alpha A x + \beta y \)
  • \( y \leftarrow \alpha A^T x + \beta y \)
Parameters
[in]orderRow/column order.
[in]transAHow matrix A is to be transposed.
[in]MNumber of rows in matrix A.
[in]NNumber of columns in matrix A.
[in]alphaThe factor of matrix A.
[in]ABuffer object storing matrix A.
[in]offAOffset of the first element of the matrix A in the buffer object. Counted in elements
[in]ldaLeading dimension of matrix A. For a detailed description, see clblasSgemv().
[in]xBuffer object storing vector x.
[in]offxOffset of first element of vector x in buffer object. Counted in elements.
[in]incxIncrement for the elements of x. It cannot be zero.
[in]betaThe factor of the vector y.
[out]yBuffer object storing the vector y.
[in]offyOffset of first element of vector y in buffer object. Counted in elements.
[in]incyIncrement for the elements of y. It cannot be zero.
[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;
  • clblasInvalidValue if offA exceeds the size of A buffer object;
  • the same error codes as the clblasSgemv() function otherwise.
clblasStatus clblasDgemv ( clblasOrder  order,
clblasTranspose  transA,
size_t  M,
size_t  N,
cl_double  alpha,
const cl_mem  A,
size_t  offA,
size_t  lda,
const cl_mem  x,
size_t  offx,
int  incx,
cl_double  beta,
cl_mem  y,
size_t  offy,
int  incy,
cl_uint  numCommandQueues,
cl_command_queue *  commandQueues,
cl_uint  numEventsInWaitList,
const cl_event *  eventWaitList,
cl_event *  events 
)

Matrix-vector product with a general rectangular matrix and double elements. Extended version.

Matrix-vector products:

  • \( y \leftarrow \alpha A x + \beta y \)
  • \( y \leftarrow \alpha A^T x + \beta y \)
Parameters
[in]orderRow/column order.
[in]transAHow matrix A is to be transposed.
[in]MNumber of rows in matrix A.
[in]NNumber of columns in matrix A.
[in]alphaThe factor of matrix A.
[in]ABuffer object storing matrix A.
[in]offAOffset of the first element of A in the buffer object. Counted in elements.
[in]ldaLeading dimension of matrix A. For a detailed description, see clblasSgemv().
[in]xBuffer object storing vector x.
[in]offxOffset of first element of vector x in buffer object. Counted in elements.
[in]incxIncrement for the elements of x. It cannot be zero.
[in]betaThe factor of the vector y.
[out]yBuffer object storing the vector y.
[in]offyOffset of first element of vector y in buffer object. Counted in elements.
[in]incyIncrement for the elements of y. It cannot be zero.
[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 the floating point arithmetic with double precision;
  • clblasInvalidValue if offA exceeds the size of A buffer object;
  • the same error codes as the clblasSgemv() function otherwise.
clblasStatus clblasSgemv ( clblasOrder  order,
clblasTranspose  transA,
size_t  M,
size_t  N,
cl_float  alpha,
const cl_mem  A,
size_t  offA,
size_t  lda,
const cl_mem  x,
size_t  offx,
int  incx,
cl_float  beta,
cl_mem  y,
size_t  offy,
int  incy,
cl_uint  numCommandQueues,
cl_command_queue *  commandQueues,
cl_uint  numEventsInWaitList,
const cl_event *  eventWaitList,
cl_event *  events 
)

Matrix-vector product with a general rectangular matrix and float elements. Extended version.

Matrix-vector products:

  • \( y \leftarrow \alpha A x + \beta y \)
  • \( y \leftarrow \alpha A^T x + \beta y \)
Parameters
[in]orderRow/column order.
[in]transAHow matrix A is to be transposed.
[in]MNumber of rows in matrix A.
[in]NNumber of columns in matrix A.
[in]alphaThe factor of matrix A.
[in]ABuffer object storing matrix A.
[in]offAOffset of the first element of the matrix A in the buffer object. Counted in elements.
[in]ldaLeading dimension of matrix A. It cannot be less than N when the order parameter is set to clblasRowMajor,
or less than M when the parameter is set to clblasColumnMajor.
[in]xBuffer object storing vector x.
[in]offxOffset of first element of vector x in buffer object. Counted in elements.
[in]incxIncrement for the elements of x. It cannot be zero.
[in]betaThe factor of the vector y.
[out]yBuffer object storing the vector y.
[in]offyOffset of first element of vector y in buffer object. Counted in elements.
[in]incyIncrement for the elements of y. It cannot be zero.
[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;
  • clblasInvalidValue if offA exceeds the size of A buffer object;
  • the same error codes as the clblasSgemv() function otherwise.
Examples:
example_sgemv.c.
clblasStatus clblasZgemv ( clblasOrder  order,
clblasTranspose  transA,
size_t  M,
size_t  N,
DoubleComplex  alpha,
const cl_mem  A,
size_t  offA,
size_t  lda,
const cl_mem  x,
size_t  offx,
int  incx,
DoubleComplex  beta,
cl_mem  y,
size_t  offy,
int  incy,
cl_uint  numCommandQueues,
cl_command_queue *  commandQueues,
cl_uint  numEventsInWaitList,
const cl_event *  eventWaitList,
cl_event *  events 
)

Matrix-vector product with a general rectangular matrix and double complex elements. Extended version.

Matrix-vector products:

  • \( y \leftarrow \alpha A x + \beta y \)
  • \( y \leftarrow \alpha A^T x + \beta y \)
Parameters
[in]orderRow/column order.
[in]transAHow matrix A is to be transposed.
[in]MNumber of rows in matrix A.
[in]NNumber of columns in matrix A.
[in]alphaThe factor of matrix A.
[in]ABuffer object storing matrix A.
[in]offAOffset of the first element of the matrix A in the buffer object. Counted in elements.
[in]ldaLeading dimension of matrix A. For a detailed description, see clblasSgemv().
[in]xBuffer object storing vector x.
[in]offxOffset of first element of vector x in buffer object. Counted in elements.
[in]incxIncrement for the elements of x. It cannot be zero.
[in]betaThe factor of the vector y.
[out]yBuffer object storing the vector y.
[in]offyOffset of first element of vector y in buffer object. Counted in elements.
[in]incyIncrement for the elements of y. It cannot be zero.
[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 the floating point arithmetic with double precision;
  • clblasInvalidValue if offA exceeds the size of A buffer object;
  • the same error codes as the clblasSgemv() function otherwise.