MLIR-AIE 1.4.5.dev
AIEVecMatMul.h File Reference
#include "aie/Dialect/AIEVec/IR/AIEVecOps.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Diagnostics.h"
#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/SmallVector.h"
#include <optional>
Include dependency graph for AIEVecMatMul.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  xilinx::aievec::MatMulRecipe

Namespaces

namespace  xilinx
namespace  xilinx::aievec

Enumerations

enum class  xilinx::aievec::MatMulRecipeKind {
  xilinx::aievec::AIE2_I8xI4_4x16x8 , xilinx::aievec::AIE2_I8xI8_4x8x8 , xilinx::aievec::AIE2_I16xI8_4x4x8 , xilinx::aievec::AIE2_I16xI16_4x2x8 ,
  xilinx::aievec::AIE2_I16xI8_2x8x8_Acc64 , xilinx::aievec::AIE2_I16xI8_4x8x4_Acc64 , xilinx::aievec::AIE2_I16xI16_2x4x8_Acc64 , xilinx::aievec::AIE2_I16xI16_4x4x4_Acc64 ,
  xilinx::aievec::AIE2_I32xI16_4x2x4_Acc64 , xilinx::aievec::AIE2_BF16_4x8x4 , xilinx::aievec::AIE2P_I8_8x8x8 , xilinx::aievec::AIE2P_I16_8x2x8 ,
  xilinx::aievec::AIE2P_BFP16_8x8x8 , xilinx::aievec::AIE2P_BFP16_4x8x8 , xilinx::aievec::AIE2P_BF16Elem_8x8x4 , xilinx::aievec::AIE2P_BF16Elem_4x8x4 ,
  xilinx::aievec::AIE2P_BF16Outer_8x1x8
}

Functions

std::optional< MatMulRecipe > xilinx::aievec::getMatMulRecipe (bool aie2p, mlir::Type lhsElemTy, mlir::Type rhsElemTy, mlir::Type accElemTy, int64_t m, int64_t k, int64_t n)
std::optional< llvm::SmallVector< ShuffleMode, 2 > > xilinx::aievec::getTileTransposeModes (bool aie2p, mlir::Type elemTy, int64_t rows, int64_t cols)
std::optional< MatMulRecipe > xilinx::aievec::checkMatMulTile (bool aie2p, mlir::VectorType lhsTy, mlir::VectorType rhsTy, mlir::VectorType accTy, bool lhsTransposed, bool rhsTransposed, llvm::function_ref< mlir::InFlightDiagnostic()> emitError=nullptr)