HICBLAS_MOD Module


Uses

  • module~~hicblas_mod~~UsesGraph module~hicblas_mod HICBLAS_MOD OPENACC_LIB OPENACC_LIB module~hicblas_mod->OPENACC_LIB PARKIND1 PARKIND1 module~hicblas_mod->PARKIND1 iso_c_binding iso_c_binding module~hicblas_mod->iso_c_binding module~growing_allocator_mod GROWING_ALLOCATOR_MOD module~hicblas_mod->module~growing_allocator_mod module~growing_allocator_mod->iso_c_binding

Used by

  • module~~hicblas_mod~~UsedByGraph module~hicblas_mod HICBLAS_MOD proc~ledir LEDIR proc~ledir->module~hicblas_mod proc~leinv LEINV proc~leinv->module~hicblas_mod

Interfaces

public interface HIP_GEMM_BATCHED

  • public subroutine HIP_DGEMM_BATCHED_OVERLOAD(TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, STRIDEA, BARRAY, LDB, STRIDEB, BETA, CARRAY, LDC, STRIDEC, BATCHCOUNT, STREAM, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: TRANSA
    character(kind=C_CHAR, len=1), VALUE :: TRANSB
    integer(kind=JPIM) :: M
    integer(kind=JPIM) :: N
    integer(kind=JPIM) :: K
    real(kind=JPRD) :: ALPHA
    real(kind=JPRD), DIMENSION(:) :: AARRAY
    integer(kind=JPIM) :: LDA
    integer(kind=JPIM) :: STRIDEA
    real(kind=JPRD), DIMENSION(:,:) :: BARRAY
    integer(kind=JPIM) :: LDB
    integer(kind=JPIM) :: STRIDEB
    real(kind=JPRD) :: BETA
    real(kind=JPRD), DIMENSION(:) :: CARRAY
    integer(kind=JPIM) :: LDC
    integer(kind=JPIM) :: STRIDEC
    integer(kind=JPIM) :: BATCHCOUNT
    integer(kind=C_INT) :: STREAM
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC
  • public subroutine HIP_SGEMM_BATCHED_OVERLOAD(TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, STRIDEA, BARRAY, LDB, STRIDEB, BETA, CARRAY, LDC, STRIDEC, BATCHCOUNT, STREAM, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: TRANSA
    character(kind=C_CHAR, len=1), VALUE :: TRANSB
    integer(kind=JPIM) :: M
    integer(kind=JPIM) :: N
    integer(kind=JPIM) :: K
    real(kind=JPRM) :: ALPHA
    real(kind=JPRM), DIMENSION(:) :: AARRAY
    integer(kind=JPIM) :: LDA
    integer(kind=JPIM) :: STRIDEA
    real(kind=JPRM), DIMENSION(*) :: BARRAY
    integer(kind=JPIM) :: LDB
    integer(kind=JPIM) :: STRIDEB
    real(kind=JPRM) :: BETA
    real(kind=JPRM), DIMENSION(:) :: CARRAY
    integer(kind=JPIM) :: LDC
    integer(kind=JPIM) :: STRIDEC
    integer(kind=JPIM) :: BATCHCOUNT
    integer(kind=C_INT) :: STREAM
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC
  • public subroutine HIP_DGEMM_GROUPED_OVERLOAD(BLAS_ID, TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, OFFSETA, BARRAY, LDB, OFFSETB, BETA, CARRAY, LDC, OFFSETC, BATCHCOUNT, STREAM, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=C_INT), intent(in) :: BLAS_ID
    character(kind=C_CHAR, len=1), VALUE :: TRANSA
    character(kind=C_CHAR, len=1), VALUE :: TRANSB
    integer(kind=JPIM) :: M
    integer(kind=JPIM) :: N(:)
    integer(kind=JPIM) :: K(:)
    real(kind=JPRD) :: ALPHA
    real(kind=JPRD), DIMENSION(:) :: AARRAY
    integer(kind=JPIM) :: LDA
    integer(kind=JPIM) :: OFFSETA(:)
    real(kind=JPRD), DIMENSION(*) :: BARRAY
    integer(kind=JPIM) :: LDB
    integer(kind=JPIM) :: OFFSETB(:)
    real(kind=JPRD) :: BETA
    real(kind=JPRD), DIMENSION(:) :: CARRAY
    integer(kind=JPIM) :: LDC
    integer(kind=JPIM) :: OFFSETC(:)
    integer(kind=JPIM) :: BATCHCOUNT
    integer(kind=C_INT) :: STREAM
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC
  • public subroutine HIP_SGEMM_GROUPED_OVERLOAD(BLAS_ID, TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, OFFSETA, BARRAY, LDB, OFFSETB, BETA, CARRAY, LDC, OFFSETC, BATCHCOUNT, STREAM, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=C_INT), intent(in) :: BLAS_ID
    character(kind=C_CHAR, len=1), VALUE :: TRANSA
    character(kind=C_CHAR, len=1), VALUE :: TRANSB
    integer(kind=JPIM) :: M
    integer(kind=JPIM) :: N(:)
    integer(kind=JPIM) :: K(:)
    real(kind=JPRM) :: ALPHA
    real(kind=JPRM), DIMENSION(:) :: AARRAY
    integer(kind=JPIM) :: LDA
    integer(kind=JPIM) :: OFFSETA(:)
    real(kind=JPRM), DIMENSION(:,:,:) :: BARRAY
    integer(kind=JPIM) :: LDB
    integer(kind=JPIM) :: OFFSETB(:)
    real(kind=JPRM) :: BETA
    real(kind=JPRM), DIMENSION(:) :: CARRAY
    integer(kind=JPIM) :: LDC
    integer(kind=JPIM) :: OFFSETC(:)
    integer(kind=JPIM) :: BATCHCOUNT
    integer(kind=C_INT) :: STREAM
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC

public interface hip_gemm

  • public subroutine HIP_SGEMM(CTA, CTB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC) bind(C,NAME='hipblasSgemm')

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT), VALUE :: N
    integer(kind=C_INT), VALUE :: K
    real(kind=C_FLOAT), VALUE :: ALPHA
    real(kind=C_FLOAT), DIMENSION(LDA,*) :: A
    integer(kind=C_INT), VALUE :: LDA
    real(kind=C_FLOAT), DIMENSION(LDB,*) :: B
    integer(kind=C_INT), VALUE :: LDB
    real(kind=C_FLOAT), VALUE :: BETA
    real(kind=C_FLOAT), DIMENSION(LDC,*) :: C
    integer(kind=C_INT), VALUE :: LDC
  • public subroutine HIP_DGEMM(CTA, CTB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC) bind(C,NAME='hipblasDgemm')

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT), VALUE :: N
    integer(kind=C_INT), VALUE :: K
    real(kind=C_DOUBLE), VALUE :: ALPHA
    real(kind=C_DOUBLE), DIMENSION(LDA,*) :: A
    integer(kind=C_INT), VALUE :: LDA
    real(kind=C_DOUBLE), DIMENSION(LDB,*) :: B
    integer(kind=C_INT), VALUE :: LDB
    real(kind=C_DOUBLE), VALUE :: BETA
    real(kind=C_DOUBLE), DIMENSION(LDC,*) :: C
    integer(kind=C_INT), VALUE :: LDC

interface

  • public subroutine HIP_DGEMM_BATCHED(CTA, CTB, M, N, K, ALPHA, A, LDA, TDA, B, LDB, TDB, BETA, C, LDC, TDC, BATCHCOUNT, STREAM, ALLOC) bind(C, NAME='hipblas_dgemm_wrapper')

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT), VALUE :: N
    integer(kind=C_INT), VALUE :: K
    real(kind=C_DOUBLE), VALUE :: ALPHA
    real(kind=C_DOUBLE), DIMENSION(LDA,*) :: A
    integer(kind=C_INT), VALUE :: LDA
    integer(kind=C_INT), VALUE :: TDA
    real(kind=C_DOUBLE), DIMENSION(LDB,*) :: B
    integer(kind=C_INT), VALUE :: LDB
    integer(kind=C_INT), VALUE :: TDB
    real(kind=C_DOUBLE), VALUE :: BETA
    real(kind=C_DOUBLE), DIMENSION(LDC,*) :: C
    integer(kind=C_INT), VALUE :: LDC
    integer(kind=C_INT), VALUE :: TDC
    integer(kind=C_INT), VALUE :: BATCHCOUNT
    integer(kind=C_SIZE_T) :: STREAM
    type(C_PTR), intent(in), VALUE :: ALLOC

interface

  • public subroutine HIP_DGEMM_STRIDED_BATCHED(CTA, CTB, M, N, K, ALPHA, A, LDA, TDA, B, LDB, TDB, BETA, C, LDC, TDC, BATCHCOUNT, STREAM) bind(C, NAME='hipblasDgemmStridedBatched_wrapper')

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT), VALUE :: N
    integer(kind=C_INT), VALUE :: K
    real(kind=C_DOUBLE), VALUE :: ALPHA
    real(kind=C_DOUBLE), DIMENSION(LDA,*) :: A
    integer(kind=C_INT), VALUE :: LDA
    integer(kind=C_INT), VALUE :: TDA
    real(kind=C_DOUBLE), DIMENSION(LDB,*) :: B
    integer(kind=C_INT), VALUE :: LDB
    integer(kind=C_INT), VALUE :: TDB
    real(kind=C_DOUBLE), VALUE :: BETA
    real(kind=C_DOUBLE), DIMENSION(LDC,*) :: C
    integer(kind=C_INT), VALUE :: LDC
    integer(kind=C_INT), VALUE :: TDC
    integer(kind=C_INT), VALUE :: BATCHCOUNT
    integer(kind=C_SIZE_T) :: STREAM

interface

  • public subroutine HIP_DGEMM_BATCHED_FINALIZE() bind(C,NAME='hipblasDgemmBatched_finalize')

    Arguments

    None

interface

  • public subroutine HIP_SGEMM_BATCHED(CTA, CTB, M, N, K, ALPHA, A, LDA, TDA, B, LDB, TDB, BETA, C, LDC, TDC, BATCHCOUNT, STREAM, ALLOC) bind(C, NAME='hipblas_sgemm_wrapper')

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT), VALUE :: N
    integer(kind=C_INT), VALUE :: K
    real(kind=C_FLOAT), VALUE :: ALPHA
    real(kind=C_FLOAT), DIMENSION(LDA,*) :: A
    integer(kind=C_INT), VALUE :: LDA
    integer(kind=C_INT), VALUE :: TDA
    real(kind=C_FLOAT), DIMENSION(LDB,*) :: B
    integer(kind=C_INT), VALUE :: LDB
    integer(kind=C_INT), VALUE :: TDB
    real(kind=C_FLOAT), VALUE :: BETA
    real(kind=C_FLOAT), DIMENSION(LDC,*) :: C
    integer(kind=C_INT), VALUE :: LDC
    integer(kind=C_INT), VALUE :: TDC
    integer(kind=C_INT), VALUE :: BATCHCOUNT
    integer(kind=C_SIZE_T) :: STREAM
    type(C_PTR), intent(in), VALUE :: ALLOC

interface

  • public subroutine HIP_SGEMM_STRIDED_BATCHED(CTA, CTB, M, N, K, ALPHA, A, LDA, TDA, B, LDB, TDB, BETA, C, LDC, TDC, BATCHCOUNT, STREAM) bind(C, NAME='hipblasSgemmStridedBatched_wrapper')

    Arguments

    Type IntentOptional Attributes Name
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT), VALUE :: N
    integer(kind=C_INT), VALUE :: K
    real(kind=C_FLOAT), VALUE :: ALPHA
    real(kind=C_FLOAT), DIMENSION(LDA,*) :: A
    integer(kind=C_INT), VALUE :: LDA
    integer(kind=C_INT), VALUE :: TDA
    real(kind=C_FLOAT), DIMENSION(LDB,*) :: B
    integer(kind=C_INT), VALUE :: LDB
    integer(kind=C_INT), VALUE :: TDB
    real(kind=C_FLOAT), VALUE :: BETA
    real(kind=C_FLOAT), DIMENSION(LDC,*) :: C
    integer(kind=C_INT), VALUE :: LDC
    integer(kind=C_INT), VALUE :: TDC
    integer(kind=C_INT), VALUE :: BATCHCOUNT
    integer(kind=C_SIZE_T) :: STREAM

interface

  • public subroutine HIP_SGEMM_BATCHED_FINALIZE() bind(C,NAME='hipblasSgemmBatched_finalize')

    Arguments

    None

interface

  • public subroutine HIP_DGEMM_GROUPED(BLAS_ID, CTA, CTB, M, N, K, ALPHA, A, LDA, OFFSETA, B, LDB, OFFSETB, BETA, C, LDC, OFFSETC, BATCHCOUNT, STREAM, ALLOC) bind(C, NAME='blas_dgemm_wrapper_grouped')

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=C_INT), VALUE :: BLAS_ID
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT) :: N(*)
    integer(kind=C_INT) :: K(*)
    real(kind=C_DOUBLE), VALUE :: ALPHA
    real(kind=C_DOUBLE) :: A(*)
    integer(kind=C_INT), VALUE :: LDA
    integer(kind=C_INT) :: OFFSETA(*)
    real(kind=C_DOUBLE) :: B(*)
    integer(kind=C_INT), VALUE :: LDB
    integer(kind=C_INT) :: OFFSETB(*)
    real(kind=C_DOUBLE), VALUE :: BETA
    real(kind=C_DOUBLE) :: C(*)
    integer(kind=C_INT), VALUE :: LDC
    integer(kind=C_INT) :: OFFSETC(*)
    integer(kind=C_INT), VALUE :: BATCHCOUNT
    integer(kind=C_SIZE_T) :: STREAM
    type(C_PTR), intent(in), VALUE :: ALLOC

interface

  • public subroutine HIP_SGEMM_GROUPED(BLAS_ID, CTA, CTB, M, N, K, ALPHA, A, LDA, OFFSETA, B, LDB, OFFSETB, BETA, C, LDC, OFFSETC, BATCHCOUNT, STREAM, ALLOC) bind(C, NAME='blas_sgemm_wrapper_grouped')

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=C_INT), VALUE :: BLAS_ID
    character(kind=C_CHAR, len=1), VALUE :: CTA
    character(kind=C_CHAR, len=1), VALUE :: CTB
    integer(kind=C_INT), VALUE :: M
    integer(kind=C_INT) :: N(*)
    integer(kind=C_INT) :: K(*)
    real(kind=C_FLOAT), VALUE :: ALPHA
    real(kind=C_FLOAT) :: A(*)
    integer(kind=C_INT), VALUE :: LDA
    integer(kind=C_INT) :: OFFSETA(*)
    real(kind=C_FLOAT) :: B(*)
    integer(kind=C_INT), VALUE :: LDB
    integer(kind=C_INT) :: OFFSETB(*)
    real(kind=C_FLOAT), VALUE :: BETA
    real(kind=C_FLOAT) :: C(*)
    integer(kind=C_INT), VALUE :: LDC
    integer(kind=C_INT) :: OFFSETC(*)
    integer(kind=C_INT), VALUE :: BATCHCOUNT
    integer(kind=C_SIZE_T) :: STREAM
    type(C_PTR), intent(in), VALUE :: ALLOC

Subroutines

public subroutine HIP_DGEMM_BATCHED_OVERLOAD(TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, STRIDEA, BARRAY, LDB, STRIDEB, BETA, CARRAY, LDC, STRIDEC, BATCHCOUNT, STREAM, ALLOC)

Arguments

Type IntentOptional Attributes Name
character(kind=C_CHAR, len=1), VALUE :: TRANSA
character(kind=C_CHAR, len=1), VALUE :: TRANSB
integer(kind=JPIM) :: M
integer(kind=JPIM) :: N
integer(kind=JPIM) :: K
real(kind=JPRD) :: ALPHA
real(kind=JPRD), DIMENSION(:) :: AARRAY
integer(kind=JPIM) :: LDA
integer(kind=JPIM) :: STRIDEA
real(kind=JPRD), DIMENSION(:,:) :: BARRAY
integer(kind=JPIM) :: LDB
integer(kind=JPIM) :: STRIDEB
real(kind=JPRD) :: BETA
real(kind=JPRD), DIMENSION(:) :: CARRAY
integer(kind=JPIM) :: LDC
integer(kind=JPIM) :: STRIDEC
integer(kind=JPIM) :: BATCHCOUNT
integer(kind=C_INT) :: STREAM
type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC

public subroutine HIP_SGEMM_BATCHED_OVERLOAD(TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, STRIDEA, BARRAY, LDB, STRIDEB, BETA, CARRAY, LDC, STRIDEC, BATCHCOUNT, STREAM, ALLOC)

Arguments

Type IntentOptional Attributes Name
character(kind=C_CHAR, len=1), VALUE :: TRANSA
character(kind=C_CHAR, len=1), VALUE :: TRANSB
integer(kind=JPIM) :: M
integer(kind=JPIM) :: N
integer(kind=JPIM) :: K
real(kind=JPRM) :: ALPHA
real(kind=JPRM), DIMENSION(:) :: AARRAY
integer(kind=JPIM) :: LDA
integer(kind=JPIM) :: STRIDEA
real(kind=JPRM), DIMENSION(*) :: BARRAY
integer(kind=JPIM) :: LDB
integer(kind=JPIM) :: STRIDEB
real(kind=JPRM) :: BETA
real(kind=JPRM), DIMENSION(:) :: CARRAY
integer(kind=JPIM) :: LDC
integer(kind=JPIM) :: STRIDEC
integer(kind=JPIM) :: BATCHCOUNT
integer(kind=C_INT) :: STREAM
type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC

public subroutine HIP_DGEMM_GROUPED_OVERLOAD(BLAS_ID, TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, OFFSETA, BARRAY, LDB, OFFSETB, BETA, CARRAY, LDC, OFFSETC, BATCHCOUNT, STREAM, ALLOC)

Arguments

Type IntentOptional Attributes Name
integer(kind=C_INT), intent(in) :: BLAS_ID
character(kind=C_CHAR, len=1), VALUE :: TRANSA
character(kind=C_CHAR, len=1), VALUE :: TRANSB
integer(kind=JPIM) :: M
integer(kind=JPIM) :: N(:)
integer(kind=JPIM) :: K(:)
real(kind=JPRD) :: ALPHA
real(kind=JPRD), DIMENSION(:) :: AARRAY
integer(kind=JPIM) :: LDA
integer(kind=JPIM) :: OFFSETA(:)
real(kind=JPRD), DIMENSION(*) :: BARRAY
integer(kind=JPIM) :: LDB
integer(kind=JPIM) :: OFFSETB(:)
real(kind=JPRD) :: BETA
real(kind=JPRD), DIMENSION(:) :: CARRAY
integer(kind=JPIM) :: LDC
integer(kind=JPIM) :: OFFSETC(:)
integer(kind=JPIM) :: BATCHCOUNT
integer(kind=C_INT) :: STREAM
type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC

public subroutine HIP_SGEMM_GROUPED_OVERLOAD(BLAS_ID, TRANSA, TRANSB, M, N, K, ALPHA, AARRAY, LDA, OFFSETA, BARRAY, LDB, OFFSETB, BETA, CARRAY, LDC, OFFSETC, BATCHCOUNT, STREAM, ALLOC)

Arguments

Type IntentOptional Attributes Name
integer(kind=C_INT), intent(in) :: BLAS_ID
character(kind=C_CHAR, len=1), VALUE :: TRANSA
character(kind=C_CHAR, len=1), VALUE :: TRANSB
integer(kind=JPIM) :: M
integer(kind=JPIM) :: N(:)
integer(kind=JPIM) :: K(:)
real(kind=JPRM) :: ALPHA
real(kind=JPRM), DIMENSION(:) :: AARRAY
integer(kind=JPIM) :: LDA
integer(kind=JPIM) :: OFFSETA(:)
real(kind=JPRM), DIMENSION(:,:,:) :: BARRAY
integer(kind=JPIM) :: LDB
integer(kind=JPIM) :: OFFSETB(:)
real(kind=JPRM) :: BETA
real(kind=JPRM), DIMENSION(:) :: CARRAY
integer(kind=JPIM) :: LDC
integer(kind=JPIM) :: OFFSETC(:)
integer(kind=JPIM) :: BATCHCOUNT
integer(kind=C_INT) :: STREAM
type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC