| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir][tosa] Add profile-based operation validation (#126992) TOSA MLIR profile-based validation is designed to identify the profile/extension requirements for each operation in TOSA MLIR graph, ensuring that TOSA operators conform to the profiles and extensions enabled by the target implementation. The available profiles/extensions are reflected in the availability property attached to each TOSA operator in the dialect. The design of availability, the profile/extension classes, and their interface, is inspired by the SPIRV implementation. This patch includes the following changes: - Introduces profile and extension knowledge within the dialect and establishes an interface to query this information. - Implements profile-based validation logic in the pass. - Adds a TargetEnv class that represents the capabilities enabled in the target implementation, such as profiles, extensions, and levels. - Adds a set of tests to ensure that profile and extension requirements are properly attached to the operations and that validation correctly verifies the requirements of a given operation against the target implementation. | 1 年前 | |
[mlir][tosa] Add profile-based operation validation (#126992) TOSA MLIR profile-based validation is designed to identify the profile/extension requirements for each operation in TOSA MLIR graph, ensuring that TOSA operators conform to the profiles and extensions enabled by the target implementation. The available profiles/extensions are reflected in the availability property attached to each TOSA operator in the dialect. The design of availability, the profile/extension classes, and their interface, is inspired by the SPIRV implementation. This patch includes the following changes: - Introduces profile and extension knowledge within the dialect and establishes an interface to query this information. - Implements profile-based validation logic in the pass. - Adds a TargetEnv class that represents the capabilities enabled in the target implementation, such as profiles, extensions, and levels. - Adds a set of tests to ensure that profile and extension requirements are properly attached to the operations and that validation correctly verifies the requirements of a given operation against the target implementation. | 1 年前 | |
[mlir][tosa] Convert TOSA enumerations from StringBasedAttr to Tosa_I32EnumAttr (#152856) Fixes #152129 Use Tosa_I32EnumAttr instead of StringBasedAttr to represent Tosa enumerations. This PR replaces StringBasedAttr with Tosa_I32EnumAttr to represent Tosa enumerations as per the specification. The intent is to make the IR and C++ APIs more type-safe and prevent fragile string comparisons in passes. Enumerations rewritten are: - Tosa_ResizeTypeAttr - Tosa_NanPropagationAttr - Tosa_RoundingTypeAttr **BREAKING CHANGE**: This commit changes attribute assembly and the C++ API surface for the listed attributes. Code that previously used StringAttr for these fields must now be updated to use the new enum representation. In .mlir files, replace string literals with the enum assembly (e.g. mode = #tosa.resize_type<BILINEAR>). In C++, update call sites to either pass the generated enum (e.g. ::mlir::tosa::RoundingType::SINGLE_ROUND) into builder overloads or construct the typed attribute with tosa::RoundingTypeAttr::get(context, /*enum*/) and pass that. | 10 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 |