clBLAS 2.0
Loading...
Searching...
No Matches
TRSM - Solving triangular systems of equations

Functions

clblasStatus clblasStrsm (clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, cl_float alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Solving triangular systems of equations with multiple right-hand sides and float elements. Extended version.
 
clblasStatus clblasDtrsm (clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, cl_double alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Solving triangular systems of equations with multiple right-hand sides and double elements. Extended version.
 
clblasStatus clblasCtrsm (clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Solving triangular systems of equations with multiple right-hand sides and float complex elements. Extended version.
 
clblasStatus clblasZtrsm (clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue *commandQueues, cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_event *events)
 Solving triangular systems of equations with multiple right-hand sides and double complex elements. Extended version.
 

Detailed Description

Function Documentation

◆ clblasCtrsm()

clblasStatus clblasCtrsm ( clblasOrder order,
clblasSide side,
clblasUplo uplo,
clblasTranspose transA,
clblasDiag diag,
size_t M,
size_t N,
FloatComplex alpha,
const cl_mem A,
size_t offA,
size_t lda,
cl_mem B,
size_t offB,
size_t ldb,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

Solving triangular systems of equations with multiple right-hand sides and float complex elements. Extended version.

Solving triangular systems of equations:

  • \( B \leftarrow \alpha A^{-1} B \)
  • \( B \leftarrow \alpha A^{-T} B \)
  • \( B \leftarrow \alpha B A^{-1} \)
  • \( B \leftarrow \alpha B A^{-T} \)

where T is an upper or lower triangular matrix.

Parameters
[in]orderRow/column order.
[in]sideThe side of triangular matrix.
[in]uploThe triangle in matrix being referenced.
[in]transAHow matrix A is to be transposed.
[in]diagSpecify whether matrix is unit triangular.
[in]MNumber of rows in matrix B.
[in]NNumber of columns in matrix B.
[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 detailed description, see clblasStrsm().
[out]BBuffer object storing matrix B.
[in]offBOffset of the first element of the matrix B in the buffer object. Counted in elements.
[in]ldbLeading dimension of matrix B. For detailed description, see clblasStrsm().
[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 either offA or offB exceeds the size of the respective buffer object;
  • the same error codes as clblasStrsm() otherwise.

◆ clblasDtrsm()

clblasStatus clblasDtrsm ( clblasOrder order,
clblasSide side,
clblasUplo uplo,
clblasTranspose transA,
clblasDiag diag,
size_t M,
size_t N,
cl_double alpha,
const cl_mem A,
size_t offA,
size_t lda,
cl_mem B,
size_t offB,
size_t ldb,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

Solving triangular systems of equations with multiple right-hand sides and double elements. Extended version.

Solving triangular systems of equations:

  • \( B \leftarrow \alpha A^{-1} B \)
  • \( B \leftarrow \alpha A^{-T} B \)
  • \( B \leftarrow \alpha B A^{-1} \)
  • \( B \leftarrow \alpha B A^{-T} \)

where T is an upper or lower triangular matrix.

Parameters
[in]orderRow/column order.
[in]sideThe side of triangular matrix.
[in]uploThe triangle in matrix being referenced.
[in]transAHow matrix A is to be transposed.
[in]diagSpecify whether matrix is unit triangular.
[in]MNumber of rows in matrix B.
[in]NNumber of columns in matrix B.
[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 detailed description, see clblasStrsm().
[out]BBuffer object storing matrix B.
[in]offBOffset of the first element of the matrix A in the buffer object. Counted in elements.
[in]ldbLeading dimension of matrix B. For detailed description, see clblasStrsm().
[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;
  • clblasInvalidValue if either offA or offB exceeds the size of the respective buffer object;
  • the same error codes as the clblasStrsm() function otherwise.

◆ clblasStrsm()

clblasStatus clblasStrsm ( clblasOrder order,
clblasSide side,
clblasUplo uplo,
clblasTranspose transA,
clblasDiag diag,
size_t M,
size_t N,
cl_float alpha,
const cl_mem A,
size_t offA,
size_t lda,
cl_mem B,
size_t offB,
size_t ldb,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

Solving triangular systems of equations with multiple right-hand sides and float elements. Extended version.

Solving triangular systems of equations:

  • \( B \leftarrow \alpha A^{-1} B \)
  • \( B \leftarrow \alpha A^{-T} B \)
  • \( B \leftarrow \alpha B A^{-1} \)
  • \( B \leftarrow \alpha B A^{-T} \)

where T is an upper or lower triangular matrix.

Parameters
[in]orderRow/column order.
[in]sideThe side of triangular matrix.
[in]uploThe triangle in matrix being referenced.
[in]transAHow matrix A is to be transposed.
[in]diagSpecify whether matrix is unit triangular.
[in]MNumber of rows in matrix B.
[in]NNumber of columns in matrix B.
[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 M when the side parameter is set to clblasLeft,
or less than N when it is set to clblasRight.
[out]BBuffer object storing matrix B.
[in]offBOffset of the first element of the matrix B in the buffer object. Counted in elements.
[in]ldbLeading dimension of matrix B. It cannot be less than N when the order parameter is set to clblasRowMajor,
or less than M when it is set to clblasColumnMajor.
[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 either offA or offB exceeds the size of the respective buffer object;
  • the same error codes as clblasStrsm() otherwise.
Examples
example_strsm.c.

◆ clblasZtrsm()

clblasStatus clblasZtrsm ( clblasOrder order,
clblasSide side,
clblasUplo uplo,
clblasTranspose transA,
clblasDiag diag,
size_t M,
size_t N,
DoubleComplex alpha,
const cl_mem A,
size_t offA,
size_t lda,
cl_mem B,
size_t offB,
size_t ldb,
cl_uint numCommandQueues,
cl_command_queue * commandQueues,
cl_uint numEventsInWaitList,
const cl_event * eventWaitList,
cl_event * events )

Solving triangular systems of equations with multiple right-hand sides and double complex elements. Extended version.

Solving triangular systems of equations:

  • \( B \leftarrow \alpha A^{-1} B \)
  • \( B \leftarrow \alpha A^{-T} B \)
  • \( B \leftarrow \alpha B A^{-1} \)
  • \( B \leftarrow \alpha B A^{-T} \)

where T is an upper or lower triangular matrix.

Parameters
[in]orderRow/column order.
[in]sideThe side of triangular matrix.
[in]uploThe triangle in matrix being referenced.
[in]transAHow matrix A is to be transposed.
[in]diagSpecify whether matrix is unit triangular.
[in]MNumber of rows in matrix B.
[in]NNumber of columns in matrix B.
[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 detailed description, see clblasStrsm().
[out]BBuffer object storing matrix B.
[in]offBOffset of the first element of the matrix B in the buffer object. Counted in elements.
[in]ldbLeading dimension of matrix B. For detailed description, see clblasStrsm().
[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;
  • clblasInvalidValue if either offA or offB exceeds the size of the respective buffer object;
  • the same error codes as the clblasStrsm() function otherwise