Back to Cutlass

CUTLASS: library.h File Reference

docs/library_8h.html

4.4.223.9 KB
Original Source

| | CUTLASS

CUDA Templates for Linear Algebra Subroutines and Solvers |

Classes | Namespaces | Typedefs | Enumerations | Functions

library.h File Reference

CUTLASS Library is an object-oriented approach to managing operations implemented by CUTLASS. More...

#include <vector>
#include <string>
#include <cstdint>
#include <cuda_runtime.h>
#include "cutlass/cutlass.h"
#include "cutlass/matrix_coord.h"
#include "cutlass/tensor_coord.h"
#include "cutlass/layout/tensor.h"
#include "cutlass/gemm/gemm.h"

Include dependency graph for library.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

|

Classes

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

|

Namespaces

| | | cutlass | | | | | cutlass::library | | |

|

Typedefs

| | using | cutlass::library::GemmBatchedArguments = GemmArguments | | | Arguments to batched GEMM. More...
| | | | using | cutlass::library::GemmPlanarComplexArgments = GemmArguments | | | | using | cutlass::library::GemmPlanarComplexBatchedArguments = GemmArguments | | |

|

Enumerations

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

|

Functions

| | template<typename T > | | T | cutlass::library::from_string (std::string const &) | | | Lexical cast from string. More...
| | | | char const * | cutlass::library::to_string (OperationKind type, bool pretty=false) | | | Converts a NumericType enumerant to a string. More...
| | | | template<> | | OperationKind | cutlass::library::from_string< OperationKind > (std::string const &str) | | | Parses a NumericType enumerant from a string. More...
| | | | char const * | cutlass::library::to_string (NumericTypeID type, bool pretty=false) | | | Converts a NumericType enumerant to a string. More...
| | | | template<> | | NumericTypeID | cutlass::library::from_string< NumericTypeID > (std::string const &str) | | | Parses a NumericType enumerant from a string. More...
| | | | int | cutlass::library::sizeof_bits (NumericTypeID type) | | | Returns the size of a data type in bits. More...
| | | | bool | cutlass::library::is_complex_type (NumericTypeID type) | | | Returns true if the numeric type is a complex data type or false if real-valued. More...
| | | | NumericTypeID | cutlass::library::get_real_type (NumericTypeID type) | | | Returns the real-valued type underlying a type (only different from 'type' if complex) More...
| | | | bool | cutlass::library::is_integer_type (NumericTypeID type) | | | Returns true if numeric type is integer. More...
| | | | bool | cutlass::library::is_signed_type (NumericTypeID type) | | | Returns true if numeric type is signed. More...
| | | | bool | cutlass::library::is_signed_integer (NumericTypeID type) | | | Returns true if numeric type is a signed integer. More...
| | | | bool | cutlass::library::is_unsigned_integer (NumericTypeID type) | | | returns true if numeric type is an unsigned integer More...
| | | | bool | cutlass::library::is_float_type (NumericTypeID type) | | | Returns true if numeric type is floating-point type. More...
| | | | char const * | cutlass::library::to_string (Status status, bool pretty=false) | | | To string method for cutlass::Status. More...
| | | | char const * | cutlass::library::to_string (LayoutTypeID layout, bool pretty=false) | | | Converts a LayoutTypeID enumerant to a string. More...
| | | | template<> | | LayoutTypeID | cutlass::library::from_string< LayoutTypeID > (std::string const &str) | | | Parses a LayoutType enumerant from a string. More...
| | | | int | cutlass::library::get_layout_stride_rank (LayoutTypeID layout_id) | | | Returns the rank of a layout's stride base on the LayoutTypeID. More...
| | | | char const * | cutlass::library::to_string (OpcodeClassID type, bool pretty=false) | | | Converts a OpcodeClassID enumerant to a string. More...
| | | | template<> | | OpcodeClassID | cutlass::library::from_string< OpcodeClassID > (std::string const &str) | | | Converts a OpcodeClassID enumerant from a string. More...
| | | | std::string | cutlass::library::lexical_cast (int64_t int_value) | | | Lexical cast from int64_t to string. More...
| | | | bool | cutlass::library::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 | cutlass::library::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 | cutlass::library::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 | cutlass::library::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 | cutlass::library::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...
| | |

Detailed Description

Generally,

description - compile-time constant parameters used to instantiate an operation

configuration - runtime parameters with computationally expensive initialization

arguments - runtime parameters that may be passed to an initialized operation with low computational overhead


Generated by 1.8.11