MLIR
21.0.0git
|
#include "mlir/Analysis/DataFlow/ConstantPropagationAnalysis.h"
#include "mlir/Analysis/DataFlow/DeadCodeAnalysis.h"
#include "mlir/Analysis/DataFlow/SparseAnalysis.h"
#include "mlir/Analysis/DataFlowFramework.h"
#include "mlir/Dialect/GPU/IR/GPUDialect.h"
#include "mlir/Dialect/GPU/Utils/DistributionUtils.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/Vector/IR/VectorOps.h"
#include "mlir/Dialect/Vector/Transforms/VectorDistribution.h"
#include "mlir/Dialect/XeGPU/IR/XeGPU.h"
#include "mlir/Dialect/XeGPU/Transforms/Passes.h"
#include "mlir/Dialect/XeGPU/Transforms/Transforms.h"
#include "mlir/Dialect/XeGPU/Utils/XeGPUUtils.h"
#include "mlir/IR/AffineMap.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/TypeRange.h"
#include "mlir/IR/Value.h"
#include "mlir/IR/Visitors.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "mlir/Transforms/InliningUtils.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/InterleavedRange.h"
#include "llvm/Support/raw_ostream.h"
#include "mlir/Dialect/XeGPU/Transforms/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
mlir | |
Include the generated interface declarations. | |
mlir::xegpu | |
Macros | |
#define | GEN_PASS_DEF_XEGPUSUBGROUPDISTRIBUTE |
#define | DEBUG_TYPE "xegpu-subgroup-distribute" |
#define | DBGS() (llvm::dbgs() << "[" DEBUG_TYPE "]: ") |
Variables | |
constexpr unsigned | subgroupSize = 16 |
HW dependent constants. More... | |
constexpr unsigned | packedSizeInBitsForDefault |
If DPAS A or B operands have low precision element types they must be packed according to the following sizes. More... | |
constexpr unsigned | packedSizeInBitsForDpasB |
#define DBGS | ( | ) | (llvm::dbgs() << "[" DEBUG_TYPE "]: ") |
Definition at line 51 of file XeGPUSubgroupDistribute.cpp.
#define DEBUG_TYPE "xegpu-subgroup-distribute" |
Definition at line 50 of file XeGPUSubgroupDistribute.cpp.
#define GEN_PASS_DEF_XEGPUSUBGROUPDISTRIBUTE |
Definition at line 45 of file XeGPUSubgroupDistribute.cpp.
|
constexpr |
If DPAS A or B operands have low precision element types they must be packed according to the following sizes.
Definition at line 61 of file XeGPUSubgroupDistribute.cpp.
|
constexpr |
Definition at line 63 of file XeGPUSubgroupDistribute.cpp.
|
constexpr |
HW dependent constants.
TODO: These constants should be queried from the target information.
Definition at line 58 of file XeGPUSubgroupDistribute.cpp.
Referenced by mlir::spirv::getEntryPointABIAttr(), lowerEntryPointABIAttr(), mlir::populateGpuLowerClusteredSubgroupReduceToDPPPatterns(), mlir::populateGpuLowerClusteredSubgroupReduceToShufflePatterns(), mlir::populateGpuLowerSubgroupReduceToDPPPatterns(), and mlir::populateGpuLowerSubgroupReduceToShufflePatterns().