muBLASLt API Reference
The muBLASLt library provides lightweight matrix multiplication APIs, descriptors, layouts, preferences, and heuristic controls for MUSA applications. This reference describes the muBLASLt APIs available in MUSA SDK 5.1.0.
API Reference
Location: mublasLt.h
Classes
- mublasLtMatrixLayoutOpaque_t
- mublasLtMatmulAlgo_t
- mublasLtMatmulDescOpaque_t
- mublasLtMatrixTransformDescOpaque_t
- mublasLtMatmulPreferenceOpaque_t
- mublasLtEmulationDescOpaque_t
- mublasLtMatmulHeuristicResult_t
Includes
- <mublas.h>
- <stdint.h>
- <stddef.h>
- <stdio.h>
Macros
Macro MUBLASAPI
#define MUBLASAPI
Macro MUBLASWINAPI
#define MUBLASWINAPI
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_FMA
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_FMA (0x01ull << 0)
Implementation details that may affect numerical behavior of algorithms.
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_HMMA
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_HMMA (0x02ull << 0)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_IMMA
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_IMMA (0x04ull << 0)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_DMMA
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_DMMA (0x08ull << 0)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_TENSOR_OP_MASK
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_TENSOR_OP_MASK (0xfeull << 0)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_OP_TYPE_MASK
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_OP_TYPE_MASK (0xffull << 0)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_16F
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_16F (0x01ull << 8)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_32F
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_32F (0x02ull << 8)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_64F
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_64F (0x04ull << 8)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_32I
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_32I (0x08ull << 8)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_TYPE_MASK
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_ACCUMULATOR_TYPE_MASK (0xffull << 8)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_16F
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_16F (0x01ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_16BF
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_16BF (0x02ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_TF32
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_TF32 (0x04ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_32F
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_32F (0x08ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_64F
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_64F (0x10ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_8I
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_8I (0x20ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_8F_E4M3
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_8F_E4M3 (0x40ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_8F_E5M2
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_INPUT_8F_E5M2 (0x80ull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_OP_INPUT_TYPE_MASK
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_OP_INPUT_TYPE_MASK (0xffull << 16)
Macro MUBLASLT_NUMERICAL_IMPL_FLAGS_GAUSSIAN
#define MUBLASLT_NUMERICAL_IMPL_FLAGS_GAUSSIAN (0x01ull << 32)
Enumeration types
Enumeration type mublasLtMatmulTile_t
Definition: mublasLt.h (line 128)
enum mublasLtMatmulTile_t {
MUBLASLT_MATMUL_TILE_UNDEFINED = 0,
MUBLASLT_MATMUL_TILE_8x8 = 1,
MUBLASLT_MATMUL_TILE_8x16 = 2,
MUBLASLT_MATMUL_TILE_16x8 = 3,
MUBLASLT_MATMUL_TILE_8x32 = 4,
MUBLASLT_MATMUL_TILE_16x16 = 5,
MUBLASLT_MATMUL_TILE_32x8 = 6,
MUBLASLT_MATMUL_TILE_8x64 = 7,
MUBLASLT_MATMUL_TILE_16x32 = 8,
MUBLASLT_MATMUL_TILE_32x16 = 9,
MUBLASLT_MATMUL_TILE_64x8 = 10,
MUBLASLT_MATMUL_TILE_32x32 = 11,
MUBLASLT_MATMUL_TILE_32x64 = 12,
MUBLASLT_MATMUL_TILE_64x32 = 13,
MUBLASLT_MATMUL_TILE_32x128 = 14,
MUBLASLT_MATMUL_TILE_64x64 = 15,
MUBLASLT_MATMUL_TILE_128x32 = 16,
MUBLASLT_MATMUL_TILE_64x128 = 17,
MUBLASLT_MATMUL_TILE_128x64 = 18,
MUBLASLT_MATMUL_TILE_64x256 = 19,
MUBLASLT_MATMUL_TILE_128x128 = 20,
MUBLASLT_MATMUL_TILE_256x64 = 21,
MUBLASLT_MATMUL_TILE_64x512 = 22,
MUBLASLT_MATMUL_TILE_128x256 = 23,
MUBLASLT_MATMUL_TILE_256x128 = 24,
MUBLASLT_MATMUL_TILE_512x64 = 25,
MUBLASLT_MATMUL_TILE_64x96 = 26,
MUBLASLT_MATMUL_TILE_96x64 = 27,
MUBLASLT_MATMUL_TILE_96x128 = 28,
MUBLASLT_MATMUL_TILE_128x160 = 29,
MUBLASLT_MATMUL_TILE_160x128 = 30,
MUBLASLT_MATMUL_TILE_192x128 = 31,
MUBLASLT_MATMUL_TILE_128x192 = 32,
MUBLASLT_MATMUL_TILE_128x96 = 33,
MUBLASLT_MATMUL_TILE_32x256 = 34,
MUBLASLT_MATMUL_TILE_256x32 = 35,
MUBLASLT_MATMUL_TILE_8x128 = 36,
MUBLASLT_MATMUL_TILE_8x192 = 37,
MUBLASLT_MATMUL_TILE_8x256 = 38,
MUBLASLT_MATMUL_TILE_8x320 = 39,
MUBLASLT_MATMUL_TILE_8x384 = 40,
MUBLASLT_MATMUL_TILE_8x448 = 41,
MUBLASLT_MATMUL_TILE_8x512 = 42,
MUBLASLT_MATMUL_TILE_8x576 = 43,
MUBLASLT_MATMUL_TILE_8x640 = 44,
MUBLASLT_MATMUL_TILE_8x704 = 45,
MUBLASLT_MATMUL_TILE_8x768 = 46,
MUBLASLT_MATMUL_TILE_16x64 = 47,
MUBLASLT_MATMUL_TILE_16x128 = 48,
MUBLASLT_MATMUL_TILE_16x192 = 49,
MUBLASLT_MATMUL_TILE_16x256 = 50,
MUBLASLT_MATMUL_TILE_16x320 = 51,
MUBLASLT_MATMUL_TILE_16x384 = 52,
MUBLASLT_MATMUL_TILE_16x448 = 53,
MUBLASLT_MATMUL_TILE_16x512 = 54,
MUBLASLT_MATMUL_TILE_16x576 = 55,
MUBLASLT_MATMUL_TILE_16x640 = 56,
MUBLASLT_MATMUL_TILE_16x704 = 57,
MUBLASLT_MATMUL_TILE_16x768 = 58,
MUBLASLT_MATMUL_TILE_24x64 = 59,
MUBLASLT_MATMUL_TILE_24x128 = 60,
MUBLASLT_MATMUL_TILE_24x192 = 61,
MUBLASLT_MATMUL_TILE_24x256 = 62,
MUBLASLT_MATMUL_TILE_24x320 = 63,
MUBLASLT_MATMUL_TILE_24x384 = 64,
MUBLASLT_MATMUL_TILE_24x448 = 65,
MUBLASLT_MATMUL_TILE_24x512 = 66,
MUBLASLT_MATMUL_TILE_24x576 = 67,
MUBLASLT_MATMUL_TILE_24x640 = 68,
MUBLASLT_MATMUL_TILE_24x704 = 69,
MUBLASLT_MATMUL_TILE_24x768 = 70,
MUBLASLT_MATMUL_TILE_32x192 = 71,
MUBLASLT_MATMUL_TILE_32x320 = 72,
MUBLASLT_MATMUL_TILE_32x384 = 73,
MUBLASLT_MATMUL_TILE_32x448 = 74,
MUBLASLT_MATMUL_TILE_32x512 = 75,
MUBLASLT_MATMUL_TILE_32x576 = 76,
MUBLASLT_MATMUL_TILE_32x640 = 77,
MUBLASLT_MATMUL_TILE_32x704 = 78,
MUBLASLT_MATMUL_TILE_32x768 = 79,
MUBLASLT_MATMUL_TILE_40x64 = 80,
MUBLASLT_MATMUL_TILE_40x128 = 81,
MUBLASLT_MATMUL_TILE_40x192 = 82,
MUBLASLT_MATMUL_TILE_40x256 = 83,
MUBLASLT_MATMUL_TILE_40x320 = 84,
MUBLASLT_MATMUL_TILE_40x384 = 85,
MUBLASLT_MATMUL_TILE_40x448 = 86,
MUBLASLT_MATMUL_TILE_40x512 = 87,
MUBLASLT_MATMUL_TILE_40x576 = 88,
MUBLASLT_MATMUL_TILE_40x640 = 89,
MUBLASLT_MATMUL_TILE_40x704 = 90,
MUBLASLT_MATMUL_TILE_40x768 = 91,
MUBLASLT_MATMUL_TILE_48x64 = 92,
MUBLASLT_MATMUL_TILE_48x128 = 93,
MUBLASLT_MATMUL_TILE_48x192 = 94,
MUBLASLT_MATMUL_TILE_48x256 = 95,
MUBLASLT_MATMUL_TILE_48x320 = 96,
MUBLASLT_MATMUL_TILE_48x384 = 97,
MUBLASLT_MATMUL_TILE_48x448 = 98,
MUBLASLT_MATMUL_TILE_48x512 = 99,
MUBLASLT_MATMUL_TILE_48x576 = 100,
MUBLASLT_MATMUL_TILE_48x640 = 101,
MUBLASLT_MATMUL_TILE_48x704 = 102,
MUBLASLT_MATMUL_TILE_48x768 = 103,
MUBLASLT_MATMUL_TILE_56x64 = 104,
MUBLASLT_MATMUL_TILE_56x128 = 105,
MUBLASLT_MATMUL_TILE_56x192 = 106,
MUBLASLT_MATMUL_TILE_56x256 = 107,
MUBLASLT_MATMUL_TILE_56x320 = 108,
MUBLASLT_MATMUL_TILE_56x384 = 109,
MUBLASLT_MATMUL_TILE_56x448 = 110,
MUBLASLT_MATMUL_TILE_56x512 = 111,
MUBLASLT_MATMUL_TILE_56x576 = 112,
MUBLASLT_MATMUL_TILE_56x640 = 113,
MUBLASLT_MATMUL_TILE_56x704 = 114,
MUBLASLT_MATMUL_TILE_56x768 = 115,
MUBLASLT_MATMUL_TILE_64x192 = 116,
MUBLASLT_MATMUL_TILE_64x320 = 117,
MUBLASLT_MATMUL_TILE_64x384 = 118,
MUBLASLT_MATMUL_TILE_64x448 = 119,
MUBLASLT_MATMUL_TILE_64x576 = 120,
MUBLASLT_MATMUL_TILE_64x640 = 121,
MUBLASLT_MATMUL_TILE_64x704 = 122,
MUBLASLT_MATMUL_TILE_64x768 = 123,
MUBLASLT_MATMUL_TILE_72x64 = 124,
MUBLASLT_MATMUL_TILE_72x128 = 125,
MUBLASLT_MATMUL_TILE_72x192 = 126,
MUBLASLT_MATMUL_TILE_72x256 = 127,
MUBLASLT_MATMUL_TILE_72x320 = 128,
MUBLASLT_MATMUL_TILE_72x384 = 129,
MUBLASLT_MATMUL_TILE_72x448 = 130,
MUBLASLT_MATMUL_TILE_72x512 = 131,
MUBLASLT_MATMUL_TILE_72x576 = 132,
MUBLASLT_MATMUL_TILE_72x640 = 133,
MUBLASLT_MATMUL_TILE_80x64 = 134,
MUBLASLT_MATMUL_TILE_80x128 = 135,
MUBLASLT_MATMUL_TILE_80x192 = 136,
MUBLASLT_MATMUL_TILE_80x256 = 137,
MUBLASLT_MATMUL_TILE_80x320 = 138,
MUBLASLT_MATMUL_TILE_80x384 = 139,
MUBLASLT_MATMUL_TILE_80x448 = 140,
MUBLASLT_MATMUL_TILE_80x512 = 141,
MUBLASLT_MATMUL_TILE_80x576 = 142,
MUBLASLT_MATMUL_TILE_88x64 = 143,
MUBLASLT_MATMUL_TILE_88x128 = 144,
MUBLASLT_MATMUL_TILE_88x192 = 145,
MUBLASLT_MATMUL_TILE_88x256 = 146,
MUBLASLT_MATMUL_TILE_88x320 = 147,
MUBLASLT_MATMUL_TILE_88x384 = 148,
MUBLASLT_MATMUL_TILE_88x448 = 149,
MUBLASLT_MATMUL_TILE_88x512 = 150,
MUBLASLT_MATMUL_TILE_96x192 = 151,
MUBLASLT_MATMUL_TILE_96x256 = 152,
MUBLASLT_MATMUL_TILE_96x320 = 153,
MUBLASLT_MATMUL_TILE_96x384 = 154,
MUBLASLT_MATMUL_TILE_96x448 = 155,
MUBLASLT_MATMUL_TILE_96x512 = 156,
MUBLASLT_MATMUL_TILE_104x64 = 157,
MUBLASLT_MATMUL_TILE_104x128 = 158,
MUBLASLT_MATMUL_TILE_104x192 = 159,
MUBLASLT_MATMUL_TILE_104x256 = 160,
MUBLASLT_MATMUL_TILE_104x320 = 161,
MUBLASLT_MATMUL_TILE_104x384 = 162,
MUBLASLT_MATMUL_TILE_104x448 = 163,
MUBLASLT_MATMUL_TILE_112x64 = 164,
MUBLASLT_MATMUL_TILE_112x128 = 165,
MUBLASLT_MATMUL_TILE_112x192 = 166,
MUBLASLT_MATMUL_TILE_112x256 = 167,
MUBLASLT_MATMUL_TILE_112x320 = 168,
MUBLASLT_MATMUL_TILE_112x384 = 169,
MUBLASLT_MATMUL_TILE_120x64 = 170,
MUBLASLT_MATMUL_TILE_120x128 = 171,
MUBLASLT_MATMUL_TILE_120x192 = 172,
MUBLASLT_MATMUL_TILE_120x256 = 173,
MUBLASLT_MATMUL_TILE_120x320 = 174,
MUBLASLT_MATMUL_TILE_120x384 = 175,
MUBLASLT_MATMUL_TILE_128x320 = 176,
MUBLASLT_MATMUL_TILE_128x384 = 177,
MUBLASLT_MATMUL_TILE_136x64 = 178,
MUBLASLT_MATMUL_TILE_136x128 = 179,
MUBLASLT_MATMUL_TILE_136x192 = 180,
MUBLASLT_MATMUL_TILE_136x256 = 181,
MUBLASLT_MATMUL_TILE_136x320 = 182,
MUBLASLT_MATMUL_TILE_144x64 = 183,
MUBLASLT_MATMUL_TILE_144x128 = 184,
MUBLASLT_MATMUL_TILE_144x192 = 185,
MUBLASLT_MATMUL_TILE_144x256 = 186,
MUBLASLT_MATMUL_TILE_144x320 = 187,
MUBLASLT_MATMUL_TILE_152x64 = 188,
MUBLASLT_MATMUL_TILE_152x128 = 189,
MUBLASLT_MATMUL_TILE_152x192 = 190,
MUBLASLT_MATMUL_TILE_152x256 = 191,
MUBLASLT_MATMUL_TILE_152x320 = 192,
MUBLASLT_MATMUL_TILE_160x64 = 193,
MUBLASLT_MATMUL_TILE_160x192 = 194,
MUBLASLT_MATMUL_TILE_160x256 = 195,
MUBLASLT_MATMUL_TILE_168x64 = 196,
MUBLASLT_MATMUL_TILE_168x128 = 197,
MUBLASLT_MATMUL_TILE_168x192 = 198,
MUBLASLT_MATMUL_TILE_168x256 = 199,
MUBLASLT_MATMUL_TILE_176x64 = 200,
MUBLASLT_MATMUL_TILE_176x128 = 201,
MUBLASLT_MATMUL_TILE_176x192 = 202,
MUBLASLT_MATMUL_TILE_176x256 = 203,
MUBLASLT_MATMUL_TILE_184x64 = 204,
MUBLASLT_MATMUL_TILE_184x128 = 205,
MUBLASLT_MATMUL_TILE_184x192 = 206,
MUBLASLT_MATMUL_TILE_184x256 = 207,
MUBLASLT_MATMUL_TILE_192x64 = 208,
MUBLASLT_MATMUL_TILE_192x192 = 209,
MUBLASLT_MATMUL_TILE_192x256 = 210,
MUBLASLT_MATMUL_TILE_200x64 = 211,
MUBLASLT_MATMUL_TILE_200x128 = 212,
MUBLASLT_MATMUL_TILE_200x192 = 213,
MUBLASLT_MATMUL_TILE_208x64 = 214,
MUBLASLT_MATMUL_TILE_208x128 = 215,
MUBLASLT_MATMUL_TILE_208x192 = 216,
MUBLASLT_MATMUL_TILE_216x64 = 217,
MUBLASLT_MATMUL_TILE_216x128 = 218,
MUBLASLT_MATMUL_TILE_216x192 = 219,
MUBLASLT_MATMUL_TILE_224x64 = 220,
MUBLASLT_MATMUL_TILE_224x128 = 221,
MUBLASLT_MATMUL_TILE_224x192 = 222,
MUBLASLT_MATMUL_TILE_232x64 = 223,
MUBLASLT_MATMUL_TILE_232x128 = 224,
MUBLASLT_MATMUL_TILE_232x192 = 225,
MUBLASLT_MATMUL_TILE_240x64 = 226,
MUBLASLT_MATMUL_TILE_240x128 = 227,
MUBLASLT_MATMUL_TILE_240x192 = 228,
MUBLASLT_MATMUL_TILE_248x64 = 229,
MUBLASLT_MATMUL_TILE_248x128 = 230,
MUBLASLT_MATMUL_TILE_248x192 = 231,
MUBLASLT_MATMUL_TILE_256x192 = 232,
MUBLASLT_MATMUL_TILE_264x64 = 233,
MUBLASLT_MATMUL_TILE_264x128 = 234,
MUBLASLT_MATMUL_TILE_272x64 = 235,
MUBLASLT_MATMUL_TILE_272x128 = 236,
MUBLASLT_MATMUL_TILE_280x64 = 237,
MUBLASLT_MATMUL_TILE_280x128 = 238,
MUBLASLT_MATMUL_TILE_288x64 = 239,
MUBLASLT_MATMUL_TILE_288x128 = 240,
MUBLASLT_MATMUL_TILE_296x64 = 241,
MUBLASLT_MATMUL_TILE_296x128 = 242,
MUBLASLT_MATMUL_TILE_304x64 = 243,
MUBLASLT_MATMUL_TILE_304x128 = 244,
MUBLASLT_MATMUL_TILE_312x64 = 245,
MUBLASLT_MATMUL_TILE_312x128 = 246,
MUBLASLT_MATMUL_TILE_320x64 = 247,
MUBLASLT_MATMUL_TILE_320x128 = 248,
MUBLASLT_MATMUL_TILE_328x64 = 249,
MUBLASLT_MATMUL_TILE_328x128 = 250,
MUBLASLT_MATMUL_TILE_336x64 = 251,
MUBLASLT_MATMUL_TILE_336x128 = 252,
MUBLASLT_MATMUL_TILE_344x64 = 253,
MUBLASLT_MATMUL_TILE_344x128 = 254,
MUBLASLT_MATMUL_TILE_352x64 = 255,
MUBLASLT_MATMUL_TILE_352x128 = 256,
MUBLASLT_MATMUL_TILE_360x64 = 257,
MUBLASLT_MATMUL_TILE_360x128 = 258,
MUBLASLT_MATMUL_TILE_368x64 = 259,
MUBLASLT_MATMUL_TILE_368x128 = 260,
MUBLASLT_MATMUL_TILE_376x64 = 261,
MUBLASLT_MATMUL_TILE_376x128 = 262,
MUBLASLT_MATMUL_TILE_384x64 = 263,
MUBLASLT_MATMUL_TILE_384x128 = 264,
MUBLASLT_MATMUL_TILE_392x64 = 265,
MUBLASLT_MATMUL_TILE_400x64 = 266,
MUBLASLT_MATMUL_TILE_408x64 = 267,
MUBLASLT_MATMUL_TILE_416x64 = 268,
MUBLASLT_MATMUL_TILE_424x64 = 269,
MUBLASLT_MATMUL_TILE_432x64 = 270,
MUBLASLT_MATMUL_TILE_440x64 = 271,
MUBLASLT_MATMUL_TILE_448x64 = 272,
MUBLASLT_MATMUL_TILE_456x64 = 273,
MUBLASLT_MATMUL_TILE_464x64 = 274,
MUBLASLT_MATMUL_TILE_472x64 = 275,
MUBLASLT_MATMUL_TILE_480x64 = 276,
MUBLASLT_MATMUL_TILE_488x64 = 277,
MUBLASLT_MATMUL_TILE_496x64 = 278,
MUBLASLT_MATMUL_TILE_504x64 = 279,
MUBLASLT_MATMUL_TILE_520x64 = 280,
MUBLASLT_MATMUL_TILE_528x64 = 281,
MUBLASLT_MATMUL_TILE_536x64 = 282,
MUBLASLT_MATMUL_TILE_544x64 = 283,
MUBLASLT_MATMUL_TILE_552x64 = 284,
MUBLASLT_MATMUL_TILE_560x64 = 285,
MUBLASLT_MATMUL_TILE_568x64 = 286,
MUBLASLT_MATMUL_TILE_576x64 = 287,
MUBLASLT_MATMUL_TILE_584x64 = 288,
MUBLASLT_MATMUL_TILE_592x64 = 289,
MUBLASLT_MATMUL_TILE_600x64 = 290,
MUBLASLT_MATMUL_TILE_608x64 = 291,
MUBLASLT_MATMUL_TILE_616x64 = 292,
MUBLASLT_MATMUL_TILE_624x64 = 293,
MUBLASLT_MATMUL_TILE_632x64 = 294,
MUBLASLT_MATMUL_TILE_640x64 = 295,
MUBLASLT_MATMUL_TILE_648x64 = 296,
MUBLASLT_MATMUL_TILE_656x64 = 297,
MUBLASLT_MATMUL_TILE_664x64 = 298,
MUBLASLT_MATMUL_TILE_672x64 = 299,
MUBLASLT_MATMUL_TILE_680x64 = 300,
MUBLASLT_MATMUL_TILE_688x64 = 301,
MUBLASLT_MATMUL_TILE_696x64 = 302,
MUBLASLT_MATMUL_TILE_704x64 = 303,
MUBLASLT_MATMUL_TILE_712x64 = 304,
MUBLASLT_MATMUL_TILE_720x64 = 305,
MUBLASLT_MATMUL_TILE_728x64 = 306,
MUBLASLT_MATMUL_TILE_736x64 = 307,
MUBLASLT_MATMUL_TILE_744x64 = 308,
MUBLASLT_MATMUL_TILE_752x64 = 309,
MUBLASLT_MATMUL_TILE_760x64 = 310,
MUBLASLT_MATMUL_TILE_768x64 = 311,
MUBLASLT_MATMUL_TILE_64x16 = 312,
MUBLASLT_MATMUL_TILE_64x24 = 313,
MUBLASLT_MATMUL_TILE_64x40 = 314,
MUBLASLT_MATMUL_TILE_64x48 = 315,
MUBLASLT_MATMUL_TILE_64x56 = 316,
MUBLASLT_MATMUL_TILE_64x72 = 317,
MUBLASLT_MATMUL_TILE_64x80 = 318,
MUBLASLT_MATMUL_TILE_64x88 = 319,
MUBLASLT_MATMUL_TILE_64x104 = 320,
MUBLASLT_MATMUL_TILE_64x112 = 321,
MUBLASLT_MATMUL_TILE_64x120 = 322,
MUBLASLT_MATMUL_TILE_64x136 = 323,
MUBLASLT_MATMUL_TILE_64x144 = 324,
MUBLASLT_MATMUL_TILE_64x152 = 325,
MUBLASLT_MATMUL_TILE_64x160 = 326,
MUBLASLT_MATMUL_TILE_64x168 = 327,
MUBLASLT_MATMUL_TILE_64x176 = 328,
MUBLASLT_MATMUL_TILE_64x184 = 329,
MUBLASLT_MATMUL_TILE_64x200 = 330,
MUBLASLT_MATMUL_TILE_64x208 = 331,
MUBLASLT_MATMUL_TILE_64x216 = 332,
MUBLASLT_MATMUL_TILE_64x224 = 333,
MUBLASLT_MATMUL_TILE_64x232 = 334,
MUBLASLT_MATMUL_TILE_64x240 = 335,
MUBLASLT_MATMUL_TILE_64x248 = 336,
MUBLASLT_MATMUL_TILE_64x264 = 337,
MUBLASLT_MATMUL_TILE_64x272 = 338,
MUBLASLT_MATMUL_TILE_64x280 = 339,
MUBLASLT_MATMUL_TILE_64x288 = 340,
MUBLASLT_MATMUL_TILE_64x296 = 341,
MUBLASLT_MATMUL_TILE_64x304 = 342,
MUBLASLT_MATMUL_TILE_64x312 = 343,
MUBLASLT_MATMUL_TILE_64x328 = 344,
MUBLASLT_MATMUL_TILE_64x336 = 345,
MUBLASLT_MATMUL_TILE_64x344 = 346,
MUBLASLT_MATMUL_TILE_64x352 = 347,
MUBLASLT_MATMUL_TILE_64x360 = 348,
MUBLASLT_MATMUL_TILE_64x368 = 349,
MUBLASLT_MATMUL_TILE_64x376 = 350,
MUBLASLT_MATMUL_TILE_64x392 = 351,
MUBLASLT_MATMUL_TILE_64x400 = 352,
MUBLASLT_MATMUL_TILE_64x408 = 353,
MUBLASLT_MATMUL_TILE_64x416 = 354,
MUBLASLT_MATMUL_TILE_64x424 = 355,
MUBLASLT_MATMUL_TILE_64x432 = 356,
MUBLASLT_MATMUL_TILE_64x440 = 357,
MUBLASLT_MATMUL_TILE_64x456 = 358,
MUBLASLT_MATMUL_TILE_64x464 = 359,
MUBLASLT_MATMUL_TILE_64x472 = 360,
MUBLASLT_MATMUL_TILE_64x480 = 361,
MUBLASLT_MATMUL_TILE_64x488 = 362,
MUBLASLT_MATMUL_TILE_64x496 = 363,
MUBLASLT_MATMUL_TILE_64x504 = 364,
MUBLASLT_MATMUL_TILE_64x520 = 365,
MUBLASLT_MATMUL_TILE_64x528 = 366,
MUBLASLT_MATMUL_TILE_64x536 = 367,
MUBLASLT_MATMUL_TILE_64x544 = 368,
MUBLASLT_MATMUL_TILE_64x552 = 369,
MUBLASLT_MATMUL_TILE_64x560 = 370,
MUBLASLT_MATMUL_TILE_64x568 = 371,
MUBLASLT_MATMUL_TILE_64x584 = 372,
MUBLASLT_MATMUL_TILE_64x592 = 373,
MUBLASLT_MATMUL_TILE_64x600 = 374,
MUBLASLT_MATMUL_TILE_64x608 = 375,
MUBLASLT_MATMUL_TILE_64x616 = 376,
MUBLASLT_MATMUL_TILE_64x624 = 377,
MUBLASLT_MATMUL_TILE_64x632 = 378,
MUBLASLT_MATMUL_TILE_64x648 = 379,
MUBLASLT_MATMUL_TILE_64x656 = 380,
MUBLASLT_MATMUL_TILE_64x664 = 381,
MUBLASLT_MATMUL_TILE_64x672 = 382,
MUBLASLT_MATMUL_TILE_64x680 = 383,
MUBLASLT_MATMUL_TILE_64x688 = 384,
MUBLASLT_MATMUL_TILE_64x696 = 385,
MUBLASLT_MATMUL_TILE_64x712 = 386,
MUBLASLT_MATMUL_TILE_64x720 = 387,
MUBLASLT_MATMUL_TILE_64x728 = 388,
MUBLASLT_MATMUL_TILE_64x736 = 389,
MUBLASLT_MATMUL_TILE_64x744 = 390,
MUBLASLT_MATMUL_TILE_64x752 = 391,
MUBLASLT_MATMUL_TILE_64x760 = 392,
MUBLASLT_MATMUL_TILE_128x8 = 393,
MUBLASLT_MATMUL_TILE_128x16 = 394,
MUBLASLT_MATMUL_TILE_128x24 = 395,
MUBLASLT_MATMUL_TILE_128x40 = 396,
MUBLASLT_MATMUL_TILE_128x48 = 397,
MUBLASLT_MATMUL_TILE_128x56 = 398,
MUBLASLT_MATMUL_TILE_128x72 = 399,
MUBLASLT_MATMUL_TILE_128x80 = 400,
MUBLASLT_MATMUL_TILE_128x88 = 401,
MUBLASLT_MATMUL_TILE_128x104 = 402,
MUBLASLT_MATMUL_TILE_128x112 = 403,
MUBLASLT_MATMUL_TILE_128x120 = 404,
MUBLASLT_MATMUL_TILE_128x136 = 405,
MUBLASLT_MATMUL_TILE_128x144 = 406,
MUBLASLT_MATMUL_TILE_128x152 = 407,
MUBLASLT_MATMUL_TILE_128x168 = 408,
MUBLASLT_MATMUL_TILE_128x176 = 409,
MUBLASLT_MATMUL_TILE_128x184 = 410,
MUBLASLT_MATMUL_TILE_128x200 = 411,
MUBLASLT_MATMUL_TILE_128x208 = 412,
MUBLASLT_MATMUL_TILE_128x216 = 413,
MUBLASLT_MATMUL_TILE_128x224 = 414,
MUBLASLT_MATMUL_TILE_128x232 = 415,
MUBLASLT_MATMUL_TILE_128x240 = 416,
MUBLASLT_MATMUL_TILE_128x248 = 417,
MUBLASLT_MATMUL_TILE_128x264 = 418,
MUBLASLT_MATMUL_TILE_128x272 = 419,
MUBLASLT_MATMUL_TILE_128x280 = 420,
MUBLASLT_MATMUL_TILE_128x288 = 421,
MUBLASLT_MATMUL_TILE_128x296 = 422,
MUBLASLT_MATMUL_TILE_128x304 = 423,
MUBLASLT_MATMUL_TILE_128x312 = 424,
MUBLASLT_MATMUL_TILE_128x328 = 425,
MUBLASLT_MATMUL_TILE_128x336 = 426,
MUBLASLT_MATMUL_TILE_128x344 = 427,
MUBLASLT_MATMUL_TILE_128x352 = 428,
MUBLASLT_MATMUL_TILE_128x360 = 429,
MUBLASLT_MATMUL_TILE_128x368 = 430,
MUBLASLT_MATMUL_TILE_128x376 = 431,
MUBLASLT_MATMUL_TILE_128x392 = 432,
MUBLASLT_MATMUL_TILE_128x400 = 433,
MUBLASLT_MATMUL_TILE_128x408 = 434,
MUBLASLT_MATMUL_TILE_128x416 = 435,
MUBLASLT_MATMUL_TILE_128x424 = 436,
MUBLASLT_MATMUL_TILE_128x432 = 437,
MUBLASLT_MATMUL_TILE_128x440 = 438,
MUBLASLT_MATMUL_TILE_128x448 = 439,
MUBLASLT_MATMUL_TILE_128x456 = 440,
MUBLASLT_MATMUL_TILE_128x464 = 441,
MUBLASLT_MATMUL_TILE_128x472 = 442,
MUBLASLT_MATMUL_TILE_128x480 = 443,
MUBLASLT_MATMUL_TILE_128x488 = 444,
MUBLASLT_MATMUL_TILE_128x496 = 445,
MUBLASLT_MATMUL_TILE_128x504 = 446,
MUBLASLT_MATMUL_TILE_128x512 = 447,
MUBLASLT_MATMUL_TILE_192x8 = 448,
MUBLASLT_MATMUL_TILE_192x16 = 449,
MUBLASLT_MATMUL_TILE_192x24 = 450,
MUBLASLT_MATMUL_TILE_192x32 = 451,
MUBLASLT_MATMUL_TILE_192x40 = 452,
MUBLASLT_MATMUL_TILE_192x48 = 453,
MUBLASLT_MATMUL_TILE_192x56 = 454,
MUBLASLT_MATMUL_TILE_192x72 = 455,
MUBLASLT_MATMUL_TILE_192x80 = 456,
MUBLASLT_MATMUL_TILE_192x88 = 457,
MUBLASLT_MATMUL_TILE_192x96 = 458,
MUBLASLT_MATMUL_TILE_192x104 = 459,
MUBLASLT_MATMUL_TILE_192x112 = 460,
MUBLASLT_MATMUL_TILE_192x120 = 461,
MUBLASLT_MATMUL_TILE_192x136 = 462,
MUBLASLT_MATMUL_TILE_192x144 = 463,
MUBLASLT_MATMUL_TILE_192x152 = 464,
MUBLASLT_MATMUL_TILE_192x160 = 465,
MUBLASLT_MATMUL_TILE_192x168 = 466,
MUBLASLT_MATMUL_TILE_192x176 = 467,
MUBLASLT_MATMUL_TILE_192x184 = 468,
MUBLASLT_MATMUL_TILE_192x200 = 469,
MUBLASLT_MATMUL_TILE_192x208 = 470,
MUBLASLT_MATMUL_TILE_192x216 = 471,
MUBLASLT_MATMUL_TILE_192x224 = 472,
MUBLASLT_MATMUL_TILE_192x232 = 473,
MUBLASLT_MATMUL_TILE_192x240 = 474,
MUBLASLT_MATMUL_TILE_192x248 = 475,
MUBLASLT_MATMUL_TILE_192x264 = 476,
MUBLASLT_MATMUL_TILE_192x272 = 477,
MUBLASLT_MATMUL_TILE_192x280 = 478,
MUBLASLT_MATMUL_TILE_192x288 = 479,
MUBLASLT_MATMUL_TILE_192x296 = 480,
MUBLASLT_MATMUL_TILE_192x304 = 481,
MUBLASLT_MATMUL_TILE_192x312 = 482,
MUBLASLT_MATMUL_TILE_192x320 = 483,
MUBLASLT_MATMUL_TILE_192x328 = 484,
MUBLASLT_MATMUL_TILE_192x336 = 485,
MUBLASLT_MATMUL_TILE_256x8 = 486,
MUBLASLT_MATMUL_TILE_256x16 = 487,
MUBLASLT_MATMUL_TILE_256x24 = 488,
MUBLASLT_MATMUL_TILE_256x40 = 489,
MUBLASLT_MATMUL_TILE_256x48 = 490,
MUBLASLT_MATMUL_TILE_256x56 = 491,
MUBLASLT_MATMUL_TILE_256x72 = 492,
MUBLASLT_MATMUL_TILE_256x80 = 493,
MUBLASLT_MATMUL_TILE_256x88 = 494,
MUBLASLT_MATMUL_TILE_256x96 = 495,
MUBLASLT_MATMUL_TILE_256x104 = 496,
MUBLASLT_MATMUL_TILE_256x112 = 497,
MUBLASLT_MATMUL_TILE_256x120 = 498,
MUBLASLT_MATMUL_TILE_256x136 = 499,
MUBLASLT_MATMUL_TILE_256x144 = 500,
MUBLASLT_MATMUL_TILE_256x152 = 501,
MUBLASLT_MATMUL_TILE_256x160 = 502,
MUBLASLT_MATMUL_TILE_256x168 = 503,
MUBLASLT_MATMUL_TILE_256x176 = 504,
MUBLASLT_MATMUL_TILE_256x184 = 505,
MUBLASLT_MATMUL_TILE_256x200 = 506,
MUBLASLT_MATMUL_TILE_256x208 = 507,
MUBLASLT_MATMUL_TILE_256x216 = 508,
MUBLASLT_MATMUL_TILE_256x224 = 509,
MUBLASLT_MATMUL_TILE_256x232 = 510,
MUBLASLT_MATMUL_TILE_256x240 = 511,
MUBLASLT_MATMUL_TILE_256x248 = 512,
MUBLASLT_MATMUL_TILE_256x256 = 513,
MUBLASLT_MATMUL_TILE_320x8 = 514,
MUBLASLT_MATMUL_TILE_320x16 = 515,
MUBLASLT_MATMUL_TILE_320x24 = 516,
MUBLASLT_MATMUL_TILE_320x32 = 517,
MUBLASLT_MATMUL_TILE_320x40 = 518,
MUBLASLT_MATMUL_TILE_320x48 = 519,
MUBLASLT_MATMUL_TILE_320x56 = 520,
MUBLASLT_MATMUL_TILE_320x72 = 521,
MUBLASLT_MATMUL_TILE_320x80 = 522,
MUBLASLT_MATMUL_TILE_320x88 = 523,
MUBLASLT_MATMUL_TILE_320x96 = 524,
MUBLASLT_MATMUL_TILE_320x104 = 525,
MUBLASLT_MATMUL_TILE_320x112 = 526,
MUBLASLT_MATMUL_TILE_320x120 = 527,
MUBLASLT_MATMUL_TILE_320x136 = 528,
MUBLASLT_MATMUL_TILE_320x144 = 529,
MUBLASLT_MATMUL_TILE_320x152 = 530,
MUBLASLT_MATMUL_TILE_320x160 = 531,
MUBLASLT_MATMUL_TILE_320x168 = 532,
MUBLASLT_MATMUL_TILE_320x176 = 533,
MUBLASLT_MATMUL_TILE_320x184 = 534,
MUBLASLT_MATMUL_TILE_320x192 = 535,
MUBLASLT_MATMUL_TILE_320x200 = 536,
MUBLASLT_MATMUL_TILE_384x8 = 537,
MUBLASLT_MATMUL_TILE_384x16 = 538,
MUBLASLT_MATMUL_TILE_384x24 = 539,
MUBLASLT_MATMUL_TILE_384x32 = 540,
MUBLASLT_MATMUL_TILE_384x40 = 541,
MUBLASLT_MATMUL_TILE_384x48 = 542,
MUBLASLT_MATMUL_TILE_384x56 = 543,
MUBLASLT_MATMUL_TILE_384x72 = 544,
MUBLASLT_MATMUL_TILE_384x80 = 545,
MUBLASLT_MATMUL_TILE_384x88 = 546,
MUBLASLT_MATMUL_TILE_384x96 = 547,
MUBLASLT_MATMUL_TILE_384x104 = 548,
MUBLASLT_MATMUL_TILE_384x112 = 549,
MUBLASLT_MATMUL_TILE_384x120 = 550,
MUBLASLT_MATMUL_TILE_384x136 = 551,
MUBLASLT_MATMUL_TILE_384x144 = 552,
MUBLASLT_MATMUL_TILE_384x152 = 553,
MUBLASLT_MATMUL_TILE_384x160 = 554,
MUBLASLT_MATMUL_TILE_384x168 = 555,
MUBLASLT_MATMUL_TILE_448x8 = 556,
MUBLASLT_MATMUL_TILE_448x16 = 557,
MUBLASLT_MATMUL_TILE_448x24 = 558,
MUBLASLT_MATMUL_TILE_448x32 = 559,
MUBLASLT_MATMUL_TILE_448x40 = 560,
MUBLASLT_MATMUL_TILE_448x48 = 561,
MUBLASLT_MATMUL_TILE_448x56 = 562,
MUBLASLT_MATMUL_TILE_448x72 = 563,
MUBLASLT_MATMUL_TILE_448x80 = 564,
MUBLASLT_MATMUL_TILE_448x88 = 565,
MUBLASLT_MATMUL_TILE_448x96 = 566,
MUBLASLT_MATMUL_TILE_448x104 = 567,
MUBLASLT_MATMUL_TILE_448x112 = 568,
MUBLASLT_MATMUL_TILE_448x120 = 569,
MUBLASLT_MATMUL_TILE_448x128 = 570,
MUBLASLT_MATMUL_TILE_448x136 = 571,
MUBLASLT_MATMUL_TILE_448x144 = 572,
MUBLASLT_MATMUL_TILE_512x8 = 573,
MUBLASLT_MATMUL_TILE_512x16 = 574,
MUBLASLT_MATMUL_TILE_512x24 = 575,
MUBLASLT_MATMUL_TILE_512x32 = 576,
MUBLASLT_MATMUL_TILE_512x40 = 577,
MUBLASLT_MATMUL_TILE_512x48 = 578,
MUBLASLT_MATMUL_TILE_512x56 = 579,
MUBLASLT_MATMUL_TILE_512x72 = 580,
MUBLASLT_MATMUL_TILE_512x80 = 581,
MUBLASLT_MATMUL_TILE_512x88 = 582,
MUBLASLT_MATMUL_TILE_512x96 = 583,
MUBLASLT_MATMUL_TILE_512x104 = 584,
MUBLASLT_MATMUL_TILE_512x112 = 585,
MUBLASLT_MATMUL_TILE_512x120 = 586,
MUBLASLT_MATMUL_TILE_512x128 = 587,
MUBLASLT_MATMUL_TILE_576x8 = 588,
MUBLASLT_MATMUL_TILE_576x16 = 589,
MUBLASLT_MATMUL_TILE_576x24 = 590,
MUBLASLT_MATMUL_TILE_576x32 = 591,
MUBLASLT_MATMUL_TILE_576x40 = 592,
MUBLASLT_MATMUL_TILE_576x48 = 593,
MUBLASLT_MATMUL_TILE_576x56 = 594,
MUBLASLT_MATMUL_TILE_576x72 = 595,
MUBLASLT_MATMUL_TILE_576x80 = 596,
MUBLASLT_MATMUL_TILE_576x88 = 597,
MUBLASLT_MATMUL_TILE_576x96 = 598,
MUBLASLT_MATMUL_TILE_576x104 = 599,
MUBLASLT_MATMUL_TILE_576x112 = 600,
MUBLASLT_MATMUL_TILE_640x8 = 601,
MUBLASLT_MATMUL_TILE_640x16 = 602,
MUBLASLT_MATMUL_TILE_640x24 = 603,
MUBLASLT_MATMUL_TILE_640x32 = 604,
MUBLASLT_MATMUL_TILE_640x40 = 605,
MUBLASLT_MATMUL_TILE_640x48 = 606,
MUBLASLT_MATMUL_TILE_640x56 = 607,
MUBLASLT_MATMUL_TILE_640x72 = 608,
MUBLASLT_MATMUL_TILE_640x80 = 609,
MUBLASLT_MATMUL_TILE_640x88 = 610,
MUBLASLT_MATMUL_TILE_640x96 = 611,
MUBLASLT_MATMUL_TILE_704x8 = 612,
MUBLASLT_MATMUL_TILE_704x16 = 613,
MUBLASLT_MATMUL_TILE_704x24 = 614,
MUBLASLT_MATMUL_TILE_704x32 = 615,
MUBLASLT_MATMUL_TILE_704x40 = 616,
MUBLASLT_MATMUL_TILE_704x48 = 617,
MUBLASLT_MATMUL_TILE_704x56 = 618,
MUBLASLT_MATMUL_TILE_704x72 = 619,
MUBLASLT_MATMUL_TILE_704x80 = 620,
MUBLASLT_MATMUL_TILE_704x88 = 621,
MUBLASLT_MATMUL_TILE_768x8 = 622,
MUBLASLT_MATMUL_TILE_768x16 = 623,
MUBLASLT_MATMUL_TILE_768x24 = 624,
MUBLASLT_MATMUL_TILE_768x32 = 625,
MUBLASLT_MATMUL_TILE_768x40 = 626,
MUBLASLT_MATMUL_TILE_768x48 = 627,
MUBLASLT_MATMUL_TILE_768x56 = 628,
MUBLASLT_MATMUL_TILE_768x72 = 629,
MUBLASLT_MATMUL_TILE_768x80 = 630,
MUBLASLT_MATMUL_TILE_256x512 = 631,
MUBLASLT_MATMUL_TILE_256x1024 = 632,
MUBLASLT_MATMUL_TILE_512x512 = 633,
MUBLASLT_MATMUL_TILE_512x1024 = 634,
MUBLASLT_MATMUL_TILE_END
}
Tile size (in C/D matrix Rows x Cols)
General order of tile IDs is sorted by size first and by first dimension second.
Enumerator MUBLASLT_MATMUL_TILE_UNDEFINED
Enumerator MUBLASLT_MATMUL_TILE_8x8
Enumerator MUBLASLT_MATMUL_TILE_8x16
Enumerator MUBLASLT_MATMUL_TILE_16x8
Enumerator MUBLASLT_MATMUL_TILE_8x32
Enumerator MUBLASLT_MATMUL_TILE_16x16
Enumerator MUBLASLT_MATMUL_TILE_32x8
Enumerator MUBLASLT_MATMUL_TILE_8x64
Enumerator MUBLASLT_MATMUL_TILE_16x32
Enumerator MUBLASLT_MATMUL_TILE_32x16
Enumerator MUBLASLT_MATMUL_TILE_64x8
Enumerator MUBLASLT_MATMUL_TILE_32x32
Enumerator MUBLASLT_MATMUL_TILE_32x64
Enumerator MUBLASLT_MATMUL_TILE_64x32
Enumerator MUBLASLT_MATMUL_TILE_32x128
Enumerator MUBLASLT_MATMUL_TILE_64x64
Enumerator MUBLASLT_MATMUL_TILE_128x32
Enumerator MUBLASLT_MATMUL_TILE_64x128
Enumerator MUBLASLT_MATMUL_TILE_128x64
Enumerator MUBLASLT_MATMUL_TILE_64x256
Enumerator MUBLASLT_MATMUL_TILE_128x128
Enumerator MUBLASLT_MATMUL_TILE_256x64
Enumerator MUBLASLT_MATMUL_TILE_64x512
Enumerator MUBLASLT_MATMUL_TILE_128x256
Enumerator MUBLASLT_MATMUL_TILE_256x128
Enumerator MUBLASLT_MATMUL_TILE_512x64
Enumerator MUBLASLT_MATMUL_TILE_64x96
Enumerator MUBLASLT_MATMUL_TILE_96x64
Enumerator MUBLASLT_MATMUL_TILE_96x128
Enumerator MUBLASLT_MATMUL_TILE_128x160
Enumerator MUBLASLT_MATMUL_TILE_160x128
Enumerator MUBLASLT_MATMUL_TILE_192x128
Enumerator MUBLASLT_MATMUL_TILE_128x192
Enumerator MUBLASLT_MATMUL_TILE_128x96
Enumerator MUBLASLT_MATMUL_TILE_32x256
Enumerator MUBLASLT_MATMUL_TILE_256x32
Enumerator MUBLASLT_MATMUL_TILE_8x128
Enumerator MUBLASLT_MATMUL_TILE_8x192
Enumerator MUBLASLT_MATMUL_TILE_8x256
Enumerator MUBLASLT_MATMUL_TILE_8x320
Enumerator MUBLASLT_MATMUL_TILE_8x384
Enumerator MUBLASLT_MATMUL_TILE_8x448
Enumerator MUBLASLT_MATMUL_TILE_8x512
Enumerator MUBLASLT_MATMUL_TILE_8x576
Enumerator MUBLASLT_MATMUL_TILE_8x640
Enumerator MUBLASLT_MATMUL_TILE_8x704
Enumerator MUBLASLT_MATMUL_TILE_8x768
Enumerator MUBLASLT_MATMUL_TILE_16x64
Enumerator MUBLASLT_MATMUL_TILE_16x128
Enumerator MUBLASLT_MATMUL_TILE_16x192
Enumerator MUBLASLT_MATMUL_TILE_16x256
Enumerator MUBLASLT_MATMUL_TILE_16x320
Enumerator MUBLASLT_MATMUL_TILE_16x384
Enumerator MUBLASLT_MATMUL_TILE_16x448
Enumerator MUBLASLT_MATMUL_TILE_16x512
Enumerator MUBLASLT_MATMUL_TILE_16x576
Enumerator MUBLASLT_MATMUL_TILE_16x640
Enumerator MUBLASLT_MATMUL_TILE_16x704
Enumerator MUBLASLT_MATMUL_TILE_16x768
Enumerator MUBLASLT_MATMUL_TILE_24x64
Enumerator MUBLASLT_MATMUL_TILE_24x128
Enumerator MUBLASLT_MATMUL_TILE_24x192
Enumerator MUBLASLT_MATMUL_TILE_24x256
Enumerator MUBLASLT_MATMUL_TILE_24x320
Enumerator MUBLASLT_MATMUL_TILE_24x384
Enumerator MUBLASLT_MATMUL_TILE_24x448
Enumerator MUBLASLT_MATMUL_TILE_24x512
Enumerator MUBLASLT_MATMUL_TILE_24x576
Enumerator MUBLASLT_MATMUL_TILE_24x640
Enumerator MUBLASLT_MATMUL_TILE_24x704
Enumerator MUBLASLT_MATMUL_TILE_24x768
Enumerator MUBLASLT_MATMUL_TILE_32x192
Enumerator MUBLASLT_MATMUL_TILE_32x320
Enumerator MUBLASLT_MATMUL_TILE_32x384
Enumerator MUBLASLT_MATMUL_TILE_32x448
Enumerator MUBLASLT_MATMUL_TILE_32x512
Enumerator MUBLASLT_MATMUL_TILE_32x576
Enumerator MUBLASLT_MATMUL_TILE_32x640
Enumerator MUBLASLT_MATMUL_TILE_32x704
Enumerator MUBLASLT_MATMUL_TILE_32x768
Enumerator MUBLASLT_MATMUL_TILE_40x64
Enumerator MUBLASLT_MATMUL_TILE_40x128
Enumerator MUBLASLT_MATMUL_TILE_40x192
Enumerator MUBLASLT_MATMUL_TILE_40x256
Enumerator MUBLASLT_MATMUL_TILE_40x320
Enumerator MUBLASLT_MATMUL_TILE_40x384
Enumerator MUBLASLT_MATMUL_TILE_40x448
Enumerator MUBLASLT_MATMUL_TILE_40x512
Enumerator MUBLASLT_MATMUL_TILE_40x576
Enumerator MUBLASLT_MATMUL_TILE_40x640
Enumerator MUBLASLT_MATMUL_TILE_40x704
Enumerator MUBLASLT_MATMUL_TILE_40x768
Enumerator MUBLASLT_MATMUL_TILE_48x64
Enumerator MUBLASLT_MATMUL_TILE_48x128
Enumerator MUBLASLT_MATMUL_TILE_48x192
Enumerator MUBLASLT_MATMUL_TILE_48x256
Enumerator MUBLASLT_MATMUL_TILE_48x320
Enumerator MUBLASLT_MATMUL_TILE_48x384
Enumerator MUBLASLT_MATMUL_TILE_48x448
Enumerator MUBLASLT_MATMUL_TILE_48x512
Enumerator MUBLASLT_MATMUL_TILE_48x576
Enumerator MUBLASLT_MATMUL_TILE_48x640
Enumerator MUBLASLT_MATMUL_TILE_48x704
Enumerator MUBLASLT_MATMUL_TILE_48x768
Enumerator MUBLASLT_MATMUL_TILE_56x64
Enumerator MUBLASLT_MATMUL_TILE_56x128
Enumerator MUBLASLT_MATMUL_TILE_56x192
Enumerator MUBLASLT_MATMUL_TILE_56x256
Enumerator MUBLASLT_MATMUL_TILE_56x320
Enumerator MUBLASLT_MATMUL_TILE_56x384
Enumerator MUBLASLT_MATMUL_TILE_56x448
Enumerator MUBLASLT_MATMUL_TILE_56x512
Enumerator MUBLASLT_MATMUL_TILE_56x576
Enumerator MUBLASLT_MATMUL_TILE_56x640
Enumerator MUBLASLT_MATMUL_TILE_56x704
Enumerator MUBLASLT_MATMUL_TILE_56x768
Enumerator MUBLASLT_MATMUL_TILE_64x192
Enumerator MUBLASLT_MATMUL_TILE_64x320
Enumerator MUBLASLT_MATMUL_TILE_64x384
Enumerator MUBLASLT_MATMUL_TILE_64x448
Enumerator MUBLASLT_MATMUL_TILE_64x576
Enumerator MUBLASLT_MATMUL_TILE_64x640
Enumerator MUBLASLT_MATMUL_TILE_64x704
Enumerator MUBLASLT_MATMUL_TILE_64x768
Enumerator MUBLASLT_MATMUL_TILE_72x64
Enumerator MUBLASLT_MATMUL_TILE_72x128
Enumerator MUBLASLT_MATMUL_TILE_72x192
Enumerator MUBLASLT_MATMUL_TILE_72x256
Enumerator MUBLASLT_MATMUL_TILE_72x320
Enumerator MUBLASLT_MATMUL_TILE_72x384
Enumerator MUBLASLT_MATMUL_TILE_72x448
Enumerator MUBLASLT_MATMUL_TILE_72x512
Enumerator MUBLASLT_MATMUL_TILE_72x576
Enumerator MUBLASLT_MATMUL_TILE_72x640
Enumerator MUBLASLT_MATMUL_TILE_80x64
Enumerator MUBLASLT_MATMUL_TILE_80x128
Enumerator MUBLASLT_MATMUL_TILE_80x192
Enumerator MUBLASLT_MATMUL_TILE_80x256
Enumerator MUBLASLT_MATMUL_TILE_80x320
Enumerator MUBLASLT_MATMUL_TILE_80x384
Enumerator MUBLASLT_MATMUL_TILE_80x448
Enumerator MUBLASLT_MATMUL_TILE_80x512
Enumerator MUBLASLT_MATMUL_TILE_80x576
Enumerator MUBLASLT_MATMUL_TILE_88x64
Enumerator MUBLASLT_MATMUL_TILE_88x128
Enumerator MUBLASLT_MATMUL_TILE_88x192
Enumerator MUBLASLT_MATMUL_TILE_88x256
Enumerator MUBLASLT_MATMUL_TILE_88x320
Enumerator MUBLASLT_MATMUL_TILE_88x384
Enumerator MUBLASLT_MATMUL_TILE_88x448
Enumerator MUBLASLT_MATMUL_TILE_88x512
Enumerator MUBLASLT_MATMUL_TILE_96x192
Enumerator MUBLASLT_MATMUL_TILE_96x256
Enumerator MUBLASLT_MATMUL_TILE_96x320
Enumerator MUBLASLT_MATMUL_TILE_96x384
Enumerator MUBLASLT_MATMUL_TILE_96x448
Enumerator MUBLASLT_MATMUL_TILE_96x512
Enumerator MUBLASLT_MATMUL_TILE_104x64
Enumerator MUBLASLT_MATMUL_TILE_104x128
Enumerator MUBLASLT_MATMUL_TILE_104x192
Enumerator MUBLASLT_MATMUL_TILE_104x256
Enumerator MUBLASLT_MATMUL_TILE_104x320
Enumerator MUBLASLT_MATMUL_TILE_104x384
Enumerator MUBLASLT_MATMUL_TILE_104x448
Enumerator MUBLASLT_MATMUL_TILE_112x64
Enumerator MUBLASLT_MATMUL_TILE_112x128
Enumerator MUBLASLT_MATMUL_TILE_112x192
Enumerator MUBLASLT_MATMUL_TILE_112x256
Enumerator MUBLASLT_MATMUL_TILE_112x320
Enumerator MUBLASLT_MATMUL_TILE_112x384
Enumerator MUBLASLT_MATMUL_TILE_120x64
Enumerator MUBLASLT_MATMUL_TILE_120x128
Enumerator MUBLASLT_MATMUL_TILE_120x192
Enumerator MUBLASLT_MATMUL_TILE_120x256
Enumerator MUBLASLT_MATMUL_TILE_120x320
Enumerator MUBLASLT_MATMUL_TILE_120x384
Enumerator MUBLASLT_MATMUL_TILE_128x320
Enumerator MUBLASLT_MATMUL_TILE_128x384
Enumerator MUBLASLT_MATMUL_TILE_136x64
Enumerator MUBLASLT_MATMUL_TILE_136x128
Enumerator MUBLASLT_MATMUL_TILE_136x192
Enumerator MUBLASLT_MATMUL_TILE_136x256
Enumerator MUBLASLT_MATMUL_TILE_136x320
Enumerator MUBLASLT_MATMUL_TILE_144x64
Enumerator MUBLASLT_MATMUL_TILE_144x128
Enumerator MUBLASLT_MATMUL_TILE_144x192
Enumerator MUBLASLT_MATMUL_TILE_144x256
Enumerator MUBLASLT_MATMUL_TILE_144x320
Enumerator MUBLASLT_MATMUL_TILE_152x64
Enumerator MUBLASLT_MATMUL_TILE_152x128
Enumerator MUBLASLT_MATMUL_TILE_152x192
Enumerator MUBLASLT_MATMUL_TILE_152x256
Enumerator MUBLASLT_MATMUL_TILE_152x320
Enumerator MUBLASLT_MATMUL_TILE_160x64
Enumerator MUBLASLT_MATMUL_TILE_160x192
Enumerator MUBLASLT_MATMUL_TILE_160x256
Enumerator MUBLASLT_MATMUL_TILE_168x64
Enumerator MUBLASLT_MATMUL_TILE_168x128
Enumerator MUBLASLT_MATMUL_TILE_168x192
Enumerator MUBLASLT_MATMUL_TILE_168x256
Enumerator MUBLASLT_MATMUL_TILE_176x64
Enumerator MUBLASLT_MATMUL_TILE_176x128
Enumerator MUBLASLT_MATMUL_TILE_176x192
Enumerator MUBLASLT_MATMUL_TILE_176x256
Enumerator MUBLASLT_MATMUL_TILE_184x64
Enumerator MUBLASLT_MATMUL_TILE_184x128
Enumerator MUBLASLT_MATMUL_TILE_184x192
Enumerator MUBLASLT_MATMUL_TILE_184x256
Enumerator MUBLASLT_MATMUL_TILE_192x64
Enumerator MUBLASLT_MATMUL_TILE_192x192
Enumerator MUBLASLT_MATMUL_TILE_192x256
Enumerator MUBLASLT_MATMUL_TILE_200x64
Enumerator MUBLASLT_MATMUL_TILE_200x128
Enumerator MUBLASLT_MATMUL_TILE_200x192
Enumerator MUBLASLT_MATMUL_TILE_208x64
Enumerator MUBLASLT_MATMUL_TILE_208x128
Enumerator MUBLASLT_MATMUL_TILE_208x192
Enumerator MUBLASLT_MATMUL_TILE_216x64
Enumerator MUBLASLT_MATMUL_TILE_216x128
Enumerator MUBLASLT_MATMUL_TILE_216x192
Enumerator MUBLASLT_MATMUL_TILE_224x64
Enumerator MUBLASLT_MATMUL_TILE_224x128
Enumerator MUBLASLT_MATMUL_TILE_224x192
Enumerator MUBLASLT_MATMUL_TILE_232x64
Enumerator MUBLASLT_MATMUL_TILE_232x128
Enumerator MUBLASLT_MATMUL_TILE_232x192
Enumerator MUBLASLT_MATMUL_TILE_240x64
Enumerator MUBLASLT_MATMUL_TILE_240x128
Enumerator MUBLASLT_MATMUL_TILE_240x192
Enumerator MUBLASLT_MATMUL_TILE_248x64
Enumerator MUBLASLT_MATMUL_TILE_248x128
Enumerator MUBLASLT_MATMUL_TILE_248x192
Enumerator MUBLASLT_MATMUL_TILE_256x192
Enumerator MUBLASLT_MATMUL_TILE_264x64
Enumerator MUBLASLT_MATMUL_TILE_264x128
Enumerator MUBLASLT_MATMUL_TILE_272x64
Enumerator MUBLASLT_MATMUL_TILE_272x128
Enumerator MUBLASLT_MATMUL_TILE_280x64
Enumerator MUBLASLT_MATMUL_TILE_280x128
Enumerator MUBLASLT_MATMUL_TILE_288x64
Enumerator MUBLASLT_MATMUL_TILE_288x128
Enumerator MUBLASLT_MATMUL_TILE_296x64
Enumerator MUBLASLT_MATMUL_TILE_296x128
Enumerator MUBLASLT_MATMUL_TILE_304x64
Enumerator MUBLASLT_MATMUL_TILE_304x128
Enumerator MUBLASLT_MATMUL_TILE_312x64
Enumerator MUBLASLT_MATMUL_TILE_312x128
Enumerator MUBLASLT_MATMUL_TILE_320x64
Enumerator MUBLASLT_MATMUL_TILE_320x128
Enumerator MUBLASLT_MATMUL_TILE_328x64
Enumerator MUBLASLT_MATMUL_TILE_328x128
Enumerator MUBLASLT_MATMUL_TILE_336x64
Enumerator MUBLASLT_MATMUL_TILE_336x128
Enumerator MUBLASLT_MATMUL_TILE_344x64
Enumerator MUBLASLT_MATMUL_TILE_344x128
Enumerator MUBLASLT_MATMUL_TILE_352x64
Enumerator MUBLASLT_MATMUL_TILE_352x128
Enumerator MUBLASLT_MATMUL_TILE_360x64
Enumerator MUBLASLT_MATMUL_TILE_360x128
Enumerator MUBLASLT_MATMUL_TILE_368x64
Enumerator MUBLASLT_MATMUL_TILE_368x128
Enumerator MUBLASLT_MATMUL_TILE_376x64
Enumerator MUBLASLT_MATMUL_TILE_376x128
Enumerator MUBLASLT_MATMUL_TILE_384x64
Enumerator MUBLASLT_MATMUL_TILE_384x128
Enumerator MUBLASLT_MATMUL_TILE_392x64
Enumerator MUBLASLT_MATMUL_TILE_400x64
Enumerator MUBLASLT_MATMUL_TILE_408x64
Enumerator MUBLASLT_MATMUL_TILE_416x64
Enumerator MUBLASLT_MATMUL_TILE_424x64
Enumerator MUBLASLT_MATMUL_TILE_432x64
Enumerator MUBLASLT_MATMUL_TILE_440x64
Enumerator MUBLASLT_MATMUL_TILE_448x64
Enumerator MUBLASLT_MATMUL_TILE_456x64
Enumerator MUBLASLT_MATMUL_TILE_464x64
Enumerator MUBLASLT_MATMUL_TILE_472x64
Enumerator MUBLASLT_MATMUL_TILE_480x64
Enumerator MUBLASLT_MATMUL_TILE_488x64
Enumerator MUBLASLT_MATMUL_TILE_496x64
Enumerator MUBLASLT_MATMUL_TILE_504x64
Enumerator MUBLASLT_MATMUL_TILE_520x64
Enumerator MUBLASLT_MATMUL_TILE_528x64
Enumerator MUBLASLT_MATMUL_TILE_536x64
Enumerator MUBLASLT_MATMUL_TILE_544x64
Enumerator MUBLASLT_MATMUL_TILE_552x64
Enumerator MUBLASLT_MATMUL_TILE_560x64
Enumerator MUBLASLT_MATMUL_TILE_568x64
Enumerator MUBLASLT_MATMUL_TILE_576x64
Enumerator MUBLASLT_MATMUL_TILE_584x64
Enumerator MUBLASLT_MATMUL_TILE_592x64
Enumerator MUBLASLT_MATMUL_TILE_600x64
Enumerator MUBLASLT_MATMUL_TILE_608x64
Enumerator MUBLASLT_MATMUL_TILE_616x64
Enumerator MUBLASLT_MATMUL_TILE_624x64
Enumerator MUBLASLT_MATMUL_TILE_632x64
Enumerator MUBLASLT_MATMUL_TILE_640x64
Enumerator MUBLASLT_MATMUL_TILE_648x64
Enumerator MUBLASLT_MATMUL_TILE_656x64
Enumerator MUBLASLT_MATMUL_TILE_664x64
Enumerator MUBLASLT_MATMUL_TILE_672x64
Enumerator MUBLASLT_MATMUL_TILE_680x64
Enumerator MUBLASLT_MATMUL_TILE_688x64
Enumerator MUBLASLT_MATMUL_TILE_696x64
Enumerator MUBLASLT_MATMUL_TILE_704x64
Enumerator MUBLASLT_MATMUL_TILE_712x64
Enumerator MUBLASLT_MATMUL_TILE_720x64
Enumerator MUBLASLT_MATMUL_TILE_728x64
Enumerator MUBLASLT_MATMUL_TILE_736x64
Enumerator MUBLASLT_MATMUL_TILE_744x64
Enumerator MUBLASLT_MATMUL_TILE_752x64
Enumerator MUBLASLT_MATMUL_TILE_760x64
Enumerator MUBLASLT_MATMUL_TILE_768x64
Enumerator MUBLASLT_MATMUL_TILE_64x16
Enumerator MUBLASLT_MATMUL_TILE_64x24
Enumerator MUBLASLT_MATMUL_TILE_64x40
Enumerator MUBLASLT_MATMUL_TILE_64x48
Enumerator MUBLASLT_MATMUL_TILE_64x56
Enumerator MUBLASLT_MATMUL_TILE_64x72
Enumerator MUBLASLT_MATMUL_TILE_64x80
Enumerator MUBLASLT_MATMUL_TILE_64x88
Enumerator MUBLASLT_MATMUL_TILE_64x104
Enumerator MUBLASLT_MATMUL_TILE_64x112
Enumerator MUBLASLT_MATMUL_TILE_64x120
Enumerator MUBLASLT_MATMUL_TILE_64x136
Enumerator MUBLASLT_MATMUL_TILE_64x144
Enumerator MUBLASLT_MATMUL_TILE_64x152
Enumerator MUBLASLT_MATMUL_TILE_64x160
Enumerator MUBLASLT_MATMUL_TILE_64x168
Enumerator MUBLASLT_MATMUL_TILE_64x176
Enumerator MUBLASLT_MATMUL_TILE_64x184
Enumerator MUBLASLT_MATMUL_TILE_64x200
Enumerator MUBLASLT_MATMUL_TILE_64x208
Enumerator MUBLASLT_MATMUL_TILE_64x216
Enumerator MUBLASLT_MATMUL_TILE_64x224
Enumerator MUBLASLT_MATMUL_TILE_64x232
Enumerator MUBLASLT_MATMUL_TILE_64x240
Enumerator MUBLASLT_MATMUL_TILE_64x248
Enumerator MUBLASLT_MATMUL_TILE_64x264
Enumerator MUBLASLT_MATMUL_TILE_64x272
Enumerator MUBLASLT_MATMUL_TILE_64x280
Enumerator MUBLASLT_MATMUL_TILE_64x288
Enumerator MUBLASLT_MATMUL_TILE_64x296
Enumerator MUBLASLT_MATMUL_TILE_64x304
Enumerator MUBLASLT_MATMUL_TILE_64x312
Enumerator MUBLASLT_MATMUL_TILE_64x328
Enumerator MUBLASLT_MATMUL_TILE_64x336
Enumerator MUBLASLT_MATMUL_TILE_64x344
Enumerator MUBLASLT_MATMUL_TILE_64x352
Enumerator MUBLASLT_MATMUL_TILE_64x360
Enumerator MUBLASLT_MATMUL_TILE_64x368
Enumerator MUBLASLT_MATMUL_TILE_64x376
Enumerator MUBLASLT_MATMUL_TILE_64x392
Enumerator MUBLASLT_MATMUL_TILE_64x400
Enumerator MUBLASLT_MATMUL_TILE_64x408
Enumerator MUBLASLT_MATMUL_TILE_64x416
Enumerator MUBLASLT_MATMUL_TILE_64x424
Enumerator MUBLASLT_MATMUL_TILE_64x432
Enumerator MUBLASLT_MATMUL_TILE_64x440
Enumerator MUBLASLT_MATMUL_TILE_64x456
Enumerator MUBLASLT_MATMUL_TILE_64x464
Enumerator MUBLASLT_MATMUL_TILE_64x472
Enumerator MUBLASLT_MATMUL_TILE_64x480
Enumerator MUBLASLT_MATMUL_TILE_64x488
Enumerator MUBLASLT_MATMUL_TILE_64x496
Enumerator MUBLASLT_MATMUL_TILE_64x504
Enumerator MUBLASLT_MATMUL_TILE_64x520
Enumerator MUBLASLT_MATMUL_TILE_64x528
Enumerator MUBLASLT_MATMUL_TILE_64x536
Enumerator MUBLASLT_MATMUL_TILE_64x544
Enumerator MUBLASLT_MATMUL_TILE_64x552
Enumerator MUBLASLT_MATMUL_TILE_64x560
Enumerator MUBLASLT_MATMUL_TILE_64x568
Enumerator MUBLASLT_MATMUL_TILE_64x584
Enumerator MUBLASLT_MATMUL_TILE_64x592
Enumerator MUBLASLT_MATMUL_TILE_64x600
Enumerator MUBLASLT_MATMUL_TILE_64x608
Enumerator MUBLASLT_MATMUL_TILE_64x616
Enumerator MUBLASLT_MATMUL_TILE_64x624
Enumerator MUBLASLT_MATMUL_TILE_64x632
Enumerator MUBLASLT_MATMUL_TILE_64x648
Enumerator MUBLASLT_MATMUL_TILE_64x656
Enumerator MUBLASLT_MATMUL_TILE_64x664
Enumerator MUBLASLT_MATMUL_TILE_64x672
Enumerator MUBLASLT_MATMUL_TILE_64x680
Enumerator MUBLASLT_MATMUL_TILE_64x688
Enumerator MUBLASLT_MATMUL_TILE_64x696
Enumerator MUBLASLT_MATMUL_TILE_64x712
Enumerator MUBLASLT_MATMUL_TILE_64x720
Enumerator MUBLASLT_MATMUL_TILE_64x728
Enumerator MUBLASLT_MATMUL_TILE_64x736
Enumerator MUBLASLT_MATMUL_TILE_64x744
Enumerator MUBLASLT_MATMUL_TILE_64x752
Enumerator MUBLASLT_MATMUL_TILE_64x760
Enumerator MUBLASLT_MATMUL_TILE_128x8
Enumerator MUBLASLT_MATMUL_TILE_128x16
Enumerator MUBLASLT_MATMUL_TILE_128x24
Enumerator MUBLASLT_MATMUL_TILE_128x40
Enumerator MUBLASLT_MATMUL_TILE_128x48
Enumerator MUBLASLT_MATMUL_TILE_128x56
Enumerator MUBLASLT_MATMUL_TILE_128x72
Enumerator MUBLASLT_MATMUL_TILE_128x80
Enumerator MUBLASLT_MATMUL_TILE_128x88
Enumerator MUBLASLT_MATMUL_TILE_128x104
Enumerator MUBLASLT_MATMUL_TILE_128x112
Enumerator MUBLASLT_MATMUL_TILE_128x120
Enumerator MUBLASLT_MATMUL_TILE_128x136
Enumerator MUBLASLT_MATMUL_TILE_128x144
Enumerator MUBLASLT_MATMUL_TILE_128x152
Enumerator MUBLASLT_MATMUL_TILE_128x168
Enumerator MUBLASLT_MATMUL_TILE_128x176
Enumerator MUBLASLT_MATMUL_TILE_128x184
Enumerator MUBLASLT_MATMUL_TILE_128x200
Enumerator MUBLASLT_MATMUL_TILE_128x208
Enumerator MUBLASLT_MATMUL_TILE_128x216
Enumerator MUBLASLT_MATMUL_TILE_128x224
Enumerator MUBLASLT_MATMUL_TILE_128x232
Enumerator MUBLASLT_MATMUL_TILE_128x240
Enumerator MUBLASLT_MATMUL_TILE_128x248
Enumerator MUBLASLT_MATMUL_TILE_128x264
Enumerator MUBLASLT_MATMUL_TILE_128x272
Enumerator MUBLASLT_MATMUL_TILE_128x280
Enumerator MUBLASLT_MATMUL_TILE_128x288
Enumerator MUBLASLT_MATMUL_TILE_128x296
Enumerator MUBLASLT_MATMUL_TILE_128x304
Enumerator MUBLASLT_MATMUL_TILE_128x312
Enumerator MUBLASLT_MATMUL_TILE_128x328
Enumerator MUBLASLT_MATMUL_TILE_128x336
Enumerator MUBLASLT_MATMUL_TILE_128x344
Enumerator MUBLASLT_MATMUL_TILE_128x352
Enumerator MUBLASLT_MATMUL_TILE_128x360
Enumerator MUBLASLT_MATMUL_TILE_128x368
Enumerator MUBLASLT_MATMUL_TILE_128x376
Enumerator MUBLASLT_MATMUL_TILE_128x392
Enumerator MUBLASLT_MATMUL_TILE_128x400
Enumerator MUBLASLT_MATMUL_TILE_128x408
Enumerator MUBLASLT_MATMUL_TILE_128x416
Enumerator MUBLASLT_MATMUL_TILE_128x424
Enumerator MUBLASLT_MATMUL_TILE_128x432
Enumerator MUBLASLT_MATMUL_TILE_128x440
Enumerator MUBLASLT_MATMUL_TILE_128x448
Enumerator MUBLASLT_MATMUL_TILE_128x456
Enumerator MUBLASLT_MATMUL_TILE_128x464
Enumerator MUBLASLT_MATMUL_TILE_128x472
Enumerator MUBLASLT_MATMUL_TILE_128x480
Enumerator MUBLASLT_MATMUL_TILE_128x488
Enumerator MUBLASLT_MATMUL_TILE_128x496
Enumerator MUBLASLT_MATMUL_TILE_128x504
Enumerator MUBLASLT_MATMUL_TILE_128x512
Enumerator MUBLASLT_MATMUL_TILE_192x8
Enumerator MUBLASLT_MATMUL_TILE_192x16
Enumerator MUBLASLT_MATMUL_TILE_192x24
Enumerator MUBLASLT_MATMUL_TILE_192x32
Enumerator MUBLASLT_MATMUL_TILE_192x40
Enumerator MUBLASLT_MATMUL_TILE_192x48
Enumerator MUBLASLT_MATMUL_TILE_192x56
Enumerator MUBLASLT_MATMUL_TILE_192x72
Enumerator MUBLASLT_MATMUL_TILE_192x80
Enumerator MUBLASLT_MATMUL_TILE_192x88
Enumerator MUBLASLT_MATMUL_TILE_192x96
Enumerator MUBLASLT_MATMUL_TILE_192x104
Enumerator MUBLASLT_MATMUL_TILE_192x112
Enumerator MUBLASLT_MATMUL_TILE_192x120
Enumerator MUBLASLT_MATMUL_TILE_192x136
Enumerator MUBLASLT_MATMUL_TILE_192x144
Enumerator MUBLASLT_MATMUL_TILE_192x152
Enumerator MUBLASLT_MATMUL_TILE_192x160
Enumerator MUBLASLT_MATMUL_TILE_192x168
Enumerator MUBLASLT_MATMUL_TILE_192x176
Enumerator MUBLASLT_MATMUL_TILE_192x184
Enumerator MUBLASLT_MATMUL_TILE_192x200
Enumerator MUBLASLT_MATMUL_TILE_192x208
Enumerator MUBLASLT_MATMUL_TILE_192x216
Enumerator MUBLASLT_MATMUL_TILE_192x224
Enumerator MUBLASLT_MATMUL_TILE_192x232
Enumerator MUBLASLT_MATMUL_TILE_192x240
Enumerator MUBLASLT_MATMUL_TILE_192x248
Enumerator MUBLASLT_MATMUL_TILE_192x264
Enumerator MUBLASLT_MATMUL_TILE_192x272
Enumerator MUBLASLT_MATMUL_TILE_192x280
Enumerator MUBLASLT_MATMUL_TILE_192x288
Enumerator MUBLASLT_MATMUL_TILE_192x296
Enumerator MUBLASLT_MATMUL_TILE_192x304
Enumerator MUBLASLT_MATMUL_TILE_192x312
Enumerator MUBLASLT_MATMUL_TILE_192x320
Enumerator MUBLASLT_MATMUL_TILE_192x328
Enumerator MUBLASLT_MATMUL_TILE_192x336
Enumerator MUBLASLT_MATMUL_TILE_256x8
Enumerator MUBLASLT_MATMUL_TILE_256x16
Enumerator MUBLASLT_MATMUL_TILE_256x24
Enumerator MUBLASLT_MATMUL_TILE_256x40
Enumerator MUBLASLT_MATMUL_TILE_256x48
Enumerator MUBLASLT_MATMUL_TILE_256x56
Enumerator MUBLASLT_MATMUL_TILE_256x72
Enumerator MUBLASLT_MATMUL_TILE_256x80
Enumerator MUBLASLT_MATMUL_TILE_256x88
Enumerator MUBLASLT_MATMUL_TILE_256x96
Enumerator MUBLASLT_MATMUL_TILE_256x104
Enumerator MUBLASLT_MATMUL_TILE_256x112
Enumerator MUBLASLT_MATMUL_TILE_256x120
Enumerator MUBLASLT_MATMUL_TILE_256x136
Enumerator MUBLASLT_MATMUL_TILE_256x144
Enumerator MUBLASLT_MATMUL_TILE_256x152
Enumerator MUBLASLT_MATMUL_TILE_256x160
Enumerator MUBLASLT_MATMUL_TILE_256x168
Enumerator MUBLASLT_MATMUL_TILE_256x176
Enumerator MUBLASLT_MATMUL_TILE_256x184
Enumerator MUBLASLT_MATMUL_TILE_256x200
Enumerator MUBLASLT_MATMUL_TILE_256x208
Enumerator MUBLASLT_MATMUL_TILE_256x216
Enumerator MUBLASLT_MATMUL_TILE_256x224
Enumerator MUBLASLT_MATMUL_TILE_256x232
Enumerator MUBLASLT_MATMUL_TILE_256x240
Enumerator MUBLASLT_MATMUL_TILE_256x248
Enumerator MUBLASLT_MATMUL_TILE_256x256
Enumerator MUBLASLT_MATMUL_TILE_320x8
Enumerator MUBLASLT_MATMUL_TILE_320x16
Enumerator MUBLASLT_MATMUL_TILE_320x24
Enumerator MUBLASLT_MATMUL_TILE_320x32
Enumerator MUBLASLT_MATMUL_TILE_320x40
Enumerator MUBLASLT_MATMUL_TILE_320x48
Enumerator MUBLASLT_MATMUL_TILE_320x56
Enumerator MUBLASLT_MATMUL_TILE_320x72
Enumerator MUBLASLT_MATMUL_TILE_320x80
Enumerator MUBLASLT_MATMUL_TILE_320x88
Enumerator MUBLASLT_MATMUL_TILE_320x96
Enumerator MUBLASLT_MATMUL_TILE_320x104
Enumerator MUBLASLT_MATMUL_TILE_320x112
Enumerator MUBLASLT_MATMUL_TILE_320x120
Enumerator MUBLASLT_MATMUL_TILE_320x136
Enumerator MUBLASLT_MATMUL_TILE_320x144
Enumerator MUBLASLT_MATMUL_TILE_320x152
Enumerator MUBLASLT_MATMUL_TILE_320x160
Enumerator MUBLASLT_MATMUL_TILE_320x168
Enumerator MUBLASLT_MATMUL_TILE_320x176
Enumerator MUBLASLT_MATMUL_TILE_320x184
Enumerator MUBLASLT_MATMUL_TILE_320x192
Enumerator MUBLASLT_MATMUL_TILE_320x200
Enumerator MUBLASLT_MATMUL_TILE_384x8
Enumerator MUBLASLT_MATMUL_TILE_384x16
Enumerator MUBLASLT_MATMUL_TILE_384x24
Enumerator MUBLASLT_MATMUL_TILE_384x32
Enumerator MUBLASLT_MATMUL_TILE_384x40
Enumerator MUBLASLT_MATMUL_TILE_384x48
Enumerator MUBLASLT_MATMUL_TILE_384x56
Enumerator MUBLASLT_MATMUL_TILE_384x72
Enumerator MUBLASLT_MATMUL_TILE_384x80
Enumerator MUBLASLT_MATMUL_TILE_384x88
Enumerator MUBLASLT_MATMUL_TILE_384x96
Enumerator MUBLASLT_MATMUL_TILE_384x104
Enumerator MUBLASLT_MATMUL_TILE_384x112
Enumerator MUBLASLT_MATMUL_TILE_384x120
Enumerator MUBLASLT_MATMUL_TILE_384x136
Enumerator MUBLASLT_MATMUL_TILE_384x144
Enumerator MUBLASLT_MATMUL_TILE_384x152
Enumerator MUBLASLT_MATMUL_TILE_384x160
Enumerator MUBLASLT_MATMUL_TILE_384x168
Enumerator MUBLASLT_MATMUL_TILE_448x8
Enumerator MUBLASLT_MATMUL_TILE_448x16
Enumerator MUBLASLT_MATMUL_TILE_448x24
Enumerator MUBLASLT_MATMUL_TILE_448x32
Enumerator MUBLASLT_MATMUL_TILE_448x40
Enumerator MUBLASLT_MATMUL_TILE_448x48
Enumerator MUBLASLT_MATMUL_TILE_448x56
Enumerator MUBLASLT_MATMUL_TILE_448x72
Enumerator MUBLASLT_MATMUL_TILE_448x80
Enumerator MUBLASLT_MATMUL_TILE_448x88
Enumerator MUBLASLT_MATMUL_TILE_448x96
Enumerator MUBLASLT_MATMUL_TILE_448x104
Enumerator MUBLASLT_MATMUL_TILE_448x112
Enumerator MUBLASLT_MATMUL_TILE_448x120
Enumerator MUBLASLT_MATMUL_TILE_448x128
Enumerator MUBLASLT_MATMUL_TILE_448x136
Enumerator MUBLASLT_MATMUL_TILE_448x144
Enumerator MUBLASLT_MATMUL_TILE_512x8
Enumerator MUBLASLT_MATMUL_TILE_512x16
Enumerator MUBLASLT_MATMUL_TILE_512x24
Enumerator MUBLASLT_MATMUL_TILE_512x32
Enumerator MUBLASLT_MATMUL_TILE_512x40
Enumerator MUBLASLT_MATMUL_TILE_512x48
Enumerator MUBLASLT_MATMUL_TILE_512x56
Enumerator MUBLASLT_MATMUL_TILE_512x72
Enumerator MUBLASLT_MATMUL_TILE_512x80
Enumerator MUBLASLT_MATMUL_TILE_512x88
Enumerator MUBLASLT_MATMUL_TILE_512x96
Enumerator MUBLASLT_MATMUL_TILE_512x104
Enumerator MUBLASLT_MATMUL_TILE_512x112
Enumerator MUBLASLT_MATMUL_TILE_512x120
Enumerator MUBLASLT_MATMUL_TILE_512x128
Enumerator MUBLASLT_MATMUL_TILE_576x8
Enumerator MUBLASLT_MATMUL_TILE_576x16
Enumerator MUBLASLT_MATMUL_TILE_576x24
Enumerator MUBLASLT_MATMUL_TILE_576x32
Enumerator MUBLASLT_MATMUL_TILE_576x40
Enumerator MUBLASLT_MATMUL_TILE_576x48
Enumerator MUBLASLT_MATMUL_TILE_576x56
Enumerator MUBLASLT_MATMUL_TILE_576x72
Enumerator MUBLASLT_MATMUL_TILE_576x80
Enumerator MUBLASLT_MATMUL_TILE_576x88
Enumerator MUBLASLT_MATMUL_TILE_576x96
Enumerator MUBLASLT_MATMUL_TILE_576x104
Enumerator MUBLASLT_MATMUL_TILE_576x112
Enumerator MUBLASLT_MATMUL_TILE_640x8
Enumerator MUBLASLT_MATMUL_TILE_640x16
Enumerator MUBLASLT_MATMUL_TILE_640x24
Enumerator MUBLASLT_MATMUL_TILE_640x32
Enumerator MUBLASLT_MATMUL_TILE_640x40
Enumerator MUBLASLT_MATMUL_TILE_640x48
Enumerator MUBLASLT_MATMUL_TILE_640x56
Enumerator MUBLASLT_MATMUL_TILE_640x72
Enumerator MUBLASLT_MATMUL_TILE_640x80
Enumerator MUBLASLT_MATMUL_TILE_640x88
Enumerator MUBLASLT_MATMUL_TILE_640x96
Enumerator MUBLASLT_MATMUL_TILE_704x8
Enumerator MUBLASLT_MATMUL_TILE_704x16
Enumerator MUBLASLT_MATMUL_TILE_704x24
Enumerator MUBLASLT_MATMUL_TILE_704x32
Enumerator MUBLASLT_MATMUL_TILE_704x40
Enumerator MUBLASLT_MATMUL_TILE_704x48
Enumerator MUBLASLT_MATMUL_TILE_704x56
Enumerator MUBLASLT_MATMUL_TILE_704x72
Enumerator MUBLASLT_MATMUL_TILE_704x80
Enumerator MUBLASLT_MATMUL_TILE_704x88
Enumerator MUBLASLT_MATMUL_TILE_768x8
Enumerator MUBLASLT_MATMUL_TILE_768x16
Enumerator MUBLASLT_MATMUL_TILE_768x24
Enumerator MUBLASLT_MATMUL_TILE_768x32
Enumerator MUBLASLT_MATMUL_TILE_768x40
Enumerator MUBLASLT_MATMUL_TILE_768x48
Enumerator MUBLASLT_MATMUL_TILE_768x56
Enumerator MUBLASLT_MATMUL_TILE_768x72
Enumerator MUBLASLT_MATMUL_TILE_768x80
Enumerator MUBLASLT_MATMUL_TILE_256x512
Enumerator MUBLASLT_MATMUL_TILE_256x1024
Enumerator MUBLASLT_MATMUL_TILE_512x512
Enumerator MUBLASLT_MATMUL_TILE_512x1024
Enumerator MUBLASLT_MATMUL_TILE_END
Enumeration type mublasLtMatmulStages_t
Definition: mublasLt.h (line 772)
enum mublasLtMatmulStages_t {
MUBLASLT_MATMUL_STAGES_UNDEFINED = 0,
MUBLASLT_MATMUL_STAGES_16x1 = 1,
MUBLASLT_MATMUL_STAGES_16x2 = 2,
MUBLASLT_MATMUL_STAGES_16x3 = 3,
MUBLASLT_MATMUL_STAGES_16x4 = 4,
MUBLASLT_MATMUL_STAGES_16x5 = 5,
MUBLASLT_MATMUL_STAGES_16x6 = 6,
MUBLASLT_MATMUL_STAGES_32x1 = 7,
MUBLASLT_MATMUL_STAGES_32x2 = 8,
MUBLASLT_MATMUL_STAGES_32x3 = 9,
MUBLASLT_MATMUL_STAGES_32x4 = 10,
MUBLASLT_MATMUL_STAGES_32x5 = 11,
MUBLASLT_MATMUL_STAGES_32x6 = 12,
MUBLASLT_MATMUL_STAGES_64x1 = 13,
MUBLASLT_MATMUL_STAGES_64x2 = 14,
MUBLASLT_MATMUL_STAGES_64x3 = 15,
MUBLASLT_MATMUL_STAGES_64x4 = 16,
MUBLASLT_MATMUL_STAGES_64x5 = 17,
MUBLASLT_MATMUL_STAGES_64x6 = 18,
MUBLASLT_MATMUL_STAGES_128x1 = 19,
MUBLASLT_MATMUL_STAGES_128x2 = 20,
MUBLASLT_MATMUL_STAGES_128x3 = 21,
MUBLASLT_MATMUL_STAGES_128x4 = 22,
MUBLASLT_MATMUL_STAGES_128x5 = 23,
MUBLASLT_MATMUL_STAGES_128x6 = 24,
MUBLASLT_MATMUL_STAGES_32x10 = 25,
MUBLASLT_MATMUL_STAGES_8x4 = 26,
MUBLASLT_MATMUL_STAGES_16x10 = 27,
MUBLASLT_MATMUL_STAGES_8x5 = 28,
MUBLASLT_MATMUL_STAGES_8x3 = 31,
MUBLASLT_MATMUL_STAGES_8xAUTO = 32,
MUBLASLT_MATMUL_STAGES_16xAUTO = 33,
MUBLASLT_MATMUL_STAGES_32xAUTO = 34,
MUBLASLT_MATMUL_STAGES_64xAUTO = 35,
MUBLASLT_MATMUL_STAGES_128xAUTO = 36,
MUBLASLT_MATMUL_STAGES_256xAUTO = 37,
MUBLASLT_MATMUL_STAGES_768xAUTO = 38,
MUBLASLT_MATMUL_STAGES_END
}
Size and number of stages in which elements are read into shared memory
General order of stages IDs is sorted by stage size first and by number of stages second.
Enumerator MUBLASLT_MATMUL_STAGES_UNDEFINED
Enumerator MUBLASLT_MATMUL_STAGES_16x1
Enumerator MUBLASLT_MATMUL_STAGES_16x2
Enumerator MUBLASLT_MATMUL_STAGES_16x3
Enumerator MUBLASLT_MATMUL_STAGES_16x4
Enumerator MUBLASLT_MATMUL_STAGES_16x5
Enumerator MUBLASLT_MATMUL_STAGES_16x6
Enumerator MUBLASLT_MATMUL_STAGES_32x1
Enumerator MUBLASLT_MATMUL_STAGES_32x2
Enumerator MUBLASLT_MATMUL_STAGES_32x3
Enumerator MUBLASLT_MATMUL_STAGES_32x4
Enumerator MUBLASLT_MATMUL_STAGES_32x5
Enumerator MUBLASLT_MATMUL_STAGES_32x6
Enumerator MUBLASLT_MATMUL_STAGES_64x1
Enumerator MUBLASLT_MATMUL_STAGES_64x2
Enumerator MUBLASLT_MATMUL_STAGES_64x3
Enumerator MUBLASLT_MATMUL_STAGES_64x4
Enumerator MUBLASLT_MATMUL_STAGES_64x5
Enumerator MUBLASLT_MATMUL_STAGES_64x6
Enumerator MUBLASLT_MATMUL_STAGES_128x1
Enumerator MUBLASLT_MATMUL_STAGES_128x2
Enumerator MUBLASLT_MATMUL_STAGES_128x3
Enumerator MUBLASLT_MATMUL_STAGES_128x4
Enumerator MUBLASLT_MATMUL_STAGES_128x5
Enumerator MUBLASLT_MATMUL_STAGES_128x6
Enumerator MUBLASLT_MATMUL_STAGES_32x10
Enumerator MUBLASLT_MATMUL_STAGES_8x4
Enumerator MUBLASLT_MATMUL_STAGES_16x10
Enumerator MUBLASLT_MATMUL_STAGES_8x5
Enumerator MUBLASLT_MATMUL_STAGES_8x3
Enumerator MUBLASLT_MATMUL_STAGES_8xAUTO
Enumerator MUBLASLT_MATMUL_STAGES_16xAUTO
Enumerator MUBLASLT_MATMUL_STAGES_32xAUTO
Enumerator MUBLASLT_MATMUL_STAGES_64xAUTO
Enumerator MUBLASLT_MATMUL_STAGES_128xAUTO
Enumerator MUBLASLT_MATMUL_STAGES_256xAUTO
Enumerator MUBLASLT_MATMUL_STAGES_768xAUTO
Enumerator MUBLASLT_MATMUL_STAGES_END
Enumeration type mublasLtClusterShape_t
Definition: mublasLt.h (line 818)
enum mublasLtClusterShape_t {
MUBLASLT_CLUSTER_SHAPE_AUTO = 0,
MUBLASLT_CLUSTER_SHAPE_1x1x1 = 2,
MUBLASLT_CLUSTER_SHAPE_2x1x1 = 3,
MUBLASLT_CLUSTER_SHAPE_4x1x1 = 4,
MUBLASLT_CLUSTER_SHAPE_1x2x1 = 5,
MUBLASLT_CLUSTER_SHAPE_2x2x1 = 6,
MUBLASLT_CLUSTER_SHAPE_4x2x1 = 7,
MUBLASLT_CLUSTER_SHAPE_1x4x1 = 8,
MUBLASLT_CLUSTER_SHAPE_2x4x1 = 9,
MUBLASLT_CLUSTER_SHAPE_4x4x1 = 10,
MUBLASLT_CLUSTER_SHAPE_8x1x1 = 11,
MUBLASLT_CLUSTER_SHAPE_1x8x1 = 12,
MUBLASLT_CLUSTER_SHAPE_8x2x1 = 13,
MUBLASLT_CLUSTER_SHAPE_2x8x1 = 14,
MUBLASLT_CLUSTER_SHAPE_16x1x1 = 15,
MUBLASLT_CLUSTER_SHAPE_1x16x1 = 16,
MUBLASLT_CLUSTER_SHAPE_3x1x1 = 17,
MUBLASLT_CLUSTER_SHAPE_5x1x1 = 18,
MUBLASLT_CLUSTER_SHAPE_6x1x1 = 19,
MUBLASLT_CLUSTER_SHAPE_7x1x1 = 20,
MUBLASLT_CLUSTER_SHAPE_9x1x1 = 21,
MUBLASLT_CLUSTER_SHAPE_10x1x1 = 22,
MUBLASLT_CLUSTER_SHAPE_11x1x1 = 23,
MUBLASLT_CLUSTER_SHAPE_12x1x1 = 24,
MUBLASLT_CLUSTER_SHAPE_13x1x1 = 25,
MUBLASLT_CLUSTER_SHAPE_14x1x1 = 26,
MUBLASLT_CLUSTER_SHAPE_15x1x1 = 27,
MUBLASLT_CLUSTER_SHAPE_3x2x1 = 28,
MUBLASLT_CLUSTER_SHAPE_5x2x1 = 29,
MUBLASLT_CLUSTER_SHAPE_6x2x1 = 30,
MUBLASLT_CLUSTER_SHAPE_7x2x1 = 31,
MUBLASLT_CLUSTER_SHAPE_1x3x1 = 32,
MUBLASLT_CLUSTER_SHAPE_2x3x1 = 33,
MUBLASLT_CLUSTER_SHAPE_3x3x1 = 34,
MUBLASLT_CLUSTER_SHAPE_4x3x1 = 35,
MUBLASLT_CLUSTER_SHAPE_5x3x1 = 36,
MUBLASLT_CLUSTER_SHAPE_3x4x1 = 37,
MUBLASLT_CLUSTER_SHAPE_1x5x1 = 38,
MUBLASLT_CLUSTER_SHAPE_2x5x1 = 39,
MUBLASLT_CLUSTER_SHAPE_3x5x1 = 40,
MUBLASLT_CLUSTER_SHAPE_1x6x1 = 41,
MUBLASLT_CLUSTER_SHAPE_2x6x1 = 42,
MUBLASLT_CLUSTER_SHAPE_1x7x1 = 43,
MUBLASLT_CLUSTER_SHAPE_2x7x1 = 44,
MUBLASLT_CLUSTER_SHAPE_1x9x1 = 45,
MUBLASLT_CLUSTER_SHAPE_1x10x1 = 46,
MUBLASLT_CLUSTER_SHAPE_1x11x1 = 47,
MUBLASLT_CLUSTER_SHAPE_1x12x1 = 48,
MUBLASLT_CLUSTER_SHAPE_1x13x1 = 49,
MUBLASLT_CLUSTER_SHAPE_1x14x1 = 50,
MUBLASLT_CLUSTER_SHAPE_1x15x1 = 51,
MUBLASLT_CLUSTER_SHAPE_END
}
Thread Block Cluster size
Typically dimensioned similar to mublasLtMatmulTile_t, with the third coordinate unused at this time.
Enumerator MUBLASLT_CLUSTER_SHAPE_AUTO
Let library pick cluster shape automatically
Enumerator MUBLASLT_CLUSTER_SHAPE_1x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_4x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_4x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x4x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x4x1
Enumerator MUBLASLT_CLUSTER_SHAPE_4x4x1
Enumerator MUBLASLT_CLUSTER_SHAPE_8x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x8x1
Enumerator MUBLASLT_CLUSTER_SHAPE_8x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x8x1
Enumerator MUBLASLT_CLUSTER_SHAPE_16x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x16x1
Enumerator MUBLASLT_CLUSTER_SHAPE_3x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_5x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_6x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_7x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_9x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_10x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_11x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_12x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_13x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_14x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_15x1x1
Enumerator MUBLASLT_CLUSTER_SHAPE_3x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_5x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_6x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_7x2x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x3x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x3x1
Enumerator MUBLASLT_CLUSTER_SHAPE_3x3x1
Enumerator MUBLASLT_CLUSTER_SHAPE_4x3x1
Enumerator MUBLASLT_CLUSTER_SHAPE_5x3x1
Enumerator MUBLASLT_CLUSTER_SHAPE_3x4x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x5x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x5x1
Enumerator MUBLASLT_CLUSTER_SHAPE_3x5x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x6x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x6x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x7x1
Enumerator MUBLASLT_CLUSTER_SHAPE_2x7x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x9x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x10x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x11x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x12x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x13x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x14x1
Enumerator MUBLASLT_CLUSTER_SHAPE_1x15x1
Enumerator MUBLASLT_CLUSTER_SHAPE_END
Enumeration type mublasLtMatmulInnerShape_t
Definition: mublasLt.h (line 881)
enum mublasLtMatmulInnerShape_t {
MUBLASLT_MATMUL_INNER_SHAPE_UNDEFINED = 0,
MUBLASLT_MATMUL_INNER_SHAPE_MMA884 = 1,
MUBLASLT_MATMUL_INNER_SHAPE_MMA1684 = 2,
MUBLASLT_MATMUL_INNER_SHAPE_MMA1688 = 3,
MUBLASLT_MATMUL_INNER_SHAPE_MMA16816 = 4,
MUBLASLT_MATMUL_INNER_SHAPE_END
}
Inner size of the kernel
Represents various aspects of internal kernel design, that don't impact MUSA grid size but may have other more subtle effects.
Enumerator MUBLASLT_MATMUL_INNER_SHAPE_UNDEFINED
Enumerator MUBLASLT_MATMUL_INNER_SHAPE_MMA884
Enumerator MUBLASLT_MATMUL_INNER_SHAPE_MMA1684
Enumerator MUBLASLT_MATMUL_INNER_SHAPE_MMA1688
Enumerator MUBLASLT_MATMUL_INNER_SHAPE_MMA16816
Enumerator MUBLASLT_MATMUL_INNER_SHAPE_END
Enumeration type mublasLtMatmulMatrixScale_t
Definition: mublasLt.h (line 892)
enum mublasLtMatmulMatrixScale_t {
MUBLASLT_MATMUL_MATRIX_SCALE_SCALAR_32F = 0,
MUBLASLT_MATMUL_MATRIX_SCALE_VEC16_UE4M3 = 1,
MUBLASLT_MATMUL_MATRIX_SCALE_VEC32_UE8M0 = 2,
MUBLASLT_MATMUL_MATRIX_SCALE_OUTER_VEC_32F = 3,
MUBLASLT_MATMUL_MATRIX_SCALE_VEC128_32F = 4,
MUBLASLT_MATMUL_MATRIX_SCALE_BLK128x128_32F = 5,
MUBLASLT_MATMUL_MATRIX_SCALE_PER_BATCH_SCALAR_32F = 6,
MUBLASLT_MATMUL_MATRIX_SCALE_END
}
Scaling mode for per-matrix scaling. See documentation for layout information.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_SCALAR_32F
Scaling factors are single precision scalars applied to the whole tensor.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_VEC16_UE4M3
Scaling factors are tensors that contain a dedicated scaling factor stored as an 8-bit MUSA_R_8F_UE4M3 value for each 16-element block in the innermost dimension of the corresponding data tensor.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_VEC32_UE8M0
Same as above, except that scaling factor tensor elements have type MUSA_R_8F_UE8M0 and the block size is 32 elements.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_OUTER_VEC_32F
Scaling factors are vectors of MUSA_R_32F values. This mode is only applicable to matrices A and B, in which case the vectors are expected to have M and N elements respectively, and each (i, j)-th element of product of A and B is multiplied by i-th element of A scale and j-th element of B scale.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_VEC128_32F
Scaling factors are tensors that contain a dedicated MUSA_R_32F scaling factor for each 128-element block in the innermost dimension of the corresponding data tensor.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_BLK128x128_32F
Scaling factors are tensors that contain a dedicated MUSA_R_32F scaling factor for each 128x128-element block in the the corresponding data tensor.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_PER_BATCH_SCALAR_32F
Experimental: Scaling factors are single precision scalars applied to the whole tensor. Each batch has its own scaling factor.
Enumerator MUBLASLT_MATMUL_MATRIX_SCALE_END
Enumeration type mublasLtPointerMode_t
Definition: mublasLt.h (line 920)
enum mublasLtPointerMode_t {
MUBLASLT_POINTER_MODE_HOST = MUBLAS_POINTER_MODE_HOST,
MUBLASLT_POINTER_MODE_DEVICE = MUBLAS_POINTER_MODE_DEVICE,
MUBLASLT_POINTER_MODE_DEVICE_VECTOR = 2,
MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_ZERO = 3,
MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_HOST = 4
}
Pointer mode to use for alpha/beta
Enumerator MUBLASLT_POINTER_MODE_HOST
matches MUBLAS_POINTER_MODE_HOST, pointer targets a single value host memory
Enumerator MUBLASLT_POINTER_MODE_DEVICE
matches MUBLAS_POINTER_MODE_DEVICE, pointer targets a single value device memory
Enumerator MUBLASLT_POINTER_MODE_DEVICE_VECTOR
pointer targets an array in device memory
Enumerator MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_ZERO
alpha pointer targets an array in device memory, beta is zero. Note: MUBLASLT_MATMUL_DESC_ALPHA_VECTOR_BATCH_STRIDE is not supported, must be 0.
Enumerator MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_HOST
alpha pointer targets an array in device memory, beta is a single value in host memory.
Enumeration type mublasLtPointerModeMask_t
Definition: mublasLt.h (line 936)
enum mublasLtPointerModeMask_t {
MUBLASLT_POINTER_MODE_MASK_HOST = 1,
MUBLASLT_POINTER_MODE_MASK_DEVICE = 2,
MUBLASLT_POINTER_MODE_MASK_DEVICE_VECTOR = 4,
MUBLASLT_POINTER_MODE_MASK_ALPHA_DEVICE_VECTOR_BETA_ZERO = 8,
MUBLASLT_POINTER_MODE_MASK_ALPHA_DEVICE_VECTOR_BETA_HOST = 16
}
Mask to define pointer mode capability
Enumerator MUBLASLT_POINTER_MODE_MASK_HOST
see MUBLASLT_POINTER_MODE_HOST
Enumerator MUBLASLT_POINTER_MODE_MASK_DEVICE
see MUBLASLT_POINTER_MODE_DEVICE
Enumerator MUBLASLT_POINTER_MODE_MASK_DEVICE_VECTOR
see MUBLASLT_POINTER_MODE_DEVICE_VECTOR
Enumerator MUBLASLT_POINTER_MODE_MASK_ALPHA_DEVICE_VECTOR_BETA_ZERO
see MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_ZERO
Enumerator MUBLASLT_POINTER_MODE_MASK_ALPHA_DEVICE_VECTOR_BETA_HOST
see MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_HOST
Enumeration type mublasLtOrder_t
Definition: mublasLt.h (line 1036)
enum mublasLtOrder_t {
MUBLASLT_ORDER_COL = 0,
MUBLASLT_ORDER_ROW = 1,
MUBLASLT_ORDER_COL32 = 2,
MUBLASLT_ORDER_COL4_4R2_8C = 3,
MUBLASLT_ORDER_COL32_2R_4R4 = 4
}
Enum for data ordering
Enumerator MUBLASLT_ORDER_COL
Column-major
Leading dimension is the stride (in elements) to the beginning of next column in memory.
Enumerator MUBLASLT_ORDER_ROW
Row major
Leading dimension is the stride (in elements) to the beginning of next row in memory.
Enumerator MUBLASLT_ORDER_COL32
Column-major ordered tiles of 32 columns.
Leading dimension is the stride (in elements) to the beginning of next group of 32-columns. E.g. if matrix has 33 columns and 2 rows, ld must be at least (32) * 2 = 64.
Enumerator MUBLASLT_ORDER_COL4_4R2_8C
Column-major ordered tiles of composite tiles with total 32 columns and 8 rows, tile composed of interleaved inner tiles of 4 columns within 4 even or odd rows in an alternating pattern.
Leading dimension is the stride (in elements) to the beginning of the first 32 column x 8 row tile for the next 32-wide group of columns. E.g. if matrix has 33 columns and 1 row, ld must be at least (32 * 8) * 1 = 256.
Enumerator MUBLASLT_ORDER_COL32_2R_4R4
Column-major ordered tiles of composite tiles with total 32 columns ands 32 rows. Element offset within the tile is calculated as (((row%8)/2*4+row/8)*2+row%2)*32+col.
Leading dimension is the stride (in elements) to the beginning of the first 32 column x 32 row tile for the next 32-wide group of columns. E.g. if matrix has 33 columns and 1 row, ld must be at least (32*32)*1 = 1024.
Enumeration type mublasLtBatchMode_t
Definition: mublasLt.h (line 1072)
enum mublasLtBatchMode_t {
MUBLASLT_BATCH_MODE_STRIDED = 0,
MUBLASLT_BATCH_MODE_POINTER_ARRAY = 1,
MUBLASLT_BATCH_MODE_GROUPED = 2
}
Enum for batch mode
Enumerator MUBLASLT_BATCH_MODE_STRIDED
Strided
The matrices of each instance of the batch are located at fixed offsets in number of elements from their locations in the previous instance.
Enumerator MUBLASLT_BATCH_MODE_POINTER_ARRAY
Pointer array
The address of the matrix of each instance of the batch are read from arrays of pointers.
Enumerator MUBLASLT_BATCH_MODE_GROUPED
Grouped
Experimental: The address of the matrix of each instance of the group are read from device arrays of pointers. Each group can have different columns, rows, and leading dimensions. The shapes are read from device arrays of pointers.
Enumeration type mublasLtIntegerWidth_t
Definition: mublasLt.h (line 1095)
enum mublasLtIntegerWidth_t {
MUBLASLT_INTEGER_WIDTH_32 = 0,
MUBLASLT_INTEGER_WIDTH_64 = 1
}
Experimental: Enum for integer width of array pointer elements
Enumerator MUBLASLT_INTEGER_WIDTH_32
32-bit integer width
Enumerator MUBLASLT_INTEGER_WIDTH_64
64-bit integer width
Enumeration type mublasLtMatrixLayoutAttribute_t
Definition: mublasLt.h (line 1104)
enum mublasLtMatrixLayoutAttribute_t {
MUBLASLT_MATRIX_LAYOUT_TYPE = 0,
MUBLASLT_MATRIX_LAYOUT_ORDER = 1,
MUBLASLT_MATRIX_LAYOUT_ROWS = 2,
MUBLASLT_MATRIX_LAYOUT_COLS = 3,
MUBLASLT_MATRIX_LAYOUT_LD = 4,
MUBLASLT_MATRIX_LAYOUT_BATCH_COUNT = 5,
MUBLASLT_MATRIX_LAYOUT_STRIDED_BATCH_OFFSET = 6,
MUBLASLT_MATRIX_LAYOUT_PLANE_OFFSET = 7,
MUBLASLT_MATRIX_LAYOUT_BATCH_MODE = 8,
MUBLASLT_GROUPED_MATRIX_LAYOUT_ROWS_ARRAY = 9,
MUBLASLT_GROUPED_MATRIX_LAYOUT_COLS_ARRAY = 10,
MUBLASLT_GROUPED_MATRIX_LAYOUT_LD_ARRAY = 11,
MUBLASLT_GROUPED_MATRIX_LAYOUT_ROWS_COLS_ARRAY_INTEGER_WIDTH = 12,
MUBLASLT_GROUPED_MATRIX_LAYOUT_LD_ARRAY_INTEGER_WIDTH = 13
}
Attributes of memory layout
Enumerator MUBLASLT_MATRIX_LAYOUT_TYPE
Data type, see musaDataType.
uint32_t
Enumerator MUBLASLT_MATRIX_LAYOUT_ORDER
Memory order of the data, see mublasLtOrder_t.
int32_t, default: MUBLASLT_ORDER_COL
Enumerator MUBLASLT_MATRIX_LAYOUT_ROWS
Number of rows.
Usually only values that can be expressed as int32_t are supported.
uint64_t
Enumerator MUBLASLT_MATRIX_LAYOUT_COLS
Number of columns.
Usually only values that can be expressed as int32_t are supported.
uint64_t
Enumerator MUBLASLT_MATRIX_LAYOUT_LD
Matrix leading dimension.
For MUBLASLT_ORDER_COL this is stride (in elements) of matrix column, for more details and documentation for other memory orders see documentation for mublasLtOrder_t values.
Currently only non-negative values are supported, must be large enough so that matrix memory locations are not overlapping (e.g. greater or equal to MUBLASLT_MATRIX_LAYOUT_ROWS in case of MUBLASLT_ORDER_COL).
int64_t;
Enumerator MUBLASLT_MATRIX_LAYOUT_BATCH_COUNT
Number of matmul operations to perform in the batch.
See also MUBLASLT_ALGO_CAP_STRIDED_BATCH_SUPPORT, MUBLASLT_ALGO_CAP_POINTER_ARRAY_BATCH_SUPPORT, and MUBLASLT_ALGO_CAP_POINTER_ARRAY_GROUPED_SUPPORT
int32_t, default: 1
Enumerator MUBLASLT_MATRIX_LAYOUT_STRIDED_BATCH_OFFSET
Stride (in elements) to the next matrix for strided batch operation.
When matrix type is planar-complex (MUBLASLT_MATRIX_LAYOUT_PLANE_OFFSET != 0), batch stride is interpreted by mublasLtMatmul() in number of real valued sub-elements. E.g. for data of type MUSA_C_16F, offset of 1024B is encoded as a stride of value 512 (since each element of the real and imaginary matrices is a 2B (16bit) floating point type).
NOTE: A bug in mublasLtMatrixTransform() causes it to interpret the batch stride for a planar-complex matrix as if it was specified in number of complex elements. Therefore an offset of 1024B must be encoded as stride value 256 when calling mublasLtMatrixTransform() (each complex element is 4B with real and imaginary values 2B each). This behavior is expected to be corrected in the next major mublas version.
int64_t, default: 0
Enumerator MUBLASLT_MATRIX_LAYOUT_PLANE_OFFSET
Stride (in bytes) to the imaginary plane for planar complex layout.
int64_t, default: 0 - 0 means that layout is regular (real and imaginary parts of complex numbers are interleaved in memory in each element)
Enumerator MUBLASLT_MATRIX_LAYOUT_BATCH_MODE
Batch mode.
uint32_t, default: 0 - 0 means that batch mode is MUBLASLT_BATCH_MODE_STRIDED.
Enumerator MUBLASLT_GROUPED_MATRIX_LAYOUT_ROWS_ARRAY
Experimental: Device pointer to array of rows.
int64_t*, default: NULL
Enumerator MUBLASLT_GROUPED_MATRIX_LAYOUT_COLS_ARRAY
Experimental: Device pointer to array of columns.
int64_t*, default: NULL
Enumerator MUBLASLT_GROUPED_MATRIX_LAYOUT_LD_ARRAY
Experimental: Device pointer to array of leading dimensions.
int64_t*, default: NULL
Enumerator MUBLASLT_GROUPED_MATRIX_LAYOUT_ROWS_COLS_ARRAY_INTEGER_WIDTH
Experimental: Int width for rows and cols arrays.
int32_t, default: MUBLASLT_INTEGER_WIDTH_32. See mublasLtIntegerWidth_t for possible values.
Enumerator MUBLASLT_GROUPED_MATRIX_LAYOUT_LD_ARRAY_INTEGER_WIDTH
Experimental: Int width for ld arrays.
int32_t, default: MUBLASLT_INTEGER_WIDTH_32. See mublasLtIntegerWidth_t for possible values.
Enumeration type mublasLtMatmulDescAttributes_t
Definition: mublasLt.h (line 1299)
enum mublasLtMatmulDescAttributes_t {
MUBLASLT_MATMUL_DESC_COMPUTE_TYPE = 0,
MUBLASLT_MATMUL_DESC_SCALE_TYPE = 1,
MUBLASLT_MATMUL_DESC_POINTER_MODE = 2,
MUBLASLT_MATMUL_DESC_TRANSA = 3,
MUBLASLT_MATMUL_DESC_TRANSB = 4,
MUBLASLT_MATMUL_DESC_TRANSC = 5,
MUBLASLT_MATMUL_DESC_FILL_MODE = 6,
MUBLASLT_MATMUL_DESC_EPILOGUE = 7,
MUBLASLT_MATMUL_DESC_BIAS_POINTER = 8,
MUBLASLT_MATMUL_DESC_BIAS_BATCH_STRIDE = 10,
MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER = 11,
MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_LD = 12,
MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_BATCH_STRIDE = 13,
MUBLASLT_MATMUL_DESC_ALPHA_VECTOR_BATCH_STRIDE = 14,
MUBLASLT_MATMUL_DESC_SM_COUNT_TARGET = 15,
MUBLASLT_MATMUL_DESC_A_SCALE_POINTER = 17,
MUBLASLT_MATMUL_DESC_B_SCALE_POINTER = 18,
MUBLASLT_MATMUL_DESC_C_SCALE_POINTER = 19,
MUBLASLT_MATMUL_DESC_D_SCALE_POINTER = 20,
MUBLASLT_MATMUL_DESC_AMAX_D_POINTER = 21,
MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_DATA_TYPE = 22,
MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_SCALE_POINTER = 23,
MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_AMAX_POINTER = 24,
MUBLASLT_MATMUL_DESC_FAST_ACCUM = 25,
MUBLASLT_MATMUL_DESC_BIAS_DATA_TYPE = 26,
MUBLASLT_MATMUL_DESC_A_SCALE_MODE = 31,
MUBLASLT_MATMUL_DESC_B_SCALE_MODE = 32,
MUBLASLT_MATMUL_DESC_C_SCALE_MODE = 33,
MUBLASLT_MATMUL_DESC_D_SCALE_MODE = 34,
MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_SCALE_MODE = 35,
MUBLASLT_MATMUL_DESC_D_OUT_SCALE_POINTER = 36,
MUBLASLT_MATMUL_DESC_D_OUT_SCALE_MODE = 37,
MUBLASLT_MATMUL_DESC_EMULATION_DESCRIPTOR = 38,
MUBLASLT_MATMUL_DESC_ALPHA_BATCH_STRIDE = 39,
MUBLASLT_MATMUL_DESC_BETA_BATCH_STRIDE = 40
}
Matmul descriptor attributes to define details of the operation.
Enumerator MUBLASLT_MATMUL_DESC_COMPUTE_TYPE
Compute type, see musaDataType. Defines data type used for multiply and accumulate operations and the accumulator during matrix multiplication.
int32_t
Enumerator MUBLASLT_MATMUL_DESC_SCALE_TYPE
Scale type, see musaDataType. Defines data type of alpha and beta. Accumulator and value from matrix C are typically converted to scale type before final scaling. Value is then converted from scale type to type of matrix D before being stored in memory.
int32_t, default: same as MUBLASLT_MATMUL_DESC_COMPUTE_TYPE
Enumerator MUBLASLT_MATMUL_DESC_POINTER_MODE
Pointer mode of alpha and beta, see mublasLtPointerMode_t. When MUBLASLT_POINTER_MODE_DEVICE_VECTOR is in use, alpha/beta vector lenghts must match number of output matrix rows.
int32_t, default: MUBLASLT_POINTER_MODE_HOST
Enumerator MUBLASLT_MATMUL_DESC_TRANSA
Transform of matrix A, see mublasOperation_t.
int32_t, default: MUBLAS_OP_N
Enumerator MUBLASLT_MATMUL_DESC_TRANSB
Transform of matrix B, see mublasOperation_t.
int32_t, default: MUBLAS_OP_N
Enumerator MUBLASLT_MATMUL_DESC_TRANSC
Transform of matrix C, see mublasOperation_t.
Currently only MUBLAS_OP_N is supported.
int32_t, default: MUBLAS_OP_N
Enumerator MUBLASLT_MATMUL_DESC_FILL_MODE
Matrix fill mode, see mublasFillMode_t.
int32_t, default: MUBLAS_FILL_MODE_FULL
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE
Epilogue function, see mublasLtEpilogue_t.
uint32_t, default: MUBLASLT_EPILOGUE_DEFAULT
Enumerator MUBLASLT_MATMUL_DESC_BIAS_POINTER
Bias or bias gradient vector pointer in the device memory.
Bias case. See MUBLASLT_EPILOGUE_BIAS. For bias data type see MUBLASLT_MATMUL_DESC_BIAS_DATA_TYPE.
Bias vector length must match matrix D rows count.
Bias gradient case. See MUBLASLT_EPILOGUE_DRELU_BGRAD and MUBLASLT_EPILOGUE_DGELU_BGRAD. Bias gradient vector elements are the same type as the output elements (Ctype) with the exception of IMMA kernels (see above).
Routines that don't dereference this pointer, like mublasLtMatmulAlgoGetHeuristic() depend on its value to determine expected pointer alignment.
Bias case: const void *, default: NULL Bias gradient case: void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_BIAS_BATCH_STRIDE
Batch stride for bias or bias gradient vector.
Used together with MUBLASLT_MATMUL_DESC_BIAS_POINTER when matrix D's MUBLASLT_MATRIX_LAYOUT_BATCH_COUNT > 1.
int64_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER
Pointer for epilogue auxiliary buffer.
-
Output vector for ReLu bit-mask in forward pass when MUBLASLT_EPILOGUE_RELU_AUX or MUBLASLT_EPILOGUE_RELU_AUX_BIAS epilogue is used.
-
Input vector for ReLu bit-mask in backward pass when MUBLASLT_EPILOGUE_DRELU_BGRAD epilogue is used.
-
Output of GELU input matrix in forward pass when MUBLASLT_EPILOGUE_GELU_AUX_BIAS epilogue is used.
-
Input of GELU input matrix for backward pass when MUBLASLT_EPILOGUE_DGELU_BGRAD epilogue is used.
For aux data type see MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_DATA_TYPE.
Routines that don't dereference this pointer, like mublasLtMatmulAlgoGetHeuristic() depend on its value to determine expected pointer alignment.
Requires setting MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_LD attribute.
Forward pass: void *, default: NULL Backward pass: const void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_LD
Leading dimension for epilogue auxiliary buffer.
-
ReLu bit-mask matrix leading dimension in elements (i.e. bits) when MUBLASLT_EPILOGUE_RELU_AUX, MUBLASLT_EPILOGUE_RELU_AUX_BIAS or MUBLASLT_EPILOGUE_DRELU_BGRAD epilogue is used. Must be divisible by 128 and be no less than the number of rows in the output matrix.
-
GELU input matrix leading dimension in elements when MUBLASLT_EPILOGUE_GELU_AUX_BIAS or MUBLASLT_EPILOGUE_DGELU_BGRAD epilogue used. Must be divisible by 8 and be no less than the number of rows in the output matrix.
int64_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_BATCH_STRIDE
Batch stride for epilogue auxiliary buffer.
-
ReLu bit-mask matrix batch stride in elements (i.e. bits) when MUBLASLT_EPILOGUE_RELU_AUX, MUBLASLT_EPILOGUE_RELU_AUX_BIAS or MUBLASLT_EPILOGUE_DRELU_BGRAD epilogue is used. Must be divisible by 128.
-
GELU input matrix batch stride in elements when MUBLASLT_EPILOGUE_GELU_AUX_BIAS or MUBLASLT_EPILOGUE_DGELU_BGRAD epilogue used. Must be divisible by 8.
int64_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_ALPHA_VECTOR_BATCH_STRIDE
Batch stride for alpha vector.
Used together with MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_HOST when matrix D's MUBLASLT_MATRIX_LAYOUT_BATCH_COUNT > 1. If MUBLASLT_POINTER_MODE_ALPHA_DEVICE_VECTOR_BETA_ZERO is set then MUBLASLT_MATMUL_DESC_ALPHA_VECTOR_BATCH_STRIDE must be set to 0 as this mode doesnt supported batched alpha vector.
int64_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_SM_COUNT_TARGET
Number of SMs to target for parallel execution. Optimizes heuristics for execution on a different number of SMs when user expects a concurrent stream to be using some of the device resources.
int32_t, default: 0 - use the number reported by the device.
Enumerator MUBLASLT_MATMUL_DESC_A_SCALE_POINTER
Device pointer to the scale factor value that converts data in matrix A to the compute data type range.
The scaling factor value must have the same type as the compute type.
If not specified, or set to NULL, the scaling factor is assumed to be 1.
If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
const void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_B_SCALE_POINTER
Device pointer to the scale factor value to convert data in matrix B to compute data type range.
The scaling factor value must have the same type as the compute type.
If not specified, or set to NULL, the scaling factor is assumed to be 1.
If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
const void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_C_SCALE_POINTER
Device pointer to the scale factor value to convert data in matrix C to compute data type range.
The scaling factor value must have the same type as the compute type.
If not specified, or set to NULL, the scaling factor is assumed to be 1.
If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
const void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_D_SCALE_POINTER
Device pointer to the scale factor value to convert data in matrix D to compute data type range.
The scaling factor value must have the same type as the compute type.
If not specified, or set to NULL, the scaling factor is assumed to be 1.
If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
const void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_AMAX_D_POINTER
Device pointer to the memory location that on completion will be set to the maximum of absolute values in the output matrix.
The computed value has the same type as the compute type.
If not specified or set to NULL, the maximum absolute value is not computed. If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_DATA_TYPE
Type of the data to be stored to the memory pointed to by MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER.
If unset, the data type defaults to the type of elements of the output matrix with some exceptions, see details below.
ReLu uses a bit-mask.
GELU input matrix elements type is the same as the type of elements of the output matrix with some exceptions, see details below.
For fp8 kernels with output type MUSA_R_8F_E4M3 the aux data type can be MUSA_R_8F_E4M3 or MUSA_R_16F with some
If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
int32_t based on musaDataType, default: -1
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_SCALE_POINTER
Device pointer to the scaling factor value to convert results from compute type data range to storage data range in the auxiliary matrix that is set via MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER.
The scaling factor value must have the same type as the compute type.
If not specified, or set to NULL, the scaling factor is assumed to be 1. If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_AMAX_POINTER
Device pointer to the memory location that on completion will be set to the maximum of absolute values in the buffer that is set via MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER.
The computed value has the same type as the compute type.
If not specified or set to NULL, the maximum absolute value is not computed. If set for an unsupported matrix data, scale, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_FAST_ACCUM
Flag for managing fp8 fast accumulation mode. When enabled, problem execution might be faster but at the cost of lower accuracy because intermediate results will not periodically be promoted to a higher precision.
int8_t, default: 0 - fast accumulation mode is disabled.
Enumerator MUBLASLT_MATMUL_DESC_BIAS_DATA_TYPE
Type of bias or bias gradient vector in the device memory.
Bias case: see MUBLASLT_EPILOGUE_BIAS.
Bias vector elements are the same type as the elements of output matrix (Dtype) with the following exceptions:
-
IMMA kernels with computeType=MUSA_R_32I and Ctype=MUSA_R_8I where the bias vector elements are the same type as alpha, beta (MUBLASLT_MATMUL_DESC_SCALE_TYPE=MUSA_R_32F)
-
fp8 kernels with an output type of MUSA_R_32F, MUSA_R_8F_E4M3 or MUSA_R_8F_E5M2, See
int32_t based on musaDataType, default: -1
Enumerator MUBLASLT_MATMUL_DESC_A_SCALE_MODE
Scaling mode that defines how the matrix scaling factor for matrix A is interpreted
int32_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_B_SCALE_MODE
Scaling mode that defines how the matrix scaling factor for matrix B is interpreted
int32_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_C_SCALE_MODE
Scaling mode that defines how the matrix scaling factor for matrix C is interpreted
int32_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_D_SCALE_MODE
Scaling mode that defines how the matrix scaling factor for matrix D is interpreted
int32_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_SCALE_MODE
Scaling mode that defines how the matrix scaling factor for the auxiliary matrix is interpreted
int32_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_D_OUT_SCALE_POINTER
Device pointer to the scale factors that are used to convert data in matrix D to the compute data type range.
The scaling factor value type is defined by the scaling mode (see MUBLASLT_MATMUL_DESC_D_OUT_SCALE_MODE)
If set for an unsupported matrix data, scale, scale mode, and compute type combination, calling mublasLtMatmul() will return MUBLAS_STATUS_INVALID_VALUE.
void *, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_D_OUT_SCALE_MODE
Scaling mode that defines how the output matrix scaling factor for matrix D is interpreted
int32_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_EMULATION_DESCRIPTOR
A mublasLtEmulationDesc_t used to configure floating point emulation parameters.
mublasLtEmulationDesc_t, default: NULL
Enumerator MUBLASLT_MATMUL_DESC_ALPHA_BATCH_STRIDE
Experimental: Batch stride for alpha.
Used when matrix D's MUBLASLT_MATRIX_LAYOUT_BATCH_COUNT > 1. int64_t, default: 0
Enumerator MUBLASLT_MATMUL_DESC_BETA_BATCH_STRIDE
Experimental: Batch stride for beta.
Used when matrix D's MUBLASLT_MATRIX_LAYOUT_BATCH_COUNT > 1. int64_t, default: 0
Enumeration type mublasLtMatrixTransformDescAttributes_t
Definition: mublasLt.h (line 1716)
enum mublasLtMatrixTransformDescAttributes_t {
MUBLASLT_MATRIX_TRANSFORM_DESC_SCALE_TYPE,
MUBLASLT_MATRIX_TRANSFORM_DESC_POINTER_MODE,
MUBLASLT_MATRIX_TRANSFORM_DESC_TRANSA,
MUBLASLT_MATRIX_TRANSFORM_DESC_TRANSB
}
Matrix transform descriptor attributes to define details of the operation.
Enumerator MUBLASLT_MATRIX_TRANSFORM_DESC_SCALE_TYPE
Scale type, see musaDataType. Inputs are converted to scale type for scaling and summation and results are then converted to output type to store in memory.
int32_t
Enumerator MUBLASLT_MATRIX_TRANSFORM_DESC_POINTER_MODE
Pointer mode of alpha and beta, see mublasLtPointerMode_t.
int32_t, default: MUBLASLT_POINTER_MODE_HOST
Enumerator MUBLASLT_MATRIX_TRANSFORM_DESC_TRANSA
Transform of matrix A, see mublasOperation_t.
int32_t, default: MUBLAS_OP_N
Enumerator MUBLASLT_MATRIX_TRANSFORM_DESC_TRANSB
Transform of matrix B, see mublasOperation_t.
int32_t, default: MUBLAS_OP_N
Enumeration type mublasLtEmulationDescAttributes_t
Definition: mublasLt.h (line 1816)
enum mublasLtEmulationDescAttributes_t {
MUBLASLT_EMULATION_DESC_STRATEGY = 0,
MUBLASLT_EMULATION_DESC_SPECIAL_VALUES_SUPPORT = 1,
MUBLASLT_EMULATION_DESC_FIXEDPOINT_MANTISSA_CONTROL = 2,
MUBLASLT_EMULATION_DESC_FIXEDPOINT_MAX_MANTISSA_BIT_COUNT = 3,
MUBLASLT_EMULATION_DESC_FIXEDPOINT_MANTISSA_BIT_OFFSET = 4,
MUBLASLT_EMULATION_DESC_FIXEDPOINT_MANTISSA_BIT_COUNT_POINTER = 5
}
Emulation descriptor attributes to configure floating point emulation
Enumerator MUBLASLT_EMULATION_DESC_STRATEGY
Strategy, see mublasEmulationStrategy_t. Defines when to use floating point emulation algorithms.
int32_t, default: 0
Enumerator MUBLASLT_EMULATION_DESC_SPECIAL_VALUES_SUPPORT
Special values support, see musaEmulationSpecialValuesSupport. Defines a bit mask of special cases in floating-point representations that must be supported.
int32_t, default: 0xFFFF
Enumerator MUBLASLT_EMULATION_DESC_FIXEDPOINT_MANTISSA_CONTROL
Mantissa control, see musaEmulationMantissaControl. For fixed-point emulation, defines how to compute the number of retained mantissa bits.
Fixed-point emulation relies on lower precision data types. We define a "quantize" function which upscales the input mantissa bit count to a value greater than or equal to the input. This quantized value fully leverages the underlying representation without increasing the number of lower precision data types required.
For a "dynamic" mantissa control, the recommended number of retained mantissa bits are computed to have the same or higher accuracy as the floating-point representation being emulated and then quantized as follows: mantissa_bit_count = quantize(recommended_mantissa_bit_count + mantissa_bit_offset);
- NOTE: If the mantissa_bit_count exceeds quantize(max_mantissa_bit_count), then a floating-point representation is used.
For a "fixed" mantissa control, the number of retained mantissa bits are computed as follows: mantissa_bitcount = quantize(max_mantissa_bit_count)
int32_t, default: 0
Enumerator MUBLASLT_EMULATION_DESC_FIXEDPOINT_MAX_MANTISSA_BIT_COUNT
For fixed-point emulation only. An int32_t representing the maximum (up to quantization) number of mantissa bits to retain during fixed-point emulation.
A default value of 0 allows the library to select a reasonable value based on device properties, see the floating-point emulation documentation for more details.
int32_t, default: 0
Enumerator MUBLASLT_EMULATION_DESC_FIXEDPOINT_MANTISSA_BIT_OFFSET
This parameter is for fixed-point emulation with a "dynamic" mantissa control. An integer which can be used to bias the number of recommended mantissa bits.
int32_t, default: 0
Enumerator MUBLASLT_EMULATION_DESC_FIXEDPOINT_MANTISSA_BIT_COUNT_POINTER
This parameter is for fixed-point emulation. A device pointer which will contain the number of mantissa bits that were retained.
If emulation is not used, the pointer will contain -1.
int32_t *, default: NULL
Enumeration type mublasLtReductionScheme_t
Definition: mublasLt.h (line 1944)
enum mublasLtReductionScheme_t {
MUBLASLT_REDUCTION_SCHEME_NONE = 0,
MUBLASLT_REDUCTION_SCHEME_INPLACE = 1,
MUBLASLT_REDUCTION_SCHEME_COMPUTE_TYPE = 2,
MUBLASLT_REDUCTION_SCHEME_OUTPUT_TYPE = 4,
MUBLASLT_REDUCTION_SCHEME_MASK = 0x7
}
Reduction scheme for portions of the dot-product calculated in parallel (a. k. a. "split - K").
Enumerator MUBLASLT_REDUCTION_SCHEME_NONE
No reduction scheme, dot-product shall be performed in one sequence.
Enumerator MUBLASLT_REDUCTION_SCHEME_INPLACE
Reduction is performed "in place" - using the output buffer (and output data type) and counters (in workspace) to guarantee the sequentiality.
Enumerator MUBLASLT_REDUCTION_SCHEME_COMPUTE_TYPE
Intermediate results are stored in compute type in the workspace and reduced in a separate step.
Enumerator MUBLASLT_REDUCTION_SCHEME_OUTPUT_TYPE
Intermediate results are stored in output type in the workspace and reduced in a separate step.
Enumerator MUBLASLT_REDUCTION_SCHEME_MASK
Enumeration type mublasLtEpilogue_t
Definition: mublasLt.h (line 1968)
enum mublasLtEpilogue_t {
MUBLASLT_EPILOGUE_DEFAULT = 1,
MUBLASLT_EPILOGUE_RELU = 2,
MUBLASLT_EPILOGUE_RELU_AUX = (MUBLASLT_EPILOGUE_RELU | 128),
MUBLASLT_EPILOGUE_BIAS = 4,
MUBLASLT_EPILOGUE_RELU_BIAS = (MUBLASLT_EPILOGUE_RELU | MUBLASLT_EPILOGUE_BIAS),
MUBLASLT_EPILOGUE_RELU_AUX_BIAS = (MUBLASLT_EPILOGUE_RELU_AUX | MUBLASLT_EPILOGUE_BIAS),
MUBLASLT_EPILOGUE_DRELU = 8 | 128,
MUBLASLT_EPILOGUE_DRELU_BGRAD = MUBLASLT_EPILOGUE_DRELU | 16,
MUBLASLT_EPILOGUE_GELU = 32,
MUBLASLT_EPILOGUE_GELU_AUX = (MUBLASLT_EPILOGUE_GELU | 128),
MUBLASLT_EPILOGUE_GELU_BIAS = (MUBLASLT_EPILOGUE_GELU | MUBLASLT_EPILOGUE_BIAS),
MUBLASLT_EPILOGUE_GELU_AUX_BIAS = (MUBLASLT_EPILOGUE_GELU_AUX | MUBLASLT_EPILOGUE_BIAS),
MUBLASLT_EPILOGUE_DGELU = 64 | 128,
MUBLASLT_EPILOGUE_DGELU_BGRAD = MUBLASLT_EPILOGUE_DGELU | 16,
MUBLASLT_EPILOGUE_BGRADA = 256,
MUBLASLT_EPILOGUE_BGRADB = 512
}
Postprocessing options for the epilogue
Enumerator MUBLASLT_EPILOGUE_DEFAULT
No special postprocessing, just scale and quantize results if necessary.
Enumerator MUBLASLT_EPILOGUE_RELU
ReLu, apply ReLu point-wise transform to the results (x:=max(x, 0)).
Enumerator MUBLASLT_EPILOGUE_RELU_AUX
ReLu, apply ReLu point-wise transform to the results (x:=max(x, 0)).
This epilogue mode produces an extra output, a ReLu bit-mask matrix, see MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER.
Enumerator MUBLASLT_EPILOGUE_BIAS
Bias, apply (broadcasted) Bias from bias vector. Bias vector length must match matrix D rows, it must be packed (stride between vector elements is 1). Bias vector is broadcasted to all columns and added before applying final postprocessing.
Enumerator MUBLASLT_EPILOGUE_RELU_BIAS
ReLu and Bias, apply Bias and then ReLu transform
Enumerator MUBLASLT_EPILOGUE_RELU_AUX_BIAS
ReLu and Bias, apply Bias and then ReLu transform
This epilogue mode produces an extra output, a ReLu bit-mask matrix, see MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER.
Enumerator MUBLASLT_EPILOGUE_DRELU
Enumerator MUBLASLT_EPILOGUE_DRELU_BGRAD
Enumerator MUBLASLT_EPILOGUE_GELU
GELU, apply GELU point-wise transform to the results (x:=GELU(x)).
Enumerator MUBLASLT_EPILOGUE_GELU_AUX
GELU, apply GELU point-wise transform to the results (x:=GELU(x)).
This epilogue mode outputs GELU input as a separate matrix (useful for training). See MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER.
Enumerator MUBLASLT_EPILOGUE_GELU_BIAS
GELU and Bias, apply Bias and then GELU transform
Enumerator MUBLASLT_EPILOGUE_GELU_AUX_BIAS
GELU and Bias, apply Bias and then GELU transform
This epilogue mode outputs GELU input as a separate matrix (useful for training). See MUBLASLT_MATMUL_DESC_EPILOGUE_AUX_POINTER.
Enumerator MUBLASLT_EPILOGUE_DGELU
Enumerator MUBLASLT_EPILOGUE_DGELU_BGRAD
Enumerator MUBLASLT_EPILOGUE_BGRADA
Bias gradient based on the input matrix A.
The bias size corresponds to the number of rows of the matrix D. The reduction happens over the GEMM's "k" dimension.
Stores Bias gradient in the auxiliary output (see MUBLASLT_MATMUL_DESC_BIAS_POINTER).
Enumerator MUBLASLT_EPILOGUE_BGRADB
Bias gradient based on the input matrix B.
The bias size corresponds to the number of columns of the matrix D. The reduction happens over the GEMM's "k" dimension.
Stores Bias gradient in the auxiliary output (see MUBLASLT_MATMUL_DESC_BIAS_POINTER).
Enumeration type mublasLtMatmulSearch_t
Definition: mublasLt.h (line 2079)
enum mublasLtMatmulSearch_t {
MUBLASLT_SEARCH_BEST_FIT = 0,
MUBLASLT_SEARCH_LIMITED_BY_ALGO_ID = 1,
MUBLASLT_SEARCH_RESERVED_02 = 2,
MUBLASLT_SEARCH_RESERVED_03 = 3,
MUBLASLT_SEARCH_RESERVED_04 = 4,
MUBLASLT_SEARCH_RESERVED_05 = 5,
MUBLASLT_SEARCH_RESERVED_06 = 6,
MUBLASLT_SEARCH_RESERVED_07 = 7,
MUBLASLT_SEARCH_RESERVED_08 = 8,
MUBLASLT_SEARCH_RESERVED_09 = 9
}
Matmul heuristic search mode
Enumerator MUBLASLT_SEARCH_BEST_FIT
ask heuristics for best algo for given usecase
Enumerator MUBLASLT_SEARCH_LIMITED_BY_ALGO_ID
only try to find best config for preconfigured algo id
Enumerator MUBLASLT_SEARCH_RESERVED_02
reserved for future use
Enumerator MUBLASLT_SEARCH_RESERVED_03
reserved for future use
Enumerator MUBLASLT_SEARCH_RESERVED_04
reserved for future use
Enumerator MUBLASLT_SEARCH_RESERVED_05
reserved for future use
Enumerator MUBLASLT_SEARCH_RESERVED_06
reserved for future use
Enumerator MUBLASLT_SEARCH_RESERVED_07
reserved for future use
Enumerator MUBLASLT_SEARCH_RESERVED_08
reserved for future use
Enumerator MUBLASLT_SEARCH_RESERVED_09
reserved for future use
Enumeration type mublasLtMatmulPreferenceAttributes_t
Definition: mublasLt.h (line 2114)
enum mublasLtMatmulPreferenceAttributes_t {
MUBLASLT_MATMUL_PREF_SEARCH_MODE = 0,
MUBLASLT_MATMUL_PREF_MAX_WORKSPACE_BYTES = 1,
MUBLASLT_MATMUL_PREF_REDUCTION_SCHEME_MASK = 3,
MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_A_BYTES = 5,
MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_B_BYTES = 6,
MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_C_BYTES = 7,
MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_D_BYTES = 8,
MUBLASLT_MATMUL_PREF_MAX_WAVES_COUNT = 9,
MUBLASLT_MATMUL_PREF_IMPL_MASK = 12,
MUBLASLT_MATMUL_PREF_GROUPED_AVERAGE_REDUCTION_DIM = 13,
MUBLASLT_MATMUL_PREF_GROUPED_DESC_D_AVERAGE_ROWS = 14,
MUBLASLT_MATMUL_PREF_GROUPED_DESC_D_AVERAGE_COLS = 15
}
Algo search preference to fine tune the heuristic function.
Enumerator MUBLASLT_MATMUL_PREF_SEARCH_MODE
Search mode, see mublasLtMatmulSearch_t.
uint32_t, default: MUBLASLT_SEARCH_BEST_FIT
Enumerator MUBLASLT_MATMUL_PREF_MAX_WORKSPACE_BYTES
Maximum allowed workspace size in bytes.
uint64_t, default: 0 - no workspace allowed
Enumerator MUBLASLT_MATMUL_PREF_REDUCTION_SCHEME_MASK
Reduction scheme mask, see mublasLtReductionScheme_t. Filters heuristic result to only include algo configs that use one of the required modes.
E.g. mask value of 0x03 will allow only INPLACE and COMPUTE_TYPE reduction schemes.
uint32_t, default: MUBLASLT_REDUCTION_SCHEME_MASK (allows all reduction schemes)
Enumerator MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_A_BYTES
Minimum buffer alignment for matrix A (in bytes).
Selecting a smaller value will exclude algorithms that can not work with matrix A that is not as strictly aligned as they need.
uint32_t, default: 256
Enumerator MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_B_BYTES
Minimum buffer alignment for matrix B (in bytes).
Selecting a smaller value will exclude algorithms that can not work with matrix B that is not as strictly aligned as they need.
uint32_t, default: 256
Enumerator MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_C_BYTES
Minimum buffer alignment for matrix C (in bytes).
Selecting a smaller value will exclude algorithms that can not work with matrix C that is not as strictly aligned as they need.
uint32_t, default: 256
Enumerator MUBLASLT_MATMUL_PREF_MIN_ALIGNMENT_D_BYTES
Minimum buffer alignment for matrix D (in bytes).
Selecting a smaller value will exclude algorithms that can not work with matrix D that is not as strictly aligned as they need.
uint32_t, default: 256
Enumerator MUBLASLT_MATMUL_PREF_MAX_WAVES_COUNT
Maximum wave count.
See mublasLtMatmulHeuristicResult_t::wavesCount.
Selecting a non-zero value will exclude algorithms that report device utilization higher than specified.
float, default: 0.0f
Enumerator MUBLASLT_MATMUL_PREF_IMPL_MASK
Numerical implementation details mask, see mublasLtNumericalImplFlags_t. Filters heuristic result to only include algorithms that use the allowed implementations.
uint64_t, default: uint64_t(-1) (allow everything)
Enumerator MUBLASLT_MATMUL_PREF_GROUPED_AVERAGE_REDUCTION_DIM
Experimental: Average reduction dimension.
uint32_t, default: 0
Enumerator MUBLASLT_MATMUL_PREF_GROUPED_DESC_D_AVERAGE_ROWS
Experimental: Average rows of matrix D.
uint32_t, default: 0
Enumerator MUBLASLT_MATMUL_PREF_GROUPED_DESC_D_AVERAGE_COLS
Experimental: Average columns of matrix D.
uint32_t, default: 0
Enumeration type mublasLtMatmulAlgoCapAttributes_t
Definition: mublasLt.h (line 2407)
enum mublasLtMatmulAlgoCapAttributes_t {
MUBLASLT_ALGO_CAP_SPLITK_SUPPORT = 0,
MUBLASLT_ALGO_CAP_REDUCTION_SCHEME_MASK = 1,
MUBLASLT_ALGO_CAP_CTA_SWIZZLING_SUPPORT = 2,
MUBLASLT_ALGO_CAP_STRIDED_BATCH_SUPPORT = 3,
MUBLASLT_ALGO_CAP_OUT_OF_PLACE_RESULT_SUPPORT = 4,
MUBLASLT_ALGO_CAP_UPLO_SUPPORT = 5,
MUBLASLT_ALGO_CAP_TILE_IDS = 6,
MUBLASLT_ALGO_CAP_CUSTOM_OPTION_MAX = 7,
MUBLASLT_ALGO_CAP_CUSTOM_MEMORY_ORDER = 10,
MUBLASLT_ALGO_CAP_POINTER_MODE_MASK = 11,
MUBLASLT_ALGO_CAP_EPILOGUE_MASK = 12,
MUBLASLT_ALGO_CAP_STAGES_IDS = 13,
MUBLASLT_ALGO_CAP_LD_NEGATIVE = 14,
MUBLASLT_ALGO_CAP_NUMERICAL_IMPL_FLAGS = 15,
MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_A_BYTES = 16,
MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_B_BYTES = 17,
MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_C_BYTES = 18,
MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_D_BYTES = 19,
MUBLASLT_ALGO_CAP_POINTER_ARRAY_BATCH_SUPPORT = 21,
MUBLASLT_ALGO_CAP_FLOATING_POINT_EMULATION_SUPPORT = 22,
MUBLASLT_ALGO_CAP_POINTER_ARRAY_GROUPED_SUPPORT = 23
}
Capabilities Attributes that can be retrieved from an initialized Algo structure
Enumerator MUBLASLT_ALGO_CAP_SPLITK_SUPPORT
support for split K, see MUBLASLT_ALGO_CONFIG_SPLITK_NUM
int32_t, 0 means no support, supported otherwise
Enumerator MUBLASLT_ALGO_CAP_REDUCTION_SCHEME_MASK
reduction scheme mask, see mublasLtReductionScheme_t; shows supported reduction schemes, if reduction scheme is not masked out it is supported.
e.g. int isReductionSchemeComputeTypeSupported ? (reductionSchemeMask & MUBLASLT_REDUCTION_SCHEME_COMPUTE_TYPE) == MUBLASLT_REDUCTION_SCHEME_COMPUTE_TYPE ? 1 : 0;
uint32_t
Enumerator MUBLASLT_ALGO_CAP_CTA_SWIZZLING_SUPPORT
support for cta swizzling, see MUBLASLT_ALGO_CONFIG_CTA_SWIZZLING
uint32_t, 0 means no support, 1 means supported value of 1, other values are reserved
Enumerator MUBLASLT_ALGO_CAP_STRIDED_BATCH_SUPPORT
support strided batch
int32_t, 0 means no support, supported otherwise
Enumerator MUBLASLT_ALGO_CAP_OUT_OF_PLACE_RESULT_SUPPORT
support results out of place (D != C in D = alpha.A.B + beta.C)
int32_t, 0 means no support, supported otherwise
Enumerator MUBLASLT_ALGO_CAP_UPLO_SUPPORT
syrk/herk support (on top of regular gemm)
int32_t, 0 means no support, supported otherwise
Enumerator MUBLASLT_ALGO_CAP_TILE_IDS
tile ids possible to use, see mublasLtMatmulTile_t; if no tile ids are supported use MUBLASLT_MATMUL_TILE_UNDEFINED
use mublasLtMatmulAlgoCapGetAttribute() with sizeInBytes=0 to query actual count
array of uint32_t
Enumerator MUBLASLT_ALGO_CAP_CUSTOM_OPTION_MAX
custom option range is from 0 to MUBLASLT_ALGO_CAP_CUSTOM_OPTION_MAX (inclusive), see MUBLASLT_ALGO_CONFIG_CUSTOM_OPTION
int32_t
Enumerator MUBLASLT_ALGO_CAP_CUSTOM_MEMORY_ORDER
whether algorithm supports custom (not COL or ROW memory order), see mublasLtOrder_t
int32_t 0 means only COL and ROW memory order is allowed, non-zero means that algo might have different requirements;
Enumerator MUBLASLT_ALGO_CAP_POINTER_MODE_MASK
bitmask enumerating pointer modes algorithm supports
uint32_t, see mublasLtPointerModeMask_t
Enumerator MUBLASLT_ALGO_CAP_EPILOGUE_MASK
bitmask enumerating kinds of postprocessing algorithm supports in the epilogue
uint32_t, see mublasLtEpilogue_t
Enumerator MUBLASLT_ALGO_CAP_STAGES_IDS
stages ids possible to use, see mublasLtMatmulStages_t; if no stages ids are supported use MUBLASLT_MATMUL_STAGES_UNDEFINED
use mublasLtMatmulAlgoCapGetAttribute() with sizeInBytes=0 to query actual count
array of uint32_t
Enumerator MUBLASLT_ALGO_CAP_LD_NEGATIVE
support for nagative ld for all of the matrices
int32_t 0 means no support, supported otherwise
Enumerator MUBLASLT_ALGO_CAP_NUMERICAL_IMPL_FLAGS
details about algorithm's implementation that affect it's numerical behavior
uint64_t, see mublasLtNumericalImplFlags_t
Enumerator MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_A_BYTES
minimum alignment required for A matrix in bytes (required for buffer pointer, leading dimension, and possibly other strides defined for matrix memory order)
uint32_t
Enumerator MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_B_BYTES
minimum alignment required for B matrix in bytes (required for buffer pointer, leading dimension, and possibly other strides defined for matrix memory order)
uint32_t
Enumerator MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_C_BYTES
minimum alignment required for C matrix in bytes (required for buffer pointer, leading dimension, and possibly other strides defined for matrix memory order)
uint32_t
Enumerator MUBLASLT_ALGO_CAP_MIN_ALIGNMENT_D_BYTES
minimum alignment required for D matrix in bytes (required for buffer pointer, leading dimension, and possibly other strides defined for matrix memory order)
uint32_t
Enumerator MUBLASLT_ALGO_CAP_POINTER_ARRAY_BATCH_SUPPORT
support pointer array batch
int32_t, 0 means no support, supported otherwise
Enumerator MUBLASLT_ALGO_CAP_FLOATING_POINT_EMULATION_SUPPORT
describes if the algorithm supports floating point emulation
int32_t, 0 means no support, supported otherwise
Enumerator MUBLASLT_ALGO_CAP_POINTER_ARRAY_GROUPED_SUPPORT
support pointer array grouped
int32_t, 0 means no support, supported otherwise
Enumeration type mublasLtMatmulAlgoConfigAttributes_t
Definition: mublasLt.h (line 2582)
enum mublasLtMatmulAlgoConfigAttributes_t {
MUBLASLT_ALGO_CONFIG_ID = 0,
MUBLASLT_ALGO_CONFIG_TILE_ID = 1,
MUBLASLT_ALGO_CONFIG_SPLITK_NUM = 2,
MUBLASLT_ALGO_CONFIG_REDUCTION_SCHEME = 3,
MUBLASLT_ALGO_CONFIG_CTA_SWIZZLING = 4,
MUBLASLT_ALGO_CONFIG_CUSTOM_OPTION = 5,
MUBLASLT_ALGO_CONFIG_STAGES_ID = 6,
MUBLASLT_ALGO_CONFIG_INNER_SHAPE_ID = 7,
MUBLASLT_ALGO_CONFIG_CLUSTER_SHAPE_ID = 8
}
Algo Configuration Attributes that can be set according to the Algo capabilities
Enumerator MUBLASLT_ALGO_CONFIG_ID
algorithm index, see mublasLtMatmulAlgoGetIds()
readonly, set by mublasLtMatmulAlgoInit() int32_t
Enumerator MUBLASLT_ALGO_CONFIG_TILE_ID
tile id, see mublasLtMatmulTile_t
uint32_t, default: MUBLASLT_MATMUL_TILE_UNDEFINED
Enumerator MUBLASLT_ALGO_CONFIG_SPLITK_NUM
Number of K splits. If the number of K splits is greater than one, SPLITK_NUM parts of matrix multiplication will be computed in parallel. The results will be accumulated according to MUBLASLT_ALGO_CONFIG_REDUCTION_SCHEME
int32_t, default: 1
Enumerator MUBLASLT_ALGO_CONFIG_REDUCTION_SCHEME
reduction scheme, see mublasLtReductionScheme_t
uint32_t, default: MUBLASLT_REDUCTION_SCHEME_NONE
Enumerator MUBLASLT_ALGO_CONFIG_CTA_SWIZZLING
cta swizzling, change mapping from MUSA grid coordinates to parts of the matrices
possible values: 0, 1, other values reserved
uint32_t, default: 0
Enumerator MUBLASLT_ALGO_CONFIG_CUSTOM_OPTION
custom option, each algorithm can support some custom options that don't fit description of the other config attributes, see MUBLASLT_ALGO_CAP_CUSTOM_OPTION_MAX to get accepted range for any specific case
uint32_t, default: 0
Enumerator MUBLASLT_ALGO_CONFIG_STAGES_ID
stages id, see mublasLtMatmulStages_t
uint32_t, default: MUBLASLT_MATMUL_STAGES_UNDEFINED
Enumerator MUBLASLT_ALGO_CONFIG_INNER_SHAPE_ID
inner shape id, see mublasLtMatmulInnerShape_t
uint16_t, default: 0 (MUBLASLT_MATMUL_INNER_SHAPE_UNDEFINED)
Enumerator MUBLASLT_ALGO_CONFIG_CLUSTER_SHAPE_ID
Thread Block Cluster shape id, see mublasLtClusterShape_t. Defines cluster size to use.
uint16_t, default: 0 (MUBLASLT_CLUSTER_SHAPE_AUTO)
Typedefs
Typedef mublasLtHandle_t
Definition: mublasLt.h (line 41)
typedef struct mublasLtContext* mublasLtHandle_t
Opaque structure holding MUBLASLT context
Return type: struct mublasLtContext *
Typedef mublasLtMatrixLayout_t
Definition: mublasLt.h (line 69)
typedef mublasLtMatrixLayoutOpaque_t* mublasLtMatrixLayout_t
Opaque descriptor for matrix memory layout
Return type: mublasLtMatrixLayoutOpaque_t *
Typedef mublasLtMatmulDesc_t
Definition: mublasLt.h (line 90)
typedef mublasLtMatmulDescOpaque_t* mublasLtMatmulDesc_t
Opaque descriptor for mublasLtMatmul() operation details
Return type: mublasLtMatmulDescOpaque_t *
Typedef mublasLtMatrixTransformDesc_t
Definition: mublasLt.h (line 101)
typedef mublasLtMatrixTransformDescOpaque_t* mublasLtMatrixTransformDesc_t
Opaque descriptor for mublasLtMatrixTransform() operation details
Return type: mublasLtMatrixTransformDescOpaque_t *
Typedef mublasLtMatmulPreference_t
Definition: mublasLt.h (line 112)
typedef mublasLtMatmulPreferenceOpaque_t* mublasLtMatmulPreference_t
Opaque descriptor for mublasLtMatmulAlgoGetHeuristic() configuration
Return type: mublasLtMatmulPreferenceOpaque_t *
Typedef mublasLtEmulationDesc_t
Definition: mublasLt.h (line 122)
typedef mublasLtEmulationDescOpaque_t* mublasLtEmulationDesc_t
Opaque descriptor for properties related to floating point emulation
Return type: mublasLtEmulationDescOpaque_t *
Typedef mublasLtNumericalImplFlags_t
Definition: mublasLt.h (line 975)
typedef uint64_t mublasLtNumericalImplFlags_t
Return type: uint64_t
Typedef mublasLtLoggerCallback_t
Definition: mublasLt.h (line 2677)
typedef void(* mublasLtLoggerCallback_t) (int logLevel, const char *functionName, const char *message)
Experimental: Logger callback type.
Return type: void(*
Structure Fields
Member type
Definition: mublasLt.h (line 1215)
musaDataType type
Type: musaDataType
Member rows
Definition: mublasLt.h (line 1216)
musaDataType uint64_t rows
Type: musaDataType uint64_t
Member cols
Definition: mublasLt.h (line 1217)
musaDataType uint64_t uint64_t cols
Type: musaDataType uint64_t uint64_t
Member ld
Definition: mublasLt.h (line 1218)
musaDataType uint64_t uint64_t int64_t ld
Type: musaDataType uint64_t uint64_t int64_t
Member groupCount
Definition: mublasLt.h (line 1232)
musaDataType int groupCount
Type: musaDataType int
Member rows_array
Definition: mublasLt.h (line 1233)
musaDataType int const void* rows_array
Type: musaDataType int const void *
Member cols_array
Definition: mublasLt.h (line 1234)
musaDataType int const void const void* cols_array
Type: musaDataType int const void const void *
Member ld_array
Definition: mublasLt.h (line 1235)
musaDataType int const void const void const void* ld_array
Type: musaDataType int const void const void const void *
Member computeType
Definition: mublasLt.h (line 1641)
mublasComputeType_t computeType
Type: mublasComputeType_t
Member scaleType
Definition: mublasLt.h (line 1642)
mublasComputeType_t musaDataType_t scaleType
Type: mublasComputeType_t musaDataType_t
Functions
mublasLtCreate
mublasStatus_t MUBLASWINAPI mublasLtCreate(mublasLtHandle_t *lightHandle)
Parameters:
- mublasLtHandle_t * lightHandle
Return type: mublasStatus_t MUBLASWINAPI
mublasLtDestroy
mublasStatus_t MUBLASWINAPI mublasLtDestroy(mublasLtHandle_t lightHandle)
Parameters:
- mublasLtHandle_t lightHandle
Return type: mublasStatus_t MUBLASWINAPI
mublasLtDisableCpuInstructionsSetMask
unsigned MUBLASWINAPI mublasLtDisableCpuInstructionsSetMask(unsigned mask)
Restricts usage of CPU instructions (ISA) specified by the flags in the mask.
Flags can be combined with bitwise OR (|) operator. Supported flags:
0x1: x86-64 AVX512 ISA
Default mask: 0 (any applicable ISA is allowed).
The function returns the previous value of the mask.
The function takes precedence over the environment variable MUBLASLT_DISABLE_CPU_INSTRUCTIONS_MASK.
Parameters:
- unsigned mask
Return type: unsigned MUBLASWINAPI
mublasLtGetStatusName
const char *MUBLASWINAPI mublasLtGetStatusName(mublasStatus_t status)
Parameters:
- mublasStatus_t status
Return type: const char *MUBLASWINAPI
mublasLtGetStatusString
const char *MUBLASWINAPI mublasLtGetStatusString(mublasStatus_t status)
Parameters:
- mublasStatus_t status
Return type: const char *MUBLASWINAPI
mublasLtGetVersion
size_t MUBLASWINAPI mublasLtGetVersion(void)
Parameters:
- void
Return type: size_t MUBLASWINAPI
mublasLtGetMusartVersion
size_t MUBLASWINAPI mublasLtGetMusartVersion(void)
Parameters:
- void
Return type: size_t MUBLASWINAPI
mublasLtGetProperty
mublasStatus_t MUBLASWINAPI mublasLtGetProperty(libraryPropertyType type, int *value)
Parameters:
- libraryPropertyType type
- int * value
Return type: mublasStatus_t MUBLASWINAPI
mublasLtHeuristicsCacheGetCapacity
mublasStatus_t MUBLASWINAPI mublasLtHeuristicsCacheGetCapacity(size_t *capacity)
Parameters:
- size_t * capacity
Return type: mublasStatus_t MUBLASWINAPI
mublasLtHeuristicsCacheSetCapacity
mublasStatus_t MUBLASWINAPI mublasLtHeuristicsCacheSetCapacity(size_t capacity)
Parameters:
- size_t capacity
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmul
mublasStatus_t MUBLASWINAPI mublasLtMatmul(mublasLtHandle_t lightHandle, mublasLtMatmulDesc_t computeDesc, const void *alpha, const void *A, mublasLtMatrixLayout_t Adesc, const void *B, mublasLtMatrixLayout_t Bdesc, const void *beta, const void *C, mublasLtMatrixLayout_t Cdesc, void *D, mublasLtMatrixLayout_t Ddesc, const mublasLtMatmulAlgo_t *algo, void *workspace, size_t workspaceSizeInBytes, musaStream_t stream)
Execute matrix multiplication (D = alpha * op(A) * op(B) + beta * C).
Return values:
- MUBLAS_STATUS_NOT_INITIALIZED: if mublasLt handle has not been initialized
- MUBLAS_STATUS_INVALID_VALUE: if parameters are in conflict or in an impossible configuration; e.g. when workspaceSizeInBytes is less than workspace required by configured algo
- MUBLAS_STATUS_NOT_SUPPORTED: if current implementation on selected device doesn't support configured operation
- MUBLAS_STATUS_ARCH_MISMATCH: if configured operation cannot be run using selected device
- MUBLAS_STATUS_EXECUTION_FAILED: if musa reported execution error from the device
- MUBLAS_STATUS_SUCCESS: if the operation completed successfully
Parameters:
- mublasLtHandle_t lightHandle
- mublasLtMatmulDesc_t computeDesc
- const void * alpha
- const void * A
- mublasLtMatrixLayout_t Adesc
- const void * B
- mublasLtMatrixLayout_t Bdesc
- const void * beta
- const void * C
- mublasLtMatrixLayout_t Cdesc
- void * D
- mublasLtMatrixLayout_t Ddesc
- const mublasLtMatmulAlgo_t * algo
- void * workspace
- size_t workspaceSizeInBytes
- musaStream_t stream
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixTransform
mublasStatus_t MUBLASWINAPI mublasLtMatrixTransform(mublasLtHandle_t lightHandle, mublasLtMatrixTransformDesc_t transformDesc, const void *alpha, const void *A, mublasLtMatrixLayout_t Adesc, const void *beta, const void *B, mublasLtMatrixLayout_t Bdesc, void *C, mublasLtMatrixLayout_t Cdesc, musaStream_t stream)
Matrix layout conversion helper (C = alpha * op(A) + beta * op(B))
Can be used to change memory order of data or to scale and shift the values.
Return values:
- MUBLAS_STATUS_NOT_INITIALIZED: if mublasLt handle has not been initialized
- MUBLAS_STATUS_INVALID_VALUE: if parameters are in conflict or in an impossible configuration; e.g. when A is not NULL, but Adesc is NULL
- MUBLAS_STATUS_NOT_SUPPORTED: if current implementation on selected device doesn't support configured operation
- MUBLAS_STATUS_ARCH_MISMATCH: if configured operation cannot be run using selected device
- MUBLAS_STATUS_EXECUTION_FAILED: if musa reported execution error from the device
- MUBLAS_STATUS_SUCCESS: if the operation completed successfully
Parameters:
- mublasLtHandle_t lightHandle
- mublasLtMatrixTransformDesc_t transformDesc
- const void * alpha
- const void * A
- mublasLtMatrixLayout_t Adesc
- const void * beta
- const void * B
- mublasLtMatrixLayout_t Bdesc
- void * C
- mublasLtMatrixLayout_t Cdesc
- musaStream_t stream
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixLayoutInit
![][static]
static mublasStatus_t mublasLtMatrixLayoutInit(mublasLtMatrixLayout_t matLayout, musaDataType type, uint64_t rows, uint64_t cols, int64_t ld)
Initialize matrix layout descriptor in pre-allocated space.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if size of the pre-allocated space is insufficient
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatrixLayout_t matLayout
- musaDataType type
- uint64_t rows
- uint64_t cols
- int64_t ld
Return type: mublasStatus_t
mublasLtGroupedMatrixLayoutInit
![][static]
static mublasStatus_t mublasLtGroupedMatrixLayoutInit(mublasLtMatrixLayout_t matLayout, musaDataType type, int groupCount, const void *rows_array, const void *cols_array, const void *ld_array)
Experimental: Initialize grouped matrix layout descriptor in pre-allocated space.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if size of the pre-allocated space is insufficient
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatrixLayout_t matLayout
- musaDataType type
- int groupCount
- const void * rows_array
- const void * cols_array
- const void * ld_array
Return type: mublasStatus_t
mublasLtMatrixLayoutCreate
mublasStatus_t MUBLASWINAPI mublasLtMatrixLayoutCreate(mublasLtMatrixLayout_t *matLayout, musaDataType type, uint64_t rows, uint64_t cols, int64_t ld)
Create new matrix layout descriptor.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if memory could not be allocated
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatrixLayout_t * matLayout
- musaDataType type
- uint64_t rows
- uint64_t cols
- int64_t ld
Return type: mublasStatus_t MUBLASWINAPI
mublasLtGroupedMatrixLayoutCreate
mublasStatus_t MUBLASWINAPI mublasLtGroupedMatrixLayoutCreate(mublasLtMatrixLayout_t *matLayout, musaDataType type, int groupCount, const void *rows_array, const void *cols_array, const void *ld_array)
Experimental: Create new grouped matrix layout descriptor.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if memory could not be allocated
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatrixLayout_t * matLayout
- musaDataType type
- int groupCount
- const void * rows_array
- const void * cols_array
- const void * ld_array
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixLayoutDestroy
mublasStatus_t MUBLASWINAPI mublasLtMatrixLayoutDestroy(mublasLtMatrixLayout_t matLayout)
Destroy matrix layout descriptor.
Return values:
- MUBLAS_STATUS_SUCCESS: if operation was successful
Parameters:
- mublasLtMatrixLayout_t matLayout
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixLayoutSetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatrixLayoutSetAttribute(mublasLtMatrixLayout_t matLayout, mublasLtMatrixLayoutAttribute_t attr, const void *buf, size_t sizeInBytes)
Set matrix layout descriptor attribute.
Parameters:
- matLayout: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute was set successfully
Parameters:
- mublasLtMatrixLayout_t matLayout
- mublasLtMatrixLayoutAttribute_t attr
- const void * buf
- size_t sizeInBytes
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixLayoutGetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatrixLayoutGetAttribute(mublasLtMatrixLayout_t matLayout, mublasLtMatrixLayoutAttribute_t attr, void *buf, size_t sizeInBytes, size_t *sizeWritten)
Get matrix layout descriptor attribute.
Parameters:
- matLayout: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
- sizeWritten: only valid when return value is MUBLAS_STATUS_SUCCESS. If sizeInBytes is non-zero: number of bytes actually written, if sizeInBytes is 0: number of bytes needed to write full contents
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if sizeInBytes is 0 and sizeWritten is NULL, or if sizeInBytes is non-zero and buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute's value was successfully written to user memory
Parameters:
- mublasLtMatrixLayout_t matLayout
- mublasLtMatrixLayoutAttribute_t attr
- void * buf
- size_t sizeInBytes
- size_t * sizeWritten
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulDescInit
![][static]
static mublasStatus_t mublasLtMatmulDescInit(mublasLtMatmulDesc_t matmulDesc, mublasComputeType_t computeType, musaDataType_t scaleType)
Initialize matmul operation descriptor in pre-allocated space.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if size of the pre-allocated space is insufficient
- MUBLAS_STATUS_SUCCESS: if desciptor was initialized successfully
Parameters:
- mublasLtMatmulDesc_t matmulDesc
- mublasComputeType_t computeType
- musaDataType_t scaleType
Return type: mublasStatus_t
mublasLtMatmulDescCreate
mublasStatus_t MUBLASWINAPI mublasLtMatmulDescCreate(mublasLtMatmulDesc_t *matmulDesc, mublasComputeType_t computeType, musaDataType_t scaleType)
Create new matmul operation descriptor.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if memory could not be allocated
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatmulDesc_t * matmulDesc
- mublasComputeType_t computeType
- musaDataType_t scaleType
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulDescDestroy
mublasStatus_t MUBLASWINAPI mublasLtMatmulDescDestroy(mublasLtMatmulDesc_t matmulDesc)
Destroy matmul operation descriptor.
Return values:
- MUBLAS_STATUS_SUCCESS: if operation was successful
Parameters:
- mublasLtMatmulDesc_t matmulDesc
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulDescSetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatmulDescSetAttribute(mublasLtMatmulDesc_t matmulDesc, mublasLtMatmulDescAttributes_t attr, const void *buf, size_t sizeInBytes)
Set matmul operation descriptor attribute.
Parameters:
- matmulDesc: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute was set successfully
Parameters:
- mublasLtMatmulDesc_t matmulDesc
- mublasLtMatmulDescAttributes_t attr
- const void * buf
- size_t sizeInBytes
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulDescGetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatmulDescGetAttribute(mublasLtMatmulDesc_t matmulDesc, mublasLtMatmulDescAttributes_t attr, void *buf, size_t sizeInBytes, size_t *sizeWritten)
Get matmul operation descriptor attribute.
Parameters:
- matmulDesc: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
- sizeWritten: only valid when return value is MUBLAS_STATUS_SUCCESS. If sizeInBytes is non-zero: number of bytes actually written, if sizeInBytes is 0: number of bytes needed to write full contents
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if sizeInBytes is 0 and sizeWritten is NULL, or if sizeInBytes is non-zero and buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute's value was successfully written to user memory
Parameters:
- mublasLtMatmulDesc_t matmulDesc
- mublasLtMatmulDescAttributes_t attr
- void * buf
- size_t sizeInBytes
- size_t * sizeWritten
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixTransformDescInit
![][static]
static mublasStatus_t mublasLtMatrixTransformDescInit(mublasLtMatrixTransformDesc_t transformDesc, musaDataType scaleType)
Initialize matrix transform operation descriptor in pre-allocated space.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if size of the pre-allocated space is insufficient
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatrixTransformDesc_t transformDesc
- musaDataType scaleType
Return type: mublasStatus_t
mublasLtMatrixTransformDescCreate
mublasStatus_t MUBLASWINAPI mublasLtMatrixTransformDescCreate(mublasLtMatrixTransformDesc_t *transformDesc, musaDataType scaleType)
Create new matrix transform operation descriptor.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if memory could not be allocated
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatrixTransformDesc_t * transformDesc
- musaDataType scaleType
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixTransformDescDestroy
mublasStatus_t MUBLASWINAPI mublasLtMatrixTransformDescDestroy(mublasLtMatrixTransformDesc_t transformDesc)
Destroy matrix transform operation descriptor.
Return values:
- MUBLAS_STATUS_SUCCESS: if operation was successful
Parameters:
- mublasLtMatrixTransformDesc_t transformDesc
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixTransformDescSetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatrixTransformDescSetAttribute(mublasLtMatrixTransformDesc_t transformDesc, mublasLtMatrixTransformDescAttributes_t attr, const void *buf, size_t sizeInBytes)
Set matrix transform operation descriptor attribute.
Parameters:
- transformDesc: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute was set successfully
Parameters:
- mublasLtMatrixTransformDesc_t transformDesc
- mublasLtMatrixTransformDescAttributes_t attr
- const void * buf
- size_t sizeInBytes
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatrixTransformDescGetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatrixTransformDescGetAttribute(mublasLtMatrixTransformDesc_t transformDesc, mublasLtMatrixTransformDescAttributes_t attr, void *buf, size_t sizeInBytes, size_t *sizeWritten)
Get matrix transform operation descriptor attribute.
Parameters:
- transformDesc: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
- sizeWritten: only valid when return value is MUBLAS_STATUS_SUCCESS. If sizeInBytes is non-zero: number of bytes actually written, if sizeInBytes is 0: number of bytes needed to write full contents
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if sizeInBytes is 0 and sizeWritten is NULL, or if sizeInBytes is non-zero and buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute's value was successfully written to user memory
Parameters:
- mublasLtMatrixTransformDesc_t transformDesc
- mublasLtMatrixTransformDescAttributes_t attr
- void * buf
- size_t sizeInBytes
- size_t * sizeWritten
Return type: mublasStatus_t MUBLASWINAPI
mublasLtEmulationDescInit
![][static]
static mublasStatus_t mublasLtEmulationDescInit(mublasLtEmulationDesc_t emulationDesc)
Initialize emulation descriptor in pre-allocated space.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if size of the pre-allocated space is insufficient
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtEmulationDesc_t emulationDesc
Return type: mublasStatus_t
mublasLtEmulationDescCreate
mublasStatus_t MUBLASWINAPI mublasLtEmulationDescCreate(mublasLtEmulationDesc_t *emulationDesc)
Create new emulation descriptor.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if memory could not be allocated
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtEmulationDesc_t * emulationDesc
Return type: mublasStatus_t MUBLASWINAPI
mublasLtEmulationDescDestroy
mublasStatus_t MUBLASWINAPI mublasLtEmulationDescDestroy(mublasLtEmulationDesc_t emulationDesc)
Destroy emulation descriptor.
Return values:
- MUBLAS_STATUS_SUCCESS: if operation was successful
Parameters:
- mublasLtEmulationDesc_t emulationDesc
Return type: mublasStatus_t MUBLASWINAPI
mublasLtEmulationDescSetAttribute
mublasStatus_t MUBLASWINAPI mublasLtEmulationDescSetAttribute(mublasLtEmulationDesc_t emulationDesc, mublasLtEmulationDescAttributes_t attr, const void *buf, size_t sizeInBytes)
Set emulation descriptor attribute.
Parameters:
- emulationDesc: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute was set successfully
Parameters:
- mublasLtEmulationDesc_t emulationDesc
- mublasLtEmulationDescAttributes_t attr
- const void * buf
- size_t sizeInBytes
Return type: mublasStatus_t MUBLASWINAPI
mublasLtEmulationDescGetAttribute
mublasStatus_t MUBLASWINAPI mublasLtEmulationDescGetAttribute(mublasLtEmulationDesc_t emulationDesc, mublasLtEmulationDescAttributes_t attr, void *buf, size_t sizeInBytes, size_t *sizeWritten)
Get emulation descriptor attribute.
Parameters:
- emulationDesc: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
- sizeWritten: only valid when return value is MUBLAS_STATUS_SUCCESS. If sizeInBytes is non-zero: number of bytes actually written, if sizeInBytes is 0: number of bytes needed to write full contents
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if sizeInBytes is 0 and sizeWritten is NULL, or if sizeInBytes is non-zero and buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute's value was successfully written to user memory
Parameters:
- mublasLtEmulationDesc_t emulationDesc
- mublasLtEmulationDescAttributes_t attr
- void * buf
- size_t sizeInBytes
- size_t * sizeWritten
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulPreferenceInit
![][static]
static mublasStatus_t mublasLtMatmulPreferenceInit(mublasLtMatmulPreference_t pref)
Initialize matmul heuristic search preference descriptor in pre-allocated space.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if size of the pre-allocated space is insufficient
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
Return type: mublasStatus_t
mublasLtMatmulPreferenceCreate
mublasStatus_t MUBLASWINAPI mublasLtMatmulPreferenceCreate(mublasLtMatmulPreference_t *pref)
Create new matmul heuristic search preference descriptor.
Return values:
- MUBLAS_STATUS_ALLOC_FAILED: if memory could not be allocated
- MUBLAS_STATUS_SUCCESS: if desciptor was created successfully
Parameters:
- mublasLtMatmulPreference_t * pref
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulPreferenceDestroy
mublasStatus_t MUBLASWINAPI mublasLtMatmulPreferenceDestroy(mublasLtMatmulPreference_t pref)
Destroy matmul heuristic search preference descriptor.
Return values:
- MUBLAS_STATUS_SUCCESS: if operation was successful
Parameters:
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulPreferenceSetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatmulPreferenceSetAttribute(mublasLtMatmulPreference_t pref, mublasLtMatmulPreferenceAttributes_t attr, const void *buf, size_t sizeInBytes)
Set matmul heuristic search preference descriptor attribute.
Parameters:
- pref: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute was set successfully
Parameters:
- mublasLtMatmulPreference_t pref
- mublasLtMatmulPreferenceAttributes_t attr
- const void * buf
- size_t sizeInBytes
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulPreferenceGetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatmulPreferenceGetAttribute(mublasLtMatmulPreference_t pref, mublasLtMatmulPreferenceAttributes_t attr, void *buf, size_t sizeInBytes, size_t *sizeWritten)
Get matmul heuristic search preference descriptor attribute.
Parameters:
- pref: The descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
- sizeWritten: only valid when return value is MUBLAS_STATUS_SUCCESS. If sizeInBytes is non-zero: number of bytes actually written, if sizeInBytes is 0: number of bytes needed to write full contents
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if sizeInBytes is 0 and sizeWritten is NULL, or if sizeInBytes is non-zero and buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute's value was successfully written to user memory
Parameters:
- mublasLtMatmulPreference_t pref
- mublasLtMatmulPreferenceAttributes_t attr
- void * buf
- size_t sizeInBytes
- size_t * sizeWritten
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulAlgoGetHeuristic
mublasStatus_t MUBLASWINAPI mublasLtMatmulAlgoGetHeuristic(mublasLtHandle_t lightHandle, mublasLtMatmulDesc_t operationDesc, mublasLtMatrixLayout_t Adesc, mublasLtMatrixLayout_t Bdesc, mublasLtMatrixLayout_t Cdesc, mublasLtMatrixLayout_t Ddesc, mublasLtMatmulPreference_t preference, int requestedAlgoCount, mublasLtMatmulHeuristicResult_t heuristicResultsArray[], int *returnAlgoCount)
Query mublasLt heuristic for algorithm appropriate for given use case.
Parameters:
- lightHandle: Pointer to the allocated mublasLt handle for the mublasLt context. See mublasLtHandle_t.
- operationDesc: Handle to the matrix multiplication descriptor.
- Adesc: Handle to the layout descriptors for matrix A.
- Bdesc: Handle to the layout descriptors for matrix B.
- Cdesc: Handle to the layout descriptors for matrix C.
- Ddesc: Handle to the layout descriptors for matrix D.
- preference: Pointer to the structure holding the heuristic search preferences descriptor. See mublasLtMatrixLayout_t.
- requestedAlgoCount: Size of heuristicResultsArray (in elements) and requested maximum number of algorithms to return.
- heuristicResultsArray: Output algorithms and associated runtime characteristics, ordered in increasing estimated compute time.
- returnAlgoCount: The number of heuristicResultsArray elements written.
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if requestedAlgoCount is less or equal to zero
- MUBLAS_STATUS_NOT_SUPPORTED: if no heuristic function available for current configuration
- MUBLAS_STATUS_SUCCESS: if query was successful, inspect heuristicResultsArray[0 to (returnAlgoCount - 1)].state for detail status of results
Parameters:
-
mublasLtHandle_t lightHandle
-
mublasLtMatmulDesc_t operationDesc
-
mublasLtMatrixLayout_t Adesc
-
mublasLtMatrixLayout_t Bdesc
-
mublasLtMatrixLayout_t Cdesc
-
mublasLtMatrixLayout_t Ddesc
-
mublasLtMatmulPreference_t preference
-
int requestedAlgoCount
-
mublasLtMatmulHeuristicResult_t heuristicResultsArray<!--
-
array {"type":"element","name":"array","attributes":{},"children":[{"type":"text","text":"[]"}]} -
int * returnAlgoCount
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulAlgoGetIds
mublasStatus_t MUBLASWINAPI mublasLtMatmulAlgoGetIds(mublasLtHandle_t lightHandle, mublasComputeType_t computeType, musaDataType_t scaleType, musaDataType_t Atype, musaDataType_t Btype, musaDataType_t Ctype, musaDataType_t Dtype, int requestedAlgoCount, int algoIdsArray[], int *returnAlgoCount)
Routine to get all algo IDs that can potentially run
Parameters:
- int: requestedAlgoCount requested number of algos (must be less or equal to size of algoIdsA (in elements))
- algoIdsA: array to write algoIds to
- returnAlgoCount: number of algoIds actually written
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if requestedAlgoCount is less or equal to zero
- MUBLAS_STATUS_SUCCESS: if query was successful, inspect returnAlgoCount to get actual number of IDs available
Parameters:
-
mublasLtHandle_t lightHandle
-
mublasComputeType_t computeType
-
musaDataType_t scaleType
-
musaDataType_t Atype
-
musaDataType_t Btype
-
musaDataType_t Ctype
-
musaDataType_t Dtype
-
int requestedAlgoCount
-
int algoIdsArray<!--
-
array {"type":"element","name":"array","attributes":{},"children":[{"type":"text","text":"[]"}]} -
int * returnAlgoCount
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulAlgoInit
mublasStatus_t MUBLASWINAPI mublasLtMatmulAlgoInit(mublasLtHandle_t lightHandle, mublasComputeType_t computeType, musaDataType_t scaleType, musaDataType_t Atype, musaDataType_t Btype, musaDataType_t Ctype, musaDataType_t Dtype, int algoId, mublasLtMatmulAlgo_t *algo)
Initialize algo structure
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if algo is NULL or algoId is outside of recognized range
- MUBLAS_STATUS_NOT_SUPPORTED: if algoId is not supported for given combination of data types
- MUBLAS_STATUS_SUCCESS: if the structure was successfully initialized
Parameters:
- mublasLtHandle_t lightHandle
- mublasComputeType_t computeType
- musaDataType_t scaleType
- musaDataType_t Atype
- musaDataType_t Btype
- musaDataType_t Ctype
- musaDataType_t Dtype
- int algoId
- mublasLtMatmulAlgo_t * algo
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulAlgoCheck
mublasStatus_t MUBLASWINAPI mublasLtMatmulAlgoCheck(mublasLtHandle_t lightHandle, mublasLtMatmulDesc_t operationDesc, mublasLtMatrixLayout_t Adesc, mublasLtMatrixLayout_t Bdesc, mublasLtMatrixLayout_t Cdesc, mublasLtMatrixLayout_t Ddesc, const mublasLtMatmulAlgo_t *algo, mublasLtMatmulHeuristicResult_t *result)
Check configured algo descriptor for correctness and support on current device.
Result includes required workspace size and calculated wave count.
MUBLAS_STATUS_SUCCESS doesn't fully guarantee algo will run (will fail if e.g. buffers are not correctly aligned); but if mublasLtMatmulAlgoCheck fails, the algo will not run.
Parameters:
- algo: algo configuration to check
- result: result structure to report algo runtime characteristics; algo field is never updated
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if matrix layout descriptors or operation descriptor don't match algo descriptor
- MUBLAS_STATUS_NOT_SUPPORTED: if algo configuration or data type combination is not currently supported on given device
- MUBLAS_STATUS_ARCH_MISMATCH: if algo configuration cannot be run using the selected device
- MUBLAS_STATUS_SUCCESS: if check was successful
Parameters:
- mublasLtHandle_t lightHandle
- mublasLtMatmulDesc_t operationDesc
- mublasLtMatrixLayout_t Adesc
- mublasLtMatrixLayout_t Bdesc
- mublasLtMatrixLayout_t Cdesc
- mublasLtMatrixLayout_t Ddesc
- const mublasLtMatmulAlgo_t * algo: may point to result->algo
- mublasLtMatmulHeuristicResult_t * result
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulAlgoCapGetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatmulAlgoCapGetAttribute(const mublasLtMatmulAlgo_t *algo, mublasLtMatmulAlgoCapAttributes_t attr, void *buf, size_t sizeInBytes, size_t *sizeWritten)
Get algo capability attribute.
E.g. to get list of supported Tile IDs: mublasLtMatmulTile_t tiles[MUBLASLT_MATMUL_TILE_END]; size_t num_tiles, size_written; if (mublasLtMatmulAlgoCapGetAttribute(algo, MUBLASLT_ALGO_CAP_TILE_IDS, tiles, sizeof(tiles), size_written) == MUBLAS_STATUS_SUCCESS) { num_tiles = size_written / sizeof(tiles[0]); }
Parameters:
- algo: The algo descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
- sizeWritten: only valid when return value is MUBLAS_STATUS_SUCCESS. If sizeInBytes is non-zero: number of bytes actually written, if sizeInBytes is 0: number of bytes needed to write full contents
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if sizeInBytes is 0 and sizeWritten is NULL, or if sizeInBytes is non-zero and buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute's value was successfully written to user memory
Parameters:
- const mublasLtMatmulAlgo_t * algo
- mublasLtMatmulAlgoCapAttributes_t attr
- void * buf
- size_t sizeInBytes
- size_t * sizeWritten
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulAlgoConfigSetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatmulAlgoConfigSetAttribute(mublasLtMatmulAlgo_t *algo, mublasLtMatmulAlgoConfigAttributes_t attr, const void *buf, size_t sizeInBytes)
Set algo configuration attribute.
Parameters:
- algo: The algo descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute was set successfully
Parameters:
- mublasLtMatmulAlgo_t * algo
- mublasLtMatmulAlgoConfigAttributes_t attr
- const void * buf
- size_t sizeInBytes
Return type: mublasStatus_t MUBLASWINAPI
mublasLtMatmulAlgoConfigGetAttribute
mublasStatus_t MUBLASWINAPI mublasLtMatmulAlgoConfigGetAttribute(const mublasLtMatmulAlgo_t *algo, mublasLtMatmulAlgoConfigAttributes_t attr, void *buf, size_t sizeInBytes, size_t *sizeWritten)
Get algo configuration attribute.
Parameters:
- algo: The algo descriptor
- attr: The attribute
- buf: memory address containing the new value
- sizeInBytes: size of buf buffer for verification (in bytes)
- sizeWritten: only valid when return value is MUBLAS_STATUS_SUCCESS. If sizeInBytes is non-zero: number of bytes actually written, if sizeInBytes is 0: number of bytes needed to write full contents
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if sizeInBytes is 0 and sizeWritten is NULL, or if sizeInBytes is non-zero and buf is NULL or sizeInBytes doesn't match size of internal storage for selected attribute
- MUBLAS_STATUS_SUCCESS: if attribute's value was successfully written to user memory
Parameters:
- const mublasLtMatmulAlgo_t * algo
- mublasLtMatmulAlgoConfigAttributes_t attr
- void * buf
- size_t sizeInBytes
- size_t * sizeWritten
Return type: mublasStatus_t MUBLASWINAPI
mublasLtLoggerSetCallback
mublasStatus_t MUBLASWINAPI mublasLtLoggerSetCallback(mublasLtLoggerCallback_t callback)
Experimental: Logger callback setter.
Parameters:
- callback: a user defined callback function to be called by the logger
Return values:
- MUBLAS_STATUS_SUCCESS: if callback was set successfully
Parameters:
- mublasLtLoggerCallback_t callback
Return type: mublasStatus_t MUBLASWINAPI
mublasLtLoggerSetFile
mublasStatus_t MUBLASWINAPI mublasLtLoggerSetFile(FILE *file)
Experimental: Log file setter.
Parameters:
- file: an open file with write permissions
Return values:
- MUBLAS_STATUS_SUCCESS: if log file was set successfully
Parameters:
- FILE * file
Return type: mublasStatus_t MUBLASWINAPI
mublasLtLoggerOpenFile
mublasStatus_t MUBLASWINAPI mublasLtLoggerOpenFile(const char *logFile)
Experimental: Open log file.
Parameters:
- logFile: log file path. if the log file does not exist, it will be created
Return values:
- MUBLAS_STATUS_SUCCESS: if log file was created successfully
Parameters:
- const char * logFile
Return type: mublasStatus_t MUBLASWINAPI
mublasLtLoggerSetLevel
mublasStatus_t MUBLASWINAPI mublasLtLoggerSetLevel(int level)
Experimental: Log level setter.
Parameters:
- level: log level, should be one of the following: 0. Off
-
Errors
-
Performance Trace
-
Performance Hints
-
Heuristics Trace
-
API Trace
Return values:
- MUBLAS_STATUS_INVALID_VALUE: if log level is not one of the above levels
- MUBLAS_STATUS_SUCCESS: if log level was set successfully
Parameters:
- int level
Return type: mublasStatus_t MUBLASWINAPI
mublasLtLoggerSetMask
mublasStatus_t MUBLASWINAPI mublasLtLoggerSetMask(int mask)
Experimental: Log mask setter.
Parameters:
- mask: log mask, should be a combination of the following masks: 0. Off
-
Errors
-
Performance Trace
-
Performance Hints
-
Heuristics Trace
-
API Trace
Return values:
- MUBLAS_STATUS_SUCCESS: if log mask was set successfully
Parameters:
- int mask
Return type: mublasStatus_t MUBLASWINAPI
mublasLtLoggerForceDisable
mublasStatus_t MUBLASWINAPI mublasLtLoggerForceDisable()
Experimental: Disable logging for the entire session.
Return values:
- MUBLAS_STATUS_SUCCESS: if disabled logging
Return type: mublasStatus_t MUBLASWINAPI
Structure mublasLtEmulationDescOpaque_t
Definition: mublasLt.h (line 115)
Semi-opaque descriptor for properties related to floating point emulation
Members
Public attributes
Member data
Definition: mublasLt.h (line 117)
uint64_t mublasLtEmulationDescOpaque_t::data[8][8]
Type: uint64_t
Structure mublasLtMatmulAlgo_t
Definition: mublasLt.h (line 76)
Semi-opaque algorithm descriptor (to avoid complicated alloc/free schemes)
This structure can be trivially serialized and later restored for use with the same version of mublas library to save on selecting the right configuration again.
Members
Public attributes
Member data
Definition: mublasLt.h (line 78)
uint64_t mublasLtMatmulAlgo_t::data[8][8]
Type: uint64_t
Structure mublasLtMatmulDescOpaque_t
Definition: mublasLt.h (line 83)
Semi-opaque descriptor for mublasLtMatmul() operation details
Members
Public attributes
Member data
Definition: mublasLt.h (line 85)
uint64_t mublasLtMatmulDescOpaque_t::data[32][32]
Type: uint64_t
Structure mublasLtMatmulHeuristicResult_t
Definition: mublasLt.h (line 2275)
Results structure used by mublasLtMatmulGetAlgo.
Holds returned configured algo descriptor and its runtime properties.
Members
Public attributes
Member algo
Definition: mublasLt.h (line 2282)
mublasLtMatmulAlgo_t mublasLtMatmulHeuristicResult_t::algo
Matmul algorithm descriptor.
Must be initialized with mublasLtMatmulAlgoInit() if preferences' MUBLASLT_MATMUL_PERF_SEARCH_MODE is set to MUBLASLT_SEARCH_LIMITED_BY_ALGO_ID
Type: mublasLtMatmulAlgo_t
Member workspaceSize
Definition: mublasLt.h (line 2286)
size_t mublasLtMatmulHeuristicResult_t::workspaceSize
Actual size of workspace memory required.
Type: size_t
Member state
Definition: mublasLt.h (line 2291)
mublasStatus_t mublasLtMatmulHeuristicResult_t::state
Result status, other fields are only valid if after call to mublasLtMatmulAlgoGetHeuristic() this member is set to MUBLAS_STATUS_SUCCESS.
Type: mublasStatus_t
Member wavesCount
Definition: mublasLt.h (line 2297)
float mublasLtMatmulHeuristicResult_t::wavesCount
Waves count - a device utilization metric.
wavesCount value of 1.0f suggests that when kernel is launched it will fully occupy the GPU.
Type: float
Member reserved
Definition: mublasLt.h (line 2299)
int mublasLtMatmulHeuristicResult_t::reserved[4][4]
Type: int
Structure mublasLtMatmulPreferenceOpaque_t
Definition: mublasLt.h (line 105)
Semi-opaque descriptor for mublasLtMatmulPreference() operation details
Members
Public attributes
Member data
Definition: mublasLt.h (line 107)
uint64_t mublasLtMatmulPreferenceOpaque_t::data[12][12]
Type: uint64_t
Structure mublasLtMatrixLayoutOpaque_t
Definition: mublasLt.h (line 62)
Semi-opaque descriptor for matrix memory layout
Members
Public attributes
Member data
Definition: mublasLt.h (line 64)
uint64_t mublasLtMatrixLayoutOpaque_t::data[14][14]
Type: uint64_t
Structure mublasLtMatrixTransformDescOpaque_t
Definition: mublasLt.h (line 94)
Semi-opaque descriptor for mublasLtMatrixTransform() operation details
Members
Public attributes
Member data
Definition: mublasLt.h (line 96)
uint64_t mublasLtMatrixTransformDescOpaque_t::data[8][8]

