clBLAS 2.0
Loading...
Searching...
No Matches
TRSV - Triangular matrix vector Solve

Functions

clblasStatus clblasStrsv (clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 solving triangular matrix problems with float elements.
 
clblasStatus clblasDtrsv (clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 solving triangular matrix problems with double elements.
 
clblasStatus clblasCtrsv (clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 solving triangular matrix problems with float-complex elements.
 
clblasStatus clblasZtrsv (clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 solving triangular matrix problems with double-complex elements.
 

Detailed Description

Function Documentation

◆ clblasCtrsv()

clblasStatus clblasCtrsv ( clblasOrder order,
clblasUplo uplo,
clblasTranspose trans,
clblasDiag diag,
size_t N,
const cl_mem A,
size_t offa,
size_t lda,
cl_mem X,
size_t offx,
int incx,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

solving triangular matrix problems with float-complex elements.

Matrix-vector products:

  • \( A X \leftarrow X \)
  • \( A^T X \leftarrow X \)
Parameters
[in]orderRow/column order.
[in]uploThe triangle in matrix being referenced.
[in]transHow matrix A is to be transposed.
[in]diagSpecify whether matrix A is unit triangular.
[in]NNumber of rows/columns in matrix A.
[in]ABuffer object storing matrix A.
[in]offaOffset in number of elements for first element in matrix A.
[in]ldaLeading dimension of matrix A. It cannot be less than N
[out]XBuffer object storing vector X.
[in]offxOffset in number of elements for first element in vector X.
[in]incxIncrement for the elements of X. Must not 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
The same result as the clblasStrsv() function.

◆ clblasDtrsv()

clblasStatus clblasDtrsv ( clblasOrder order,
clblasUplo uplo,
clblasTranspose trans,
clblasDiag diag,
size_t N,
const cl_mem A,
size_t offa,
size_t lda,
cl_mem X,
size_t offx,
int incx,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

solving triangular matrix problems with double elements.

Matrix-vector products:

  • \( A X \leftarrow X \)
  • \( A^T X \leftarrow X \)
Parameters
[in]orderRow/column order.
[in]uploThe triangle in matrix being referenced.
[in]transHow matrix A is to be transposed.
[in]diagSpecify whether matrix A is unit triangular.
[in]NNumber of rows/columns in matrix A.
[in]ABuffer object storing matrix A.
[in]offaOffset in number of elements for first element in matrix A.
[in]ldaLeading dimension of matrix A. It cannot be less than N
[out]XBuffer object storing vector X.
[in]offxOffset in number of elements for first element in vector X.
[in]incxIncrement for the elements of X. Must not 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 floating point arithmetic with double precision;
  • the same error codes as the clblasStrsv() function otherwise.

◆ clblasStrsv()

clblasStatus clblasStrsv ( clblasOrder order,
clblasUplo uplo,
clblasTranspose trans,
clblasDiag diag,
size_t N,
const cl_mem A,
size_t offa,
size_t lda,
cl_mem X,
size_t offx,
int incx,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

solving triangular matrix problems with float elements.

Matrix-vector products:

  • \( A X \leftarrow X \)
  • \( A^T X \leftarrow X \)
Parameters
[in]orderRow/column order.
[in]uploThe triangle in matrix being referenced.
[in]transHow matrix A is to be transposed.
[in]diagSpecify whether matrix A is unit triangular.
[in]NNumber of rows/columns in matrix A.
[in]ABuffer object storing matrix A.
[in]offaOffset in number of elements for first element in matrix A.
[in]ldaLeading dimension of matrix A. It cannot be less than N
[out]XBuffer object storing vector X.
[in]offxOffset in number of elements for first element in vector X.
[in]incxIncrement for the elements of X. Must not 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;
  • clblasNotInitialized if clblasSetup() was not called;
  • clblasInvalidValue if invalid parameters are passed:
    • either N or incx is zero, or
    • the leading dimension is invalid;
  • clblasInvalidMemObject if either A or X 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.
Examples
example_strsv.c.

◆ clblasZtrsv()

clblasStatus clblasZtrsv ( clblasOrder order,
clblasUplo uplo,
clblasTranspose trans,
clblasDiag diag,
size_t N,
const cl_mem A,
size_t offa,
size_t lda,
cl_mem X,
size_t offx,
int incx,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

solving triangular matrix problems with double-complex elements.

Matrix-vector products:

  • \( A X \leftarrow X \)
  • \( A^T X \leftarrow X \)
Parameters
[in]orderRow/column order.
[in]uploThe triangle in matrix being referenced.
[in]transHow matrix A is to be transposed.
[in]diagSpecify whether matrix A is unit triangular.
[in]NNumber of rows/columns in matrix A.
[in]ABuffer object storing matrix A.
[in]offaOffset in number of elements for first element in matrix A.
[in]ldaLeading dimension of matrix A. It cannot be less than N
[out]XBuffer object storing vector X.
[in]offxOffset in number of elements for first element in vector X.
[in]incxIncrement for the elements of X. Must not 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
The same result as the clblasDtrsv() function.