MLIR  20.0.0git
Public Attributes | List of all members
mlir::linalg::BlockPackMatmulOptions Struct Reference

#include "mlir/Dialect/Linalg/Transforms/Transforms.h"

Public Attributes

SmallVector< int64_t, 3 > blockFactors
 Minor block factors (mb, nb, kb) for packing relayout where mb, mn are the parallel dimensions and kb is the reduction dimension. More...
 
bool allowPadding = true
 If true, allows packing of dimensions that only partially fit into the block factors. More...
 
SmallVector< int64_t, 3 > mnkPaddedSizesNextMultipleOf
 Next multiples of the packing sizes. More...
 
SmallVector< int64_t, 3 > mnkOrder = {0, 1, 2}
 Permutation of matmul (M, N, K) dimensions order. More...
 
bool lhsTransposeOuterBlocks = false
 Transpose LHS outer block layout [MB][KB] -> [KB][MB]. More...
 
bool lhsTransposeInnerBlocks = false
 Transpose LHS inner block layout [mb][kb] -> [kb][mb]. More...
 
bool rhsTransposeOuterBlocks = true
 Transpose RHS outer block layout [KB][NB] -> [NB][KB]. More...
 
bool rhsTransposeInnerBlocks = true
 Transpose RHS inner block layout [kb][nb] -> [nb][kb]. More...
 

Detailed Description

Definition at line 1184 of file Transforms.h.

Member Data Documentation

◆ allowPadding

bool mlir::linalg::BlockPackMatmulOptions::allowPadding = true

If true, allows packing of dimensions that only partially fit into the block factors.

Definition at line 1191 of file Transforms.h.

◆ blockFactors

SmallVector<int64_t, 3> mlir::linalg::BlockPackMatmulOptions::blockFactors

Minor block factors (mb, nb, kb) for packing relayout where mb, mn are the parallel dimensions and kb is the reduction dimension.

Definition at line 1187 of file Transforms.h.

◆ lhsTransposeInnerBlocks

bool mlir::linalg::BlockPackMatmulOptions::lhsTransposeInnerBlocks = false

Transpose LHS inner block layout [mb][kb] -> [kb][mb].

Definition at line 1203 of file Transforms.h.

◆ lhsTransposeOuterBlocks

bool mlir::linalg::BlockPackMatmulOptions::lhsTransposeOuterBlocks = false

Transpose LHS outer block layout [MB][KB] -> [KB][MB].

Definition at line 1200 of file Transforms.h.

◆ mnkOrder

SmallVector<int64_t, 3> mlir::linalg::BlockPackMatmulOptions::mnkOrder = {0, 1, 2}

Permutation of matmul (M, N, K) dimensions order.

Definition at line 1197 of file Transforms.h.

◆ mnkPaddedSizesNextMultipleOf

SmallVector<int64_t, 3> mlir::linalg::BlockPackMatmulOptions::mnkPaddedSizesNextMultipleOf

Next multiples of the packing sizes.

Definition at line 1194 of file Transforms.h.

◆ rhsTransposeInnerBlocks

bool mlir::linalg::BlockPackMatmulOptions::rhsTransposeInnerBlocks = true

Transpose RHS inner block layout [kb][nb] -> [nb][kb].

Definition at line 1209 of file Transforms.h.

◆ rhsTransposeOuterBlocks

bool mlir::linalg::BlockPackMatmulOptions::rhsTransposeOuterBlocks = true

Transpose RHS outer block layout [KB][NB] -> [NB][KB].

Definition at line 1206 of file Transforms.h.


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