[Mlir-commits] [mlir] [mlir][xegpu] Relax rank restriction of TensorDescType (PR #145916)
Adam Siemieniuk
llvmlistbot at llvm.org
Mon Jun 30 06:58:30 PDT 2025
================
@@ -450,24 +442,7 @@ LogicalResult CreateDescOp::verify() {
// check total size
auto chunkSize = tdescTy.getChunkSize();
- auto elemBits = tdescTy.getElementType().getIntOrFloatBitWidth();
- auto bitsPerLane = elemBits * chunkSize;
- if (chunkSize > 1 && bitsPerLane % 32) {
- // For 8-bit and 16-bit data, the hardware only supports chunk size of 1.
- // For 32-bit data, the hardware can support larger larger chunk size. So
- // we can bitcast 8-bit/16-bit data to 32-bit data for better performance.
- // But this requires the total size is 32 bit aligned to make the
- // optimization work.
- return emitOpError(
- "access size (chunk_size * sizeof(elemTy)) should be 32-bit aligned.");
- }
-
- auto lscConstraints = 512 * 8; // each access is upto 512 bytes.
- if (elemBits * tdescTy.getNumElements() > lscConstraints)
- return emitOpError("total access size (simd_lanes * chunk_size * "
- "sizeof(elemTy)) is upto 512 bytes.");
-
- SmallVector<int64_t> shape({(int64_t)getNumOffsets()});
----------------
adam-smnk wrote:
> I suppose this will be checked in XeVM.
+1 looking at the current abstractions
A completely separate validation pass that also takes target uarch info might be best at this point
https://github.com/llvm/llvm-project/pull/145916
More information about the Mlir-commits
mailing list