| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir][spirv] Implement vector type legalization for function signatures (#98337) ### Description This PR implements a minimal version of function signature conversion to unroll vectors into 1D and with a size supported by SPIR-V (2, 3 or 4 depending on the original dimension). This PR also includes new unit tests that only check for function signature conversion. ### Future Plans - Check for capabilities that support vectors of size 8 or 16. - Set up OneToNTypeConversion and DialectConversion to replace the current implementation that uses GreedyPatternRewriteDriver. - Introduce other vector unrolling patterns to cancel out the vector.insert_strided_slice and vector.extract_strided_slice ops and fully legalize the vector types in the function body. - Handle func::CallOp and declarations. - Restructure the code in SPIRVConversion.cpp. - Create test passes for testing sets of patterns in isolation. - Optimize the way original shape is splitted into target shapes, e.g. vector<5xi32> can be splitted into vector<4xi32> and vector<1xi32>. --------- Co-authored-by: Jakub Kuderski <kubakuderski@gmail.com> | 1 年前 | |
[mlir][spirv] Implement vector type legalization for function signatures (#98337) ### Description This PR implements a minimal version of function signature conversion to unroll vectors into 1D and with a size supported by SPIR-V (2, 3 or 4 depending on the original dimension). This PR also includes new unit tests that only check for function signature conversion. ### Future Plans - Check for capabilities that support vectors of size 8 or 16. - Set up OneToNTypeConversion and DialectConversion to replace the current implementation that uses GreedyPatternRewriteDriver. - Introduce other vector unrolling patterns to cancel out the vector.insert_strided_slice and vector.extract_strided_slice ops and fully legalize the vector types in the function body. - Handle func::CallOp and declarations. - Restructure the code in SPIRVConversion.cpp. - Create test passes for testing sets of patterns in isolation. - Optimize the way original shape is splitted into target shapes, e.g. vector<5xi32> can be splitted into vector<4xi32> and vector<1xi32>. --------- Co-authored-by: Jakub Kuderski <kubakuderski@gmail.com> | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 |