[PIR][Inference] pir support multihead_matmul_fuse_pass to fuse a multihead_matmul op and other Important works #60892
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR types
Others
PR changes
Others
Description
本PR主要做了如下工作:
升级了常量折叠pass,支持builtin.combine op的折叠,思路是将其与下一个op一起打包去执行;
添加了multihead_matmul_fuse_pass,支持两种pattern的fuse;
实现中,关于weights和biases都是通过算子组合的形式(这里是reshape+combine+concat)的形式模拟计算,之后再借助常量折叠pass将插入的用于模拟计算的op给折叠起来。
为DRR的ResultPattern添加了一些简单常用的属性,书写简洁清晰;
相关修改已在多个关键模型上验证过,均没有问题。
TOOD:
Others
Pcard-71500