| CUTLASS CUDA Templates for Linear Algebra Subroutines and Solvers

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

Classes | Typedefs | Enumerations | Functions
cutlass::library Namespace Reference

## Classes
struct | GemmArguments
| Arguments for GEMM. More...
struct | GemmArrayArguments
| Arguments for GEMM - used by all the GEMM operations. More...
struct | GemmArrayConfiguration
| Configuration for batched GEMM in which multiple matrix products are computed. More...
struct | GemmBatchedConfiguration
| Configuration for batched GEMM in which multiple matrix products are computed. More...
struct | GemmConfiguration
| Configuration for basic GEMM operations. More...
struct | GemmDescription
| Description of all GEMM computations. More...
struct | GemmPlanarComplexBatchedConfiguration
| Batched complex valued GEMM in which real and imaginary parts are separated by a stride. More...
struct | GemmPlanarComplexConfiguration
| Complex valued GEMM in which real and imaginary parts are separated by a stride. More...
class | Manifest
| Manifest of CUTLASS Library. More...
struct | MathInstructionDescription
class | Operation
| Base class for all device-wide operations. More...
struct | OperationDescription
| High-level description of an operation. More...
struct | TensorDescription
| Structure describing the properties of a tensor. More...
struct | TileDescription
| Structure describing the tiled structure of a GEMM-like computation. More...

## Typedefs
using | GemmBatchedArguments = GemmArguments
| Arguments to batched GEMM. More...
using | GemmPlanarComplexArgments = GemmArguments
using | GemmPlanarComplexBatchedArguments = GemmArguments
using | OperationVector = std::vector< std::unique_ptr< Operation >>
| List of operations. More...

## Enumerations
enum | LayoutTypeID { LayoutTypeID::kUnknown, LayoutTypeID::kColumnMajor, LayoutTypeID::kRowMajor, LayoutTypeID::kColumnMajorInterleavedK4, LayoutTypeID::kRowMajorInterleavedK4, LayoutTypeID::kColumnMajorInterleavedK16, LayoutTypeID::kRowMajorInterleavedK16, LayoutTypeID::kTensorNCHW, LayoutTypeID::kTensorNHWC, LayoutTypeID::kInvalid }
| Layout type identifier. More...
enum | NumericTypeID { NumericTypeID::kUnknown, NumericTypeID::kVoid, NumericTypeID::kB1, NumericTypeID::kU4, NumericTypeID::kU8, NumericTypeID::kU16, NumericTypeID::kU32, NumericTypeID::kU64, NumericTypeID::kS4, NumericTypeID::kS8, NumericTypeID::kS16, NumericTypeID::kS32, NumericTypeID::kS64, NumericTypeID::kF16, NumericTypeID::kF32, NumericTypeID::kF64, NumericTypeID::kCF16, NumericTypeID::kCF32, NumericTypeID::kCF64, NumericTypeID::kCS4, NumericTypeID::kCS8, NumericTypeID::kCS16, NumericTypeID::kCS32, NumericTypeID::kCS64, NumericTypeID::kCU4, NumericTypeID::kCU8, NumericTypeID::kCU16, NumericTypeID::kCU32, NumericTypeID::kCU64, NumericTypeID::kInvalid }
| Numeric data type. More...
enum | ComplexTransform { ComplexTransform::kNone, ComplexTransform::kConjugate }
| Enumeraed type describing a transformation on a complex value. More...
enum | OperationKind { OperationKind::kGemm, OperationKind::kInvalid }
| Enumeration indicating the kind of operation. More...
enum | ScalarPointerMode { ScalarPointerMode::kHost, ScalarPointerMode::kDevice, ScalarPointerMode::kInvalid }
| Enumeration indicating whether scalars are in host or device memory. More...
enum | SplitKMode { SplitKMode::kNone, SplitKMode::kSerial, SplitKMode::kParallel, SplitKMode::kParallelSerial, SplitKMode::kInvalid }
| Describes how reductions are performed across threadblocks. More...
enum | OpcodeClassID { OpcodeClassID::kSimt, OpcodeClassID::kTensorOp, OpcodeClassID::kWmmaTensorOp, OpcodeClassID::kInvalid }
| Indicates the classificaition of the math instruction. More...
enum | GemmKind { GemmKind::kGemm, GemmKind::kBatched, GemmKind::kArray, GemmKind::kPlanarComplex, GemmKind::kPlanarComplexBatched, GemmKind::kInvalid }
| Enumeration indicating what kind of GEMM operation to perform. More...

## Functions
template<typename T >
T | from_string (std::string const &)
| Lexical cast from string. More...
char const * | to_string (OperationKind type, bool pretty=false)
| Converts a NumericType enumerant to a string. More...
template<>
OperationKind | from_string< OperationKind > (std::string const &str)
| Parses a NumericType enumerant from a string. More...
char const * | to_string (NumericTypeID type, bool pretty=false)
| Converts a NumericType enumerant to a string. More...
template<>
NumericTypeID | from_string< NumericTypeID > (std::string const &str)
| Parses a NumericType enumerant from a string. More...
int | sizeof_bits (NumericTypeID type)
| Returns the size of a data type in bits. More...
bool | is_complex_type (NumericTypeID type)
| Returns true if the numeric type is a complex data type or false if real-valued. More...
NumericTypeID | get_real_type (NumericTypeID type)
| Returns the real-valued type underlying a type (only different from 'type' if complex) More...
bool | is_integer_type (NumericTypeID type)
| Returns true if numeric type is integer. More...
bool | is_signed_type (NumericTypeID type)
| Returns true if numeric type is signed. More...
bool | is_signed_integer (NumericTypeID type)
| Returns true if numeric type is a signed integer. More...
bool | is_unsigned_integer (NumericTypeID type)
| returns true if numeric type is an unsigned integer More...
bool | is_float_type (NumericTypeID type)
| Returns true if numeric type is floating-point type. More...
char const * | to_string (Status status, bool pretty=false)
| To string method for cutlass::Status. More...
char const * | to_string (LayoutTypeID layout, bool pretty=false)
| Converts a LayoutTypeID enumerant to a string. More...
template<>
LayoutTypeID | from_string< LayoutTypeID > (std::string const &str)
| Parses a LayoutType enumerant from a string. More...
int | get_layout_stride_rank (LayoutTypeID layout_id)
| Returns the rank of a layout's stride base on the LayoutTypeID. More...
char const * | to_string (OpcodeClassID type, bool pretty=false)
| Converts a OpcodeClassID enumerant to a string. More...
template<>
OpcodeClassID | from_string< OpcodeClassID > (std::string const &str)
| Converts a OpcodeClassID enumerant from a string. More...
std::string | lexical_cast (int64_t int_value)
| Lexical cast from int64_t to string. More...
bool | lexical_cast (std::vector< uint8_t > &bytes, NumericTypeID type, std::string const &str)
| Lexical cast a string to a byte array. Returns true if cast is successful or false if invalid. More...
std::string | lexical_cast (std::vector< uint8_t > &bytes, NumericTypeID type)
| Lexical cast TO a string FROM a byte array. Returns true if cast is successful or false if invalid. More...
bool | cast_from_int64 (std::vector< uint8_t > &bytes, NumericTypeID type, int64_t src)
| Casts from a signed int64 to the destination type. Returns true if successful. More...
bool | cast_from_uint64 (std::vector< uint8_t > &bytes, NumericTypeID type, uint64_t src)
| Casts from an unsigned int64 to the destination type. Returns true if successful. More...
bool | cast_from_double (std::vector< uint8_t > &bytes, NumericTypeID type, double src)
| Casts from a real value represented as a double to the destination type. Returns true if successful. More...

## Typedef Documentation

using cutlass::library::GemmBatchedArguments = typedef GemmArguments

using cutlass::library::GemmPlanarComplexArgments = typedef GemmArguments

using cutlass::library::GemmPlanarComplexBatchedArguments = typedef GemmArguments

using cutlass::library::OperationVector = typedef std::vector<std::unique_ptr<Operation>>

## Enumeration Type Documentation

enum cutlass::library::ComplexTransform
| strong

Enumerator
kNone |
kConjugate |

enum cutlass::library::GemmKind
| strong

Enumerator
kGemm |
kBatched |
kArray |
kPlanarComplex |
kPlanarComplexBatched |
kInvalid |

enum cutlass::library::LayoutTypeID
| strong

Enumerator
kUnknown |
kColumnMajor |
kRowMajor |
kColumnMajorInterleavedK4 |
kRowMajorInterleavedK4 |
kColumnMajorInterleavedK16 |
kRowMajorInterleavedK16 |
kTensorNCHW |
kTensorNHWC |
kInvalid |

enum cutlass::library::NumericTypeID
| strong

Enumerator
kUnknown |
kVoid |
kB1 |
kU4 |
kU8 |
kU16 |
kU32 |
kU64 |
kS4 |
kS8 |
kS16 |
kS32 |
kS64 |
kF16 |
kF32 |
kF64 |
kCF16 |
kCF32 |
kCF64 |
kCS4 |
kCS8 |
kCS16 |
kCS32 |
kCS64 |
kCU4 |
kCU8 |
kCU16 |
kCU32 |
kCU64 |
kInvalid |

enum cutlass::library::OpcodeClassID
| strong

Enumerator
kSimt |
kTensorOp |
kWmmaTensorOp |
kInvalid |

enum cutlass::library::OperationKind
| strong

Enumerator
kGemm |
kInvalid |

enum cutlass::library::ScalarPointerMode
| strong

Enumerator
kHost |
kDevice |
kInvalid |

enum cutlass::library::SplitKMode
| strong

Enumerator
kNone |
kSerial |
kParallel |
kParallelSerial |
kInvalid |

## Function Documentation

bool cutlass::library::cast_from_double | ( | std::vector< uint8_t > & | bytes,
|  | NumericTypeID | type,
|  | double | src
| ) |  |

bool cutlass::library::cast_from_int64 | ( | std::vector< uint8_t > & | bytes,
|  | NumericTypeID | type,
|  | int64_t | src
| ) |  |

bool cutlass::library::cast_from_uint64 | ( | std::vector< uint8_t > & | bytes,
|  | NumericTypeID | type,
|  | uint64_t | src
| ) |  |

template<typename T >

T cutlass::library::from_string | ( | std::string const & |  | ) |

template<>

LayoutTypeID cutlass::library::from_string< LayoutTypeID > | ( | std::string const & | str | ) |

template<>

NumericTypeID cutlass::library::from_string< NumericTypeID > | ( | std::string const & | str | ) |

template<>

OpcodeClassID cutlass::library::from_string< OpcodeClassID > | ( | std::string const & | str | ) |

template<>

OperationKind cutlass::library::from_string< OperationKind > | ( | std::string const & | str | ) |

int cutlass::library::get_layout_stride_rank | ( | LayoutTypeID | layout_id | ) |

NumericTypeID cutlass::library::get_real_type | ( | NumericTypeID | type | ) |

bool cutlass::library::is_complex_type | ( | NumericTypeID | type | ) |

bool cutlass::library::is_float_type | ( | NumericTypeID | type | ) |

bool cutlass::library::is_integer_type | ( | NumericTypeID | type | ) |

bool cutlass::library::is_signed_integer | ( | NumericTypeID | type | ) |

bool cutlass::library::is_signed_type | ( | NumericTypeID | type | ) |

bool cutlass::library::is_unsigned_integer | ( | NumericTypeID | type | ) |

std::string cutlass::library::lexical_cast | ( | int64_t | int_value | ) |

bool cutlass::library::lexical_cast | ( | std::vector< uint8_t > & | bytes,
|  | NumericTypeID | type,
|  | std::string const & | str
| ) |  |

std::string cutlass::library::lexical_cast | ( | std::vector< uint8_t > & | bytes,
|  | NumericTypeID | type
| ) |  |

int cutlass::library::sizeof_bits | ( | NumericTypeID | type | ) |

char const* cutlass::library::to_string | ( | OperationKind | type,
|  | bool | pretty = `false`
| ) |  |

char const* cutlass::library::to_string | ( | NumericTypeID | type,
|  | bool | pretty = `false`
| ) |  |

char const* cutlass::library::to_string | ( | Status | status,
|  | bool | pretty = `false`
| ) |  |

char const* cutlass::library::to_string | ( | LayoutTypeID | layout,
|  | bool | pretty = `false`
| ) |  |

char const* cutlass::library::to_string | ( | OpcodeClassID | type,
|  | bool | pretty = `false`
| ) |  |