This change allow CooperativeMatrix Load/Store operations to use pointer type that may not match the matrix element type. This allow us to declare buffer with a larger type size than the matrix element type. This follows SPIR-V spec and this is needed to be able to use cooperative matrix in combination with shared local memory efficiently.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/include/mlir/Dialect/SPIRV/SPIRVCooperativeMatrixOps.td | ||
---|---|---|
114 | nit : we can make the IR a bit nicer by saying : !spv.ptr<..> as !spv.coopmatrix cause it is effectively casting while loading... | |
248–250 | nit: please fix indentation. | |
mlir/lib/Dialect/SPIRV/SPIRVOps.cpp | ||
2836 | Are we using the PhysicalStorageBuffer? Maybe just have Workgroup and StorageBuffer for now? |
nit : we can make the IR a bit nicer by saying
cause it is effectively casting while loading...