已合并
fix(lint): Unify loop detection across OL43/OL23/OL56 for loop_unroll #584
lizixuan创建于 7 天前
fix(lint): Unify loop detection across OL43/OL23/OL56 for loop_unroll #584
已合并
共 6 个文件变更+150-13
| @@ -521,7 +521,7 @@ | |||
| 521 | 6 | 521 | 6 |
| 522 | ], | 522 | ], |
| 523 | "target": "gate", | 523 | "target": "gate", |
| 524 | - "rule": "DESIGN.md 声明动态轴时,每个相关 impl 的 jit 函数必须包含遍历动态轴的真实 pypto.loop;该规则为硬性门禁,不得因 NPU 运行通过而跳过" | 524 | + "rule": "DESIGN.md 声明动态轴时,每个相关 impl 的 jit 函数必须包含遍历动态轴的真实 pypto.loop / pypto.loop_unroll;该规则为硬性门禁,不得因 NPU 运行通过而跳过" |
| 525 | }, | 525 | }, |
| 526 | { | 526 | { |
| 527 | "id": "OL44", | 527 | "id": "OL44", |
| @@ -595,7 +595,7 @@ | |||
| 595 | 7 | 595 | 7 |
| 596 | ], | 596 | ], |
| 597 | "target": "impl", | 597 | "target": "impl", |
| 598 | - "rule": "unroll_list 只能出现在最内层 pypto.loop(即其 body 内不再嵌套其他 pypto.loop);外层 pypto.loop 携带 unroll_list 会触发编译路径爆炸或寄存器拷贝 pass 引起的精度异常" | 598 | + "rule": "unroll_list 只能出现在最内层 pypto.loop / pypto.loop_unroll(即其 body 内不再嵌套其他 pypto.loop / pypto.loop_unroll);外层 pypto.loop / pypto.loop_unroll 携带 unroll_list 会触发编译路径爆炸或寄存器拷贝 pass 引起的精度异常" |
| 599 | }, | 599 | }, |
| 600 | { | 600 | { |
| 601 | "id": "OL56", | 601 | "id": "OL56", |
| @@ -608,7 +608,7 @@ | |||
| 608 | 6 | 608 | 6 |
| 609 | ], | 609 | ], |
| 610 | "target": "impl", | 610 | "target": "impl", |
| 611 | - "rule": "Stage 6 之前 pypto.loop 的 unroll_list 只能含单一值(默认 [1],有依据时可用其它单值);含 2 个及以上值会触发编译路径爆炸、拖慢编译并使开发流程超时。多值展开调优仅允许在 Stage 7 optimization。在 DESIGN.md(```python``` 代码块)与 <op>_impl.py / modules/<op>_module*_impl.py 上 post-edit 即时拒绝" | 611 | + "rule": "Stage 6 之前 pypto.loop / pypto.loop_unroll 的 unroll_list 只能含单一值(默认 [1],有依据时可用其它单值);含 2 个及以上值会触发编译路径爆炸、拖慢编译并使开发流程超时。多值展开调优仅允许在 Stage 7 optimization。在 DESIGN.md(```python``` 代码块)与 <op>_impl.py / modules/<op>_module*_impl.py 上 post-edit 即时拒绝" |
| 612 | }, | 612 | }, |
| 613 | { | 613 | { |
| 614 | "id": "OL57", | 614 | "id": "OL57", |