Cutlass CUDA Templates for Linear Algebra Subroutines and Solvers

Public Types | Public Member Functions | Public Attributes | List of all members
cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ > Struct Template Reference

GEMM problem description.

`#include <gemm_desc.h>`

## Public Types
typedef Index_ | Index
| Index type for dimensions and strides. More...
typedef AType_ | AType
| Source accumulator matrix type. More...
typedef TensorRef< AType const, 2 > | TensorRefA
| Tensor reference to A operand. More...
typedef BType_ | BType
| Destination accumulator type. More...
typedef TensorRef< BType const, 2 > | TensorRefB
| Tensor reference to B operand. More...
typedef CType_ | CType
| Source accumulator matrix type. More...
typedef TensorRef< CType const, 2 > | TensorRefC
| Tensor reference to C operand. More...
typedef DType_ | DType
| Destination accumulator type. More...
typedef TensorRef< DType, 2 > | TensorRefD
| Tensor reference to D operand. More...
typedef SType_ | SType
| Scalar type for alpha and beta. More...

## Public Member Functions
CUTLASS_HOST_DEVICE | GemmDesc ()
| Default ctor. More...
CUTLASS_HOST_DEVICE | GemmDesc (Coord< 3 > _problem_size, SType _alpha, TensorRefA const &_A, TensorRefB const &_B, SType _beta, TensorRefC const &_C, TensorRefD const &_D)
| Constructor for basic GEMM with batch count = 1. More...
CUTLASS_HOST_DEVICE | GemmDesc (GemmCoord _problem_size, SType _alpha, TensorRefA const &_A, TensorRefB const &_B, SType _beta, TensorRefC const &_C, TensorRefD const &_D)
| Constructor for basic GEMM with batch count = 1. More...
CUTLASS_HOST_DEVICE | GemmDesc (GemmCoord _problem_size, SType _alpha, TensorRefA const &_A, long long _batch_stride_A, TensorRefB const &_B, long long _batch_stride_B, SType _beta, TensorRefC const &_C, long long _batch_stride_C, TensorRefD const &_D, long long _batch_stride_D)
| Constructor for strided batch GEMM GEMM. More...

## Public Attributes
GemmCoord | problem_size
| The dimensions of the GEMM. More...
SType | alpha
| The alpha scaling values. More...
TensorRefA | A
| The source matrix A. More...
long long | batch_stride_A
| batch stride for A operand More...
TensorRefB | B
| The source matrix B. More...
long long | batch_stride_B
| batch stride for B operand More...
SType | beta
| The beta scaling values. More...
TensorRefC | C
| The source matrix C. More...
long long | batch_stride_C
| batch stride for C operand More...
TensorRefD | D
| The destination matrix D. More...
long long | batch_stride_D
| batch stride for D operand More...

## Member Typedef Documentation

## ◆ AType

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef AType_ cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::AType

## ◆ BType

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef BType_ cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::BType

## ◆ CType

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef CType_ cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::CType

## ◆ DType

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef DType_ cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::DType

## ◆ Index

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef Index_ cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::Index

## ◆ SType

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef SType_ cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::SType

## ◆ TensorRefA

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef TensorRef<AType const, 2> cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::TensorRefA

## ◆ TensorRefB

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef TensorRef<BType const, 2> cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::TensorRefB

## ◆ TensorRefC

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef TensorRef<CType const, 2> cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::TensorRefC

## ◆ TensorRefD

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

typedef TensorRef<DType, 2> cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::TensorRefD

## Constructor & Destructor Documentation

## ◆ GemmDesc() [1/4]

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

CUTLASS_HOST_DEVICE cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::GemmDesc | ( |  | ) |
| inline

## ◆ GemmDesc() [2/4]

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

CUTLASS_HOST_DEVICE cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::GemmDesc | ( | Coord< 3 > | _problem_size,
|  | SType | _alpha,
|  | TensorRefA const & | _A,
|  | TensorRefB const & | _B,
|  | SType | _beta,
|  | TensorRefC const & | _C,
|  | TensorRefD const & | _D
| ) |  |
| inline

## ◆ GemmDesc() [3/4]

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

CUTLASS_HOST_DEVICE cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::GemmDesc | ( | GemmCoord | _problem_size,
|  | SType | _alpha,
|  | TensorRefA const & | _A,
|  | TensorRefB const & | _B,
|  | SType | _beta,
|  | TensorRefC const & | _C,
|  | TensorRefD const & | _D
| ) |  |
| inline

## ◆ GemmDesc() [4/4]

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

CUTLASS_HOST_DEVICE cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::GemmDesc | ( | GemmCoord | _problem_size,
|  | SType | _alpha,
|  | TensorRefA const & | _A,
|  | long long | _batch_stride_A,
|  | TensorRefB const & | _B,
|  | long long | _batch_stride_B,
|  | SType | _beta,
|  | TensorRefC const & | _C,
|  | long long | _batch_stride_C,
|  | TensorRefD const & | _D,
|  | long long | _batch_stride_D
| ) |  |
| inline

## Member Data Documentation

## ◆ A

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

TensorRefA cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::A

## ◆ alpha

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

SType cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::alpha

## ◆ B

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

TensorRefB cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::B

## ◆ batch_stride_A

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

long long cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::batch_stride_A

## ◆ batch_stride_B

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

long long cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::batch_stride_B

## ◆ batch_stride_C

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

long long cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::batch_stride_C

## ◆ batch_stride_D

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

long long cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::batch_stride_D

## ◆ beta

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

SType cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::beta

## ◆ C

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

TensorRefC cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::C

## ◆ D

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

TensorRefD cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::D

## ◆ problem_size

template<typename AType_, typename BType_, typename CType_, typename DType_, typename SType_, typename Index_ = int>

GemmCoord cutlass::gemm::GemmDesc< AType_, BType_, CType_, DType_, SType_, Index_ >::problem_size

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

- gemm_desc.h