MLIR 24.0.0git
WmmaOpsToSPIRV.cpp File Reference
#include "mlir/Conversion/GPUToSPIRV/GPUToSPIRV.h"
#include "mlir/Dialect/GPU/IR/GPUDialect.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVEnums.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVTypes.h"
#include "mlir/Dialect/SPIRV/IR/TargetAndABI.h"
#include "mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/IR/ValueRange.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include <cassert>
#include <limits>

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::khr

Functions

static spirv::CooperativeMatrixType mlir::convertMMAMatrixType (gpu::MMAMatrixType type)
static std::optional< Typemlir::convertMemrefOfMMAMatrixType (MemRefType type)
static bool mlir::createElementwiseOp (ConversionPatternRewriter &builder, gpu::SubgroupMmaElementwiseOp op, Type coopType, ValueRange operands)
 Creates a SPIR-V op to replace the given GPU subgroup mma elementwise op when the elementwise op directly supports with cooperative matrix type.
bool mlir::allOperandsHaveSameCoopMatrixType (ValueRange operands)
static bool mlir::hasSignedIntegerElementType (spirv::CooperativeMatrixType type)
static spirv::CooperativeMatrixOperandsKHR mlir::getSignedCoopMatrixOperands (spirv::CooperativeMatrixType aType, spirv::CooperativeMatrixType bType, spirv::CooperativeMatrixType cType, spirv::CooperativeMatrixType resultType)