hipblasstrsm Interface Reference#
hipfort_hipblas::hipblasstrsm Interface Reference
BLAS Level 3 API. More...
Public Member Functions | |
| integer(kind(hipblas_status_success)) function | hipblasstrsm_ (handle, side, uplo, transa, diag, m, n, alpha, ap, lda, bp, ldb) |
| integer(kind(hipblas_status_success)) function | hipblasstrsm_rank_0 (handle, side, uplo, transa, diag, m, n, alpha, ap, lda, bp, ldb) |
| integer(kind(hipblas_status_success)) function | hipblasstrsm_rank_1 (handle, side, uplo, transa, diag, m, n, alpha, ap, lda, bp, ldb) |
| integer(kind(hipblas_status_success)) function | hipblasstrsm_full_rank (handle, side, uplo, transa, diag, m, n, alpha, ap, lda, bp, ldb) |
Detailed Description
BLAS Level 3 API.
The trsm functions solve:
op(A)*X = alpha*B or X*op(A) = alpha*B,
where alpha is a scalar, X and B are m by n matrices, A is triangular matrix, and op(A) is one of:
op( A ) = A or op( A ) = A^T or op( A ) = A^H.
The matrix X is overwritten on B.
Note about memory allocation: When trsm is launched with a k evenly divisible by the internal block size of 128 and is no larger than 10 of these blocks, the API uses preallocated memory found in the handle to increase overall performance (where k is m when HIPBLAS_SIDE_LEFT and is n when HIPBLAS_SIDE_RIGHT). For more information on preallocated memory in the handle, see the Device Memory Allocation in rocBLAS section of the rocBLAS API Reference.
- Supported precisions in rocBLAS :
s,d,c, andz. - Supported precisions in cuBLAS :
s,d,c, andz.
- Parameters
-
[in] handle - [hipblasHandle_t] handle to the hipBLAS library context queue. [in] side - [hipblasSideMode_t] - HIPBLAS_SIDE_LEFT: op(A)*X = alpha*B.
- HIPBLAS_SIDE_RIGHT: X*op(A) = alpha*B.
[in] uplo - [hipblasFillMode_t] - HIPBLAS_FILL_MODE_UPPER: A is an upper triangular matrix.
- HIPBLAS_FILL_MODE_LOWER: A is a lower triangular matrix.
[in] transA - [hipblasOperation_t] - HIPBLAS_OP_N: op(A) = A.
- HIPBLAS_OP_T: op(A) = A^T.
- HIPBLAS_OP_C: op(A) = A^H.
[in] diag - [hipblasDiagType_t] - HIPBLAS_DIAG_UNIT: A is assumed to be unit triangular.
- HIPBLAS_DIAG_NON_UNIT: A is not assumed to be unit triangular.
[in] m - [int] m specifies the number of rows of B. m >= 0. [in] n - [int] n specifies the number of columns of B. n >= 0. [in] alpha device pointer or host pointer specifying the scalar alpha. When alpha is &zero, then A is not referenced and B does not need to be set before entry. [in] AP - device pointer storing matrix A. Of dimension ( lda, k ), where k is m when HIPBLAS_SIDE_LEFT and is n when HIPBLAS_SIDE_RIGHT. Only the upper/lower triangular part is accessed. [in] lda - [int] lda specifies the first dimension of A. - If side = HIPBLAS_SIDE_LEFT, lda >= max( 1, m ).
- If side = HIPBLAS_SIDE_RIGHT, lda >= max( 1, n ).
[in,out] BP - device pointer storing matrix B. [in] ldb - [int] ldb specifies the first dimension of B. ldb >= max( 1, m ).
Member Function/Subroutine Documentation
◆ hipblasstrsm_()
| integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblasstrsm::hipblasstrsm_ | ( | type(c_ptr), value | handle, |
| integer(kind(hipblas_side_left)), value | side, | ||
| integer(kind(hipblas_fill_mode_upper)), value | uplo, | ||
| integer(kind(hipblas_op_n)), value | transa, | ||
| integer(kind(hipblas_diag_non_unit)), value | diag, | ||
| integer(c_int), value | m, | ||
| integer(c_int), value | n, | ||
| real(c_float) | alpha, | ||
| type(c_ptr), value | ap, | ||
| integer(c_int), value | lda, | ||
| type(c_ptr), value | bp, | ||
| integer(c_int), value | ldb | ||
| ) |
◆ hipblasstrsm_full_rank()
| integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblasstrsm::hipblasstrsm_full_rank | ( | type(c_ptr) | handle, |
| integer(kind(hipblas_side_left)) | side, | ||
| integer(kind(hipblas_fill_mode_upper)) | uplo, | ||
| integer(kind(hipblas_op_n)) | transa, | ||
| integer(kind(hipblas_diag_non_unit)) | diag, | ||
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| real(c_float) | alpha, | ||
| real(c_float), dimension(:,:), target | ap, | ||
| integer(c_int) | lda, | ||
| real(c_float), dimension(:,:), target | bp, | ||
| integer(c_int) | ldb | ||
| ) |
◆ hipblasstrsm_rank_0()
| integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblasstrsm::hipblasstrsm_rank_0 | ( | type(c_ptr) | handle, |
| integer(kind(hipblas_side_left)) | side, | ||
| integer(kind(hipblas_fill_mode_upper)) | uplo, | ||
| integer(kind(hipblas_op_n)) | transa, | ||
| integer(kind(hipblas_diag_non_unit)) | diag, | ||
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| real(c_float) | alpha, | ||
| real(c_float), target | ap, | ||
| integer(c_int) | lda, | ||
| real(c_float), target | bp, | ||
| integer(c_int) | ldb | ||
| ) |
◆ hipblasstrsm_rank_1()
| integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblasstrsm::hipblasstrsm_rank_1 | ( | type(c_ptr) | handle, |
| integer(kind(hipblas_side_left)) | side, | ||
| integer(kind(hipblas_fill_mode_upper)) | uplo, | ||
| integer(kind(hipblas_op_n)) | transa, | ||
| integer(kind(hipblas_diag_non_unit)) | diag, | ||
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| real(c_float) | alpha, | ||
| real(c_float), dimension(:), target | ap, | ||
| integer(c_int) | lda, | ||
| real(c_float), dimension(:), target | bp, | ||
| integer(c_int) | ldb | ||
| ) |
The documentation for this interface was generated from the following file: