MLIR  20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
mlir::gpu::MMAMatrixStorageType Struct Reference

MMAMatrixType storage and uniquing. More...

#include "mlir/Dialect/GPU/IR/GPUDialect.h"

+ Inheritance diagram for mlir::gpu::MMAMatrixStorageType:

Public Types

using KeyTy = std::tuple< ArrayRef< int64_t >, Type, StringRef >
 The hash key for uniquing. More...
 

Public Member Functions

 MMAMatrixStorageType (unsigned numDims, const int64_t *dimShapes, Type elementType, StringRef operand)
 
bool operator== (const KeyTy &key) const
 
ArrayRef< int64_t > getShape () const
 
StringRef getOperand () const
 
- Public Member Functions inherited from mlir::TypeStorage
const AbstractTypegetAbstractType ()
 Return the abstract type descriptor for this type. More...
 

Static Public Member Functions

static MMAMatrixStorageTypeconstruct (TypeStorageAllocator &allocator, const KeyTy &key)
 Construction. More...
 

Public Attributes

const int64_t * dimShapes
 Reference to the shape of the MMA matrix. More...
 
unsigned numDims
 Number of dimensions in the MMA matrix. More...
 
Type elementType
 Element type of elements held in the MMA matrix. More...
 
StringRef operand
 MMA operand that this MMAMatrix holds. More...
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::TypeStorage
 TypeStorage ()
 This constructor is used by derived classes as part of the TypeUniquer. More...
 
- Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
 

Detailed Description

MMAMatrixType storage and uniquing.

Array is uniqued based on its shape and type.

Definition at line 56 of file GPUDialect.h.

Member Typedef Documentation

◆ KeyTy

using mlir::gpu::MMAMatrixStorageType::KeyTy = std::tuple<ArrayRef<int64_t>, Type, StringRef>

The hash key for uniquing.

Definition at line 63 of file GPUDialect.h.

Constructor & Destructor Documentation

◆ MMAMatrixStorageType()

mlir::gpu::MMAMatrixStorageType::MMAMatrixStorageType ( unsigned  numDims,
const int64_t *  dimShapes,
Type  elementType,
StringRef  operand 
)
inline

Definition at line 57 of file GPUDialect.h.

Referenced by construct().

Member Function Documentation

◆ construct()

static MMAMatrixStorageType* mlir::gpu::MMAMatrixStorageType::construct ( TypeStorageAllocator allocator,
const KeyTy key 
)
inlinestatic

◆ getOperand()

StringRef mlir::gpu::MMAMatrixStorageType::getOperand ( ) const
inline

Definition at line 83 of file GPUDialect.h.

References operand.

◆ getShape()

ArrayRef<int64_t> mlir::gpu::MMAMatrixStorageType::getShape ( ) const
inline

Definition at line 79 of file GPUDialect.h.

References dimShapes, and numDims.

Referenced by operator==().

◆ operator==()

bool mlir::gpu::MMAMatrixStorageType::operator== ( const KeyTy key) const
inline

Definition at line 64 of file GPUDialect.h.

References elementType, getShape(), and operand.

Member Data Documentation

◆ dimShapes

const int64_t* mlir::gpu::MMAMatrixStorageType::dimShapes

Reference to the shape of the MMA matrix.

Definition at line 86 of file GPUDialect.h.

Referenced by getShape().

◆ elementType

Type mlir::gpu::MMAMatrixStorageType::elementType

Element type of elements held in the MMA matrix.

Definition at line 92 of file GPUDialect.h.

Referenced by operator==().

◆ numDims

unsigned mlir::gpu::MMAMatrixStorageType::numDims

Number of dimensions in the MMA matrix.

Definition at line 89 of file GPUDialect.h.

Referenced by getShape().

◆ operand

StringRef mlir::gpu::MMAMatrixStorageType::operand

MMA operand that this MMAMatrix holds.

The general form of operation this type supports is given by the equation C += A*B. This field specifies which operand in the given equation is held by this type. The valid values are "AOp", "BOp" and "COp".

Definition at line 98 of file GPUDialect.h.

Referenced by construct(), getOperand(), and operator==().


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