| CUTLASS CUDA Templates for Linear Algebra Subroutines and Solvers

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Attributes | List of all members
cutlass::gemm::GemmCoord Struct Reference

`#include <gemm.h>`

Inheritance diagram for cutlass::gemm::GemmCoord:
[legend]
Collaboration diagram for cutlass::gemm::GemmCoord:
[legend]

## Public Types
typedef int | Index
| Integer-valued index. More...
typedef Coord< 3, Index > | Base
| Base type is a Coord of rank=4. More...
Public Types inherited from cutlass::Coord< 3, int >
using | Index = int
| Index type used to store elements. More...
using | LongIndex = int64_t
| Type used to represent linear offsets. More...

## Public Member Functions
CUTLASS_HOST_DEVICE | GemmCoord ()
| Default ctor. More...
CUTLASS_HOST_DEVICE | GemmCoord (Coord< 3, Index > const &coord)
| Constructs from Coord<3> and a batch. More...
CUTLASS_HOST_DEVICE | GemmCoord (Index m, Index n, Index k)
| Helper to construct from a K, N, M, batch variables. More...
CUTLASS_HOST_DEVICE Index const & | m () const
| Returns the GEMM M coordinate. More...
CUTLASS_HOST_DEVICE Index & | m ()
| Returns reference to the GEMM M coordinate. More...
CUTLASS_HOST_DEVICE Index const & | n () const
| Returns the GEMM N coordinate. More...
CUTLASS_HOST_DEVICE Index & | n ()
| Returns reference to the GEMM N coordinate. More...
CUTLASS_HOST_DEVICE Index const & | k () const
| Returns the GEMM K coordinate. More...
CUTLASS_HOST_DEVICE Index & | k ()
| Returns reference to the GEMM K coordinate. More...
CUTLASS_HOST_DEVICE Coord< 3 > | mnk () const
| Obtains a Coord<3> from GemmCoord. More...
CUTLASS_HOST_DEVICE Coord< 3 > | knm () const
| Obtains a Coord<3> from GemmCoord. More...
CUTLASS_HOST_DEVICE Coord< 2 > | nm () const
| Obtains a Coord<2> from GemmCoord. More...
CUTLASS_HOST_DEVICE Coord< 2 > | mn () const
| Obtains a Coord<2> from GemmCoord. More...
CUTLASS_HOST_DEVICE Coord< 2 > | mk () const
| Obtains a Coord<2> from GemmCoord. More...
CUTLASS_HOST_DEVICE Coord< 2 > | km () const
| Obtains a Coord<2> from GemmCoord. More...
CUTLASS_HOST_DEVICE Coord< 2 > | nk () const
| Obtains a Coord<2> from GemmCoord. More...
CUTLASS_HOST_DEVICE Coord< 2 > | kn () const
| Obtains a Coord<2> from GemmCoord. More...
CUTLASS_HOST_DEVICE GemmCoord | operator+ (Base const &b) const
| Element-wise addition. More...
CUTLASS_HOST_DEVICE GemmCoord | operator- (Base const &b) const
| Element-wise subtraction. More...
CUTLASS_HOST_DEVICE GemmCoord | operator* (Base const &b) const
| Element-wise multiplication. More...
CUTLASS_HOST_DEVICE GemmCoord | operator/ (Base const &b) const
| Element-wise division. More...
CUTLASS_HOST_DEVICE GemmCoord & | operator+= (Base const &b)
| In-place addition. More...
CUTLASS_HOST_DEVICE GemmCoord & | operator-= (Base const &b)
| In-place subtraction. More...
CUTLASS_HOST_DEVICE GemmCoord & | operator*= (Base const &b)
| In-place multiplication. More...
CUTLASS_HOST_DEVICE GemmCoord & | operator/= (Base const &b)
| In-place division. More...
Public Member Functions inherited from cutlass::Coord< 3, int >
CUTLASS_HOST_DEVICE | Coord (Index value=Index(0))
| Default ctor initializes uniformly. More...
CUTLASS_HOST_DEVICE | Coord (Index const (&_idx)[kRank])
| Constructs from an array of integers. More...
CUTLASS_HOST_DEVICE | Coord (Coord< kRank, Index, LongIndex > const &coord)
| Copy constructor. More...
CUTLASS_HOST_DEVICE Coord< Slice > | slice (int start=0, Index identity=0) const
CUTLASS_HOST_DEVICE int | min_dim_index () const
| Returns the index of the dimension with least value. More...
CUTLASS_HOST_DEVICE int | max_dim_index () const
| Returns the index of the dimension with greatest value. More...
CUTLASS_HOST_DEVICE | operator bool () const
| Returns true if Coord is non-zero. More...
CUTLASS_HOST_DEVICE bool | operator! () const
| Returns true if Coord is uniformly zero. More...
CUTLASS_HOST_DEVICE Coord | operator+ (Coord const &b) const
| Element-wise addition. More...
CUTLASS_HOST_DEVICE Coord | operator- (Coord const &b) const
| Element-wise subtraction. More...
CUTLASS_HOST_DEVICE Coord | operator* (Coord const &b) const
| Element-wise multiplication. More...
CUTLASS_HOST_DEVICE Coord | operator/ (Coord const &b) const
| Element-wise division. More...
CUTLASS_HOST_DEVICE Coord & | operator+= (Coord const &b)
| In-place addition. More...
CUTLASS_HOST_DEVICE Coord & | operator-= (Coord const &b)
| In-place subtraction. More...
CUTLASS_HOST_DEVICE Coord & | operator*= (Coord const &b)
| In-place multiplication. More...
CUTLASS_HOST_DEVICE Coord & | operator/= (Coord const &b)
| In-place division. More...
CUTLASS_HOST_DEVICE Index & | operator[] (int dim)
| Member access operator. More...
CUTLASS_HOST_DEVICE Index const & | operator[] (int dim) const
| Member access operator. More...
CUTLASS_HOST_DEVICE LongIndex | dot (Coord const &b, LongIndex sum=LongIndex(0)) const
| Computes the dot product with anotherCoord object. More...
CUTLASS_HOST_DEVICE Index & | at ()
| Gets the index of a given Coord element. More...
CUTLASS_HOST_DEVICE Index & | at (int dim)
| Access via index; may limit unrolling potential. More...
CUTLASS_HOST_DEVICE Index const & | at () const
| Gets the index of a given Coord element. More...
CUTLASS_HOST_DEVICE Index const & | at (int dim) const
| Access via index; may limit unrolling potential. More...
CUTLASS_HOST_DEVICE bool | operator== (Coord const &b) const
| Determines if two Coord<> objects are equal. More...
CUTLASS_HOST_DEVICE bool | operator!= (Coord const &b) const
| Not equal. More...
CUTLASS_HOST_DEVICE Coord & | clamp (Coord const &max, Coord const &min=Coord())
| Clamps a coordinate to a range specified by maximum and minimum values. More...
CUTLASS_HOST_DEVICE Index | sum () const
| Returns the sum of all elements. More...
CUTLASS_HOST_DEVICE LongIndex | product () const
| Returns the product of all elements. More...
CUTLASS_HOST_DEVICE bool | operator< (Coord const &b) const
| Less than operator. More...
CUTLASS_HOST_DEVICE bool | operator<= (Coord const &b) const
| Less than or equals operator. More...
CUTLASS_HOST_DEVICE bool | operator> (Coord const &b) const
| Greater than operator. More...
CUTLASS_HOST_DEVICE bool | operator>= (Coord const &b) const
| Greater than or equals operator. More...

## Static Public Attributes
static int const | kM = 0
| GEMM M dimension - rows of the output C matrix. More...
static int const | kN = 1
| GEMM N dimension - columns of the output C matrix. More...
static int const | kK = 2
| GEMM K dimension - inner dimension of the GEMM problem. More...
Static Public Attributes inherited from cutlass::Coord< 3, int >
static int const | kRank
| Number of elements in Coord. More...

## Detailed Description

GemmCoord is a structure derived from Coord<3> that specifies a location within the coordinate space of a GEMM problem.

## Member Typedef Documentation

typedef Coord<3, Index> cutlass::gemm::GemmCoord::Base

typedef int cutlass::gemm::GemmCoord::Index

## Constructor & Destructor Documentation

CUTLASS_HOST_DEVICE cutlass::gemm::GemmCoord::GemmCoord | ( |  | ) |
| inline

CUTLASS_HOST_DEVICE cutlass::gemm::GemmCoord::GemmCoord | ( | Coord< 3, Index > const & | coord | ) |
| inline

CUTLASS_HOST_DEVICE cutlass::gemm::GemmCoord::GemmCoord | ( | Index | m,
|  | Index | n,
|  | Index | k
| ) |  |
| inline

## Member Function Documentation

CUTLASS_HOST_DEVICE Index const& cutlass::gemm::GemmCoord::k | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Index& cutlass::gemm::GemmCoord::k | ( |  | ) |
| inline

CUTLASS_HOST_DEVICE Coord<2> cutlass::gemm::GemmCoord::km | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Coord<2> cutlass::gemm::GemmCoord::kn | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Coord<3> cutlass::gemm::GemmCoord::knm | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Index const& cutlass::gemm::GemmCoord::m | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Index& cutlass::gemm::GemmCoord::m | ( |  | ) |
| inline

CUTLASS_HOST_DEVICE Coord<2> cutlass::gemm::GemmCoord::mk | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Coord<2> cutlass::gemm::GemmCoord::mn | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Coord<3> cutlass::gemm::GemmCoord::mnk | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Index const& cutlass::gemm::GemmCoord::n | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Index& cutlass::gemm::GemmCoord::n | ( |  | ) |
| inline

CUTLASS_HOST_DEVICE Coord<2> cutlass::gemm::GemmCoord::nk | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE Coord<2> cutlass::gemm::GemmCoord::nm | ( |  | ) | const
| inline

CUTLASS_HOST_DEVICE GemmCoord cutlass::gemm::GemmCoord::operator* | ( | Base const & | b | ) | const
| inline

CUTLASS_HOST_DEVICE GemmCoord& cutlass::gemm::GemmCoord::operator*= | ( | Base const & | b | ) |
| inline

CUTLASS_HOST_DEVICE GemmCoord cutlass::gemm::GemmCoord::operator+ | ( | Base const & | b | ) | const
| inline

CUTLASS_HOST_DEVICE GemmCoord& cutlass::gemm::GemmCoord::operator+= | ( | Base const & | b | ) |
| inline

CUTLASS_HOST_DEVICE GemmCoord cutlass::gemm::GemmCoord::operator- | ( | Base const & | b | ) | const
| inline

CUTLASS_HOST_DEVICE GemmCoord& cutlass::gemm::GemmCoord::operator-= | ( | Base const & | b | ) |
| inline

CUTLASS_HOST_DEVICE GemmCoord cutlass::gemm::GemmCoord::operator/ | ( | Base const & | b | ) | const
| inline

CUTLASS_HOST_DEVICE GemmCoord& cutlass::gemm::GemmCoord::operator/= | ( | Base const & | b | ) |
| inline

## Member Data Documentation

int const cutlass::gemm::GemmCoord::kK = 2
| static

int const cutlass::gemm::GemmCoord::kM = 0
| static

int const cutlass::gemm::GemmCoord::kN = 1
| static

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

- include/cutlass/gemm/gemm.h