forked from OSchip/llvm-project
bbf3ef8541
Summary: This revision adds lowering of vector.contract to llvm.intr.matrix_multiply. Note that there is currently a mismatch between the MLIR vector dialect which expects row-major layout and the LLVM matrix intrinsics which expect column major layout. As a consequence, we currently only match a vector.contract with indexing maps that express column-major matrix multiplication. Other cases would require additional transposes and it is better to wait for LLVM intrinsics to provide a per-operation attribute that would specify which layout is expected. A separate integration test, not submitted to MLIR core, has independently verified that correct execution occurs on a 2x2x2 matrix multiplication. Differential Revision: https://reviews.llvm.org/D76014 |
||
---|---|---|
.. | ||
AffineToStandard | ||
GPUCommon | ||
GPUToCUDA | ||
GPUToNVVM | ||
GPUToROCDL | ||
GPUToSPIRV | ||
GPUToVulkan | ||
LinalgToLLVM | ||
LinalgToSPIRV | ||
LoopToStandard | ||
LoopsToGPU | ||
StandardToLLVM | ||
StandardToSPIRV | ||
VectorToLLVM | ||
VectorToLoops | ||
CMakeLists.txt |