Skip to main content

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

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:

Return type: mublasStatus_t MUBLASWINAPI

mublasLtDestroy

mublasStatus_t MUBLASWINAPI mublasLtDestroy(mublasLtHandle_t lightHandle)

Parameters:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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
  1. Errors

  2. Performance Trace

  3. Performance Hints

  4. Heuristics Trace

  5. 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
  1. Errors

  2. Performance Trace

  3. Performance Hints

  4. Heuristics Trace

  5. 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]

Type: uint64_t