Closed
[Requirement|需求建议]: 【FIA】tiling 重构 #1524
zuoywAdd on Mar 28Closed at Mar 28
Mar 28 Modify description of issue
Mar 28 Modify description of issue
Mar 28 Modify description of issue
Mar 28 Modify description of issue
Mar 28 Close issue
Mar 28 Added label: resolved
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
整理tiling侧代码,让结构更加清晰,便于维护和继承
Benefit / Necessity (价值/作用)
1、消除FIA tiling对IFA、PFA依赖,提高算子代码可读性和可拓展性
2、按阶段拆分tiling,分为 parser、checker 和 tiling impl阶段,模块功能更内聚
3、按参数组+分层校验+量化类型+场景+代际实现校验,校验更清晰
Design(设计方案)
tiling阶段拆分
分为 parser、checker 和 tiling impl阶段
1、其中parser完成基础校验和解析输入信息,平台信息
2、checker 根据特性组,按4层分层完成校验
3、tiling impl 根据场景完成分核逻辑计算,生成tilingdata、tilingkey、输出workspaceSize、配置context
FIA 算子约束层次拆分
分为4个档位,按约束复杂程度递增分为 单参数约束、存在性约束、一致性约束和特性交叉约束,各档位约束内容和示例如下:
1、单参数约束:对于单个接口参数的约束,包含FusedInferAttentionScore算子接口中的 Tensor、TensorList、Array 和 Attributes
2、存在性约束:约束特定场景下,特性参数组内,必须传入某参数,或不支持传入某参数(待讨论,考虑和一致性合并)
3、一致性约束:特性参数组内,各个参数间约束。
4、特性交叉约束:涉及多个参数组,不同参数组间交叉约束