self_blas_matrixop_1d Subroutine

public subroutine self_blas_matrixop_1d(A, f, Af, opArows, opAcols, bcols, handle)

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in) :: A
type(c_ptr), intent(in) :: f
type(c_ptr), intent(inout) :: Af
integer, intent(in) :: opArows
integer, intent(in) :: opAcols
integer, intent(in) :: bcols
type(c_ptr), intent(in) :: handle

Calls

proc~~self_blas_matrixop_1d~2~~CallsGraph proc~self_blas_matrixop_1d~2 self_blas_matrixop_1d hipblasgemm hipblasgemm proc~self_blas_matrixop_1d~2->hipblasgemm proc~hipblascheck~2 hipblasCheck proc~self_blas_matrixop_1d~2->proc~hipblascheck~2

Contents

Source Code


Source Code

                          subroutine self_blas_matrixop_1d(A,f,Af,opArows,opAcols,bcols,handle)
                            type(c_ptr),intent(in) :: A
                            type(c_ptr),intent(in) :: f
                            type(c_ptr),intent(inout) :: Af
                            integer,intent(in) :: opArows,opAcols,bcols
                            type(c_ptr),intent(in) :: handle
                            ! Local
                            integer(c_int) :: m
                            integer(c_int) :: n
                            integer(c_int) :: k
                            real(c_prec) :: alpha
                            integer(c_int) :: lda
                            integer(c_int) :: ldb
                            integer(c_int) :: ldc
                            real(c_prec) :: beta

                            m = opArows ! number of rows of A^T
                            n = bcols ! number of columns of B
                            k = opAcols ! number of columns of A^T
                            alpha = 1.0_c_prec
                            lda = k ! leading dimension of A (matrix)
                            ldb = k ! leading dimension of B (f)
                            ldc = m ! leading dimension of C (Af)
                            beta = 0.0_c_prec

                            call hipblasCheck(hipblasgemm(handle, &
                                                          HIPBLAS_OP_T,HIPBLAS_OP_N, &
                                                          m,n,k,alpha, &
                                                          A,lda, &
                                                          f,ldb, &
                                                          beta, &
                                                          Af,ldc))

                          endsubroutine self_blas_matrixop_1d