hipblascher2k Interface Reference

hipblascher2k Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblascher2k Interface Reference
hipfort_hipblas::hipblascher2k Interface Reference

BLAS Level 3 API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblascher2k_ (handle, uplo, transa, n, k, alpha, ap, lda, bp, ldb, beta, cp, ldc)
 
integer(kind(hipblas_status_success)) function hipblascher2k_rank_0 (handle, uplo, transa, n, k, alpha, ap, lda, bp, ldb, beta, cp, ldc)
 
integer(kind(hipblas_status_success)) function hipblascher2k_rank_1 (handle, uplo, transa, n, k, alpha, ap, lda, bp, ldb, beta, cp, ldc)
 
integer(kind(hipblas_status_success)) function hipblascher2k_full_rank (handle, uplo, transa, n, k, alpha, ap, lda, bp, ldb, beta, cp, ldc)
 

Detailed Description

BLAS Level 3 API.

The her2k functions perform one of the matrix-matrix operations for a Hermitian rank-2k update:

C := alpha*op( A )*op( B )^H + conj(alpha)*op( B )*op( A )^H + beta*C

where alpha and beta are scalars, op(A) and op(B) are n by k matrices, and C is an n by n Hermitian matrix stored as either upper or lower.

op( A ) = A, op( B ) = B, and A and B are n by k if trans == HIPBLAS_OP_N
op( A ) = A^H, op( B ) = B^H,  and A and B are k by n if trans == HIPBLAS_OP_C
  • Supported precisions in rocBLAS : c and z.
  • Supported precisions in cuBLAS : c and z.
Parameters
[in]handle- [hipblasHandle_t] handle to the hipBLAS library context queue.
[in]uplo- [hipblasFillMode_t]
  • HIPBLAS_FILL_MODE_UPPER: C is an upper triangular matrix.
  • HIPBLAS_FILL_MODE_LOWER: C is a lower triangular matrix.
[in]transA- [hipblasOperation_t]
  • HIPBLAS_OP_C: op( A ) = A^H, op( B ) = B^H
  • HIPBLAS_OP_N: op( A ) = A, op( B ) = B
[in]n- [int] n specifies the number of rows and columns of C. n >= 0.
[in]k- [int] k specifies the number of columns of op(A). k >= 0.
[in]alphaalpha specifies the scalar alpha. When alpha is zero, then A is not referenced and does not need to be set before entry.
[in]AP- pointer storing matrix A on the GPU. Matrix dimension is ( lda, k ) when trans = HIPBLAS_OP_N. Otherwise, (lda, n). Only the upper/lower triangular part is accessed.
[in]lda- [int] lda specifies the first dimension of A. If trans = HIPBLAS_OP_N, lda >= max( 1, n ). Otherwise, lda >= max( 1, k ).
[in]BP- pointer storing matrix B on the GPU. Matrix dimension is ( ldb, k ) when trans = HIPBLAS_OP_N. Otherwise, (ldb, n). Only the upper/lower triangular part is accessed.
[in]ldb- [int] ldb specifies the first dimension of B. If trans = HIPBLAS_OP_N, ldb >= max( 1, n ). Otherwise, ldb >= max( 1, k ).
[in]betabeta specifies the scalar beta. When beta is zero, then C does not need to be set before entry.
[in]CP- pointer storing matrix C on the GPU. The imaginary components of the diagonal elements are not used but are set to zero, except for quick return.
[in]ldc- [int] ldc specifies the first dimension of C. ldc >= max( 1, n ).

Member Function/Subroutine Documentation

◆ hipblascher2k_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblascher2k::hipblascher2k_ ( type(c_ptr), value  handle,
integer(kind(hipblas_fill_mode_upper)), value  uplo,
integer(kind(hipblas_op_n)), value  transa,
integer(c_int), value  n,
integer(c_int), value  k,
complex(c_float_complex)  alpha,
type(c_ptr), value  ap,
integer(c_int), value  lda,
type(c_ptr), value  bp,
integer(c_int), value  ldb,
real(c_float)  beta,
type(c_ptr), value  cp,
integer(c_int), value  ldc 
)

◆ hipblascher2k_full_rank()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblascher2k::hipblascher2k_full_rank ( type(c_ptr)  handle,
integer(kind(hipblas_fill_mode_upper))  uplo,
integer(kind(hipblas_op_n))  transa,
integer(c_int)  n,
integer(c_int)  k,
complex(c_float_complex)  alpha,
complex(c_float_complex), dimension(:,:), target  ap,
integer(c_int)  lda,
complex(c_float_complex), dimension(:,:), target  bp,
integer(c_int)  ldb,
real(c_float)  beta,
complex(c_float_complex), dimension(:,:), target  cp,
integer(c_int)  ldc 
)

◆ hipblascher2k_rank_0()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblascher2k::hipblascher2k_rank_0 ( type(c_ptr)  handle,
integer(kind(hipblas_fill_mode_upper))  uplo,
integer(kind(hipblas_op_n))  transa,
integer(c_int)  n,
integer(c_int)  k,
complex(c_float_complex)  alpha,
complex(c_float_complex), target  ap,
integer(c_int)  lda,
complex(c_float_complex), target  bp,
integer(c_int)  ldb,
real(c_float)  beta,
complex(c_float_complex), target  cp,
integer(c_int)  ldc 
)

◆ hipblascher2k_rank_1()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblascher2k::hipblascher2k_rank_1 ( type(c_ptr)  handle,
integer(kind(hipblas_fill_mode_upper))  uplo,
integer(kind(hipblas_op_n))  transa,
integer(c_int)  n,
integer(c_int)  k,
complex(c_float_complex)  alpha,
complex(c_float_complex), dimension(:), target  ap,
integer(c_int)  lda,
complex(c_float_complex), dimension(:), target  bp,
integer(c_int)  ldb,
real(c_float)  beta,
complex(c_float_complex), dimension(:), target  cp,
integer(c_int)  ldc 
)

The documentation for this interface was generated from the following file: