| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Co-authored-by: liuhaidong<aliutec@163.com> # message auto-generated for no-merge-commit merge: !21 merge devin/1781921853-pid-modelfit-ops into master feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Created-by: haikuo Commit-by: liuhaidong Merged-by: cann-robot Description: ## Summary 本次为 **PIDModelFit** 算子系列提交:当前正式口径共 **12 个 NPU 自定义算子**,其中包括前序已提交的 **3 个 *_basis_gemm_fit 模型辨识算子**,以及本轮新增并保留的 **9 个诊断、整定、候选仿真、特征提取和评估类算子**。这 12 个算子共同覆盖 PID 整定主流程:模型辨识 → 模型诊断 → PID 参数生成 → 候选闭环仿真/评分/选优 → 候选特征提取 → 控制性能与过程能力评估。 > 重点(committer 第一眼):本次正式合入范围已从早期探索口径收敛为 **12 个正式算子**。前序 3 个 *_basis_gemm_fit 辨识算子作为模型辨识基础能力保留,并补充 benchmark、docs/benchmark.md 与 README 描述;本轮新增并保留 9 个下游算子,补齐 PIDModelFit 从“能辨识模型”到“能诊断、能整定、能仿真选优、能验收评估”的完整工程链路。探索/历史原型算子不进入本次正式提交范围。 ## 算子清单(9 新 + 3 已有 = 12),按 PID 整定 6 阶段 1. **模型辨识**:pid_fopdt_basis_gemm_fit · pid_ipdt_basis_gemm_fit · pid_sopdt_basis_gemm_fit 2. **模型质量诊断**:pid_residual_diagnostics · pid_windowed_residual_diagnostics 3. **PID 参数生成**:pid_tuning_rule_batch(Ziegler-Nichols / IMC / Cohen-Coon) 4. **候选闭环仿真、评分与选优**:pid_fopdt_batch_rollout_score · pid_ipdt_batch_rollout_score · pid_sopdt_batch_rollout_score 5. **候选响应特征提取**:pid_step_response_features 6. **控制性能与过程能力评估**:pid_control_performance_metrics · pid_process_capability_metrics → 新增的 IPDT / SOPDT rollout 补齐了候选仿真阶段对 FOPDT / IPDT / SOPDT 三类模型的覆盖;三个 batch rollout 算子已融合候选特征、候选评分和 best 选择,直接输出每条回路的最优 PID 候选结果。 ## E2E 验证:算子有效且具备 NPU resident 链路价值(Ascend910B3 / node202 真编真跑) - **有效(精度)**:12/12 算子均提供 Python/CPU reference、精度测试或 NPU smoke/benchmark 入口;NPU 输出与 CPU reference 在 float32 容差内对齐。FOPDT 全链路 E2E 覆盖 fit -> tuning_rule -> fopdt_rollout -> performance_metrics,分阶段与 CPU reference 对齐,链路语义自洽。 - **高效(vs CPU 64 线程)**:模型辨识 pipeline 是最明确 NPU 价值点,MatMul + reduce resident e2e 约 28x-180x;三类 batch rollout 在典型候选规模下约 4x-7x;残差诊断、窗口残差、候选特征和指标类算子适合作为 NPU resident 后处理,避免中间轨迹回传 CPU。 - **工程定位清晰**:pid_tuning_rule_batch 算术强度较低,不作为单独性能卖点,但它支撑 E2E 中“模型参数 -> PID 候选”的 device 侧候选生成阶段;评估类算子推荐挂在 NPU resident 流水线后端使用。 ## 主要改动 - 9 个新增正式算子目录,均包含 op_host / op_kernel / examples / tests / docs / README 等标准交付件结构。 - 3 个前序 *_basis_gemm_fit 模型辨识算子作为基础能力保留,并补充 benchmark、README 和文档说明。 - common/ 提供 CPU / NumPy reference 与共享辅助实现。 - e2e/ 提供全链路验证驱动,包括 e2e_perf、e2e_orchestrator.py 和 build_e2e.sh。 - 顶层 docs/ 收敛为正式交付文档:design.md、test_report.md、pid_operator_catalog_by_purpose.md。 ## 验证环境 Ascend910B3,CANN toolkit,g++ 10.3.1 See merge request: cann/mat-chem-sim-pred!21 | 1 个月前 | |
feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Co-authored-by: liuhaidong<aliutec@163.com> # message auto-generated for no-merge-commit merge: !21 merge devin/1781921853-pid-modelfit-ops into master feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Created-by: haikuo Commit-by: liuhaidong Merged-by: cann-robot Description: ## Summary 本次为 **PIDModelFit** 算子系列提交:当前正式口径共 **12 个 NPU 自定义算子**,其中包括前序已提交的 **3 个 *_basis_gemm_fit 模型辨识算子**,以及本轮新增并保留的 **9 个诊断、整定、候选仿真、特征提取和评估类算子**。这 12 个算子共同覆盖 PID 整定主流程:模型辨识 → 模型诊断 → PID 参数生成 → 候选闭环仿真/评分/选优 → 候选特征提取 → 控制性能与过程能力评估。 > 重点(committer 第一眼):本次正式合入范围已从早期探索口径收敛为 **12 个正式算子**。前序 3 个 *_basis_gemm_fit 辨识算子作为模型辨识基础能力保留,并补充 benchmark、docs/benchmark.md 与 README 描述;本轮新增并保留 9 个下游算子,补齐 PIDModelFit 从“能辨识模型”到“能诊断、能整定、能仿真选优、能验收评估”的完整工程链路。探索/历史原型算子不进入本次正式提交范围。 ## 算子清单(9 新 + 3 已有 = 12),按 PID 整定 6 阶段 1. **模型辨识**:pid_fopdt_basis_gemm_fit · pid_ipdt_basis_gemm_fit · pid_sopdt_basis_gemm_fit 2. **模型质量诊断**:pid_residual_diagnostics · pid_windowed_residual_diagnostics 3. **PID 参数生成**:pid_tuning_rule_batch(Ziegler-Nichols / IMC / Cohen-Coon) 4. **候选闭环仿真、评分与选优**:pid_fopdt_batch_rollout_score · pid_ipdt_batch_rollout_score · pid_sopdt_batch_rollout_score 5. **候选响应特征提取**:pid_step_response_features 6. **控制性能与过程能力评估**:pid_control_performance_metrics · pid_process_capability_metrics → 新增的 IPDT / SOPDT rollout 补齐了候选仿真阶段对 FOPDT / IPDT / SOPDT 三类模型的覆盖;三个 batch rollout 算子已融合候选特征、候选评分和 best 选择,直接输出每条回路的最优 PID 候选结果。 ## E2E 验证:算子有效且具备 NPU resident 链路价值(Ascend910B3 / node202 真编真跑) - **有效(精度)**:12/12 算子均提供 Python/CPU reference、精度测试或 NPU smoke/benchmark 入口;NPU 输出与 CPU reference 在 float32 容差内对齐。FOPDT 全链路 E2E 覆盖 fit -> tuning_rule -> fopdt_rollout -> performance_metrics,分阶段与 CPU reference 对齐,链路语义自洽。 - **高效(vs CPU 64 线程)**:模型辨识 pipeline 是最明确 NPU 价值点,MatMul + reduce resident e2e 约 28x-180x;三类 batch rollout 在典型候选规模下约 4x-7x;残差诊断、窗口残差、候选特征和指标类算子适合作为 NPU resident 后处理,避免中间轨迹回传 CPU。 - **工程定位清晰**:pid_tuning_rule_batch 算术强度较低,不作为单独性能卖点,但它支撑 E2E 中“模型参数 -> PID 候选”的 device 侧候选生成阶段;评估类算子推荐挂在 NPU resident 流水线后端使用。 ## 主要改动 - 9 个新增正式算子目录,均包含 op_host / op_kernel / examples / tests / docs / README 等标准交付件结构。 - 3 个前序 *_basis_gemm_fit 模型辨识算子作为基础能力保留,并补充 benchmark、README 和文档说明。 - common/ 提供 CPU / NumPy reference 与共享辅助实现。 - e2e/ 提供全链路验证驱动,包括 e2e_perf、e2e_orchestrator.py 和 build_e2e.sh。 - 顶层 docs/ 收敛为正式交付文档:design.md、test_report.md、pid_operator_catalog_by_purpose.md。 ## 验证环境 Ascend910B3,CANN toolkit,g++ 10.3.1 See merge request: cann/mat-chem-sim-pred!21 | 1 个月前 | |
feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Co-authored-by: liuhaidong<aliutec@163.com> # message auto-generated for no-merge-commit merge: !21 merge devin/1781921853-pid-modelfit-ops into master feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Created-by: haikuo Commit-by: liuhaidong Merged-by: cann-robot Description: ## Summary 本次为 **PIDModelFit** 算子系列提交:当前正式口径共 **12 个 NPU 自定义算子**,其中包括前序已提交的 **3 个 *_basis_gemm_fit 模型辨识算子**,以及本轮新增并保留的 **9 个诊断、整定、候选仿真、特征提取和评估类算子**。这 12 个算子共同覆盖 PID 整定主流程:模型辨识 → 模型诊断 → PID 参数生成 → 候选闭环仿真/评分/选优 → 候选特征提取 → 控制性能与过程能力评估。 > 重点(committer 第一眼):本次正式合入范围已从早期探索口径收敛为 **12 个正式算子**。前序 3 个 *_basis_gemm_fit 辨识算子作为模型辨识基础能力保留,并补充 benchmark、docs/benchmark.md 与 README 描述;本轮新增并保留 9 个下游算子,补齐 PIDModelFit 从“能辨识模型”到“能诊断、能整定、能仿真选优、能验收评估”的完整工程链路。探索/历史原型算子不进入本次正式提交范围。 ## 算子清单(9 新 + 3 已有 = 12),按 PID 整定 6 阶段 1. **模型辨识**:pid_fopdt_basis_gemm_fit · pid_ipdt_basis_gemm_fit · pid_sopdt_basis_gemm_fit 2. **模型质量诊断**:pid_residual_diagnostics · pid_windowed_residual_diagnostics 3. **PID 参数生成**:pid_tuning_rule_batch(Ziegler-Nichols / IMC / Cohen-Coon) 4. **候选闭环仿真、评分与选优**:pid_fopdt_batch_rollout_score · pid_ipdt_batch_rollout_score · pid_sopdt_batch_rollout_score 5. **候选响应特征提取**:pid_step_response_features 6. **控制性能与过程能力评估**:pid_control_performance_metrics · pid_process_capability_metrics → 新增的 IPDT / SOPDT rollout 补齐了候选仿真阶段对 FOPDT / IPDT / SOPDT 三类模型的覆盖;三个 batch rollout 算子已融合候选特征、候选评分和 best 选择,直接输出每条回路的最优 PID 候选结果。 ## E2E 验证:算子有效且具备 NPU resident 链路价值(Ascend910B3 / node202 真编真跑) - **有效(精度)**:12/12 算子均提供 Python/CPU reference、精度测试或 NPU smoke/benchmark 入口;NPU 输出与 CPU reference 在 float32 容差内对齐。FOPDT 全链路 E2E 覆盖 fit -> tuning_rule -> fopdt_rollout -> performance_metrics,分阶段与 CPU reference 对齐,链路语义自洽。 - **高效(vs CPU 64 线程)**:模型辨识 pipeline 是最明确 NPU 价值点,MatMul + reduce resident e2e 约 28x-180x;三类 batch rollout 在典型候选规模下约 4x-7x;残差诊断、窗口残差、候选特征和指标类算子适合作为 NPU resident 后处理,避免中间轨迹回传 CPU。 - **工程定位清晰**:pid_tuning_rule_batch 算术强度较低,不作为单独性能卖点,但它支撑 E2E 中“模型参数 -> PID 候选”的 device 侧候选生成阶段;评估类算子推荐挂在 NPU resident 流水线后端使用。 ## 主要改动 - 9 个新增正式算子目录,均包含 op_host / op_kernel / examples / tests / docs / README 等标准交付件结构。 - 3 个前序 *_basis_gemm_fit 模型辨识算子作为基础能力保留,并补充 benchmark、README 和文档说明。 - common/ 提供 CPU / NumPy reference 与共享辅助实现。 - e2e/ 提供全链路验证驱动,包括 e2e_perf、e2e_orchestrator.py 和 build_e2e.sh。 - 顶层 docs/ 收敛为正式交付文档:design.md、test_report.md、pid_operator_catalog_by_purpose.md。 ## 验证环境 Ascend910B3,CANN toolkit,g++ 10.3.1 See merge request: cann/mat-chem-sim-pred!21 | 1 个月前 | |
feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Co-authored-by: liuhaidong<aliutec@163.com> # message auto-generated for no-merge-commit merge: !21 merge devin/1781921853-pid-modelfit-ops into master feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Created-by: haikuo Commit-by: liuhaidong Merged-by: cann-robot Description: ## Summary 本次为 **PIDModelFit** 算子系列提交:当前正式口径共 **12 个 NPU 自定义算子**,其中包括前序已提交的 **3 个 *_basis_gemm_fit 模型辨识算子**,以及本轮新增并保留的 **9 个诊断、整定、候选仿真、特征提取和评估类算子**。这 12 个算子共同覆盖 PID 整定主流程:模型辨识 → 模型诊断 → PID 参数生成 → 候选闭环仿真/评分/选优 → 候选特征提取 → 控制性能与过程能力评估。 > 重点(committer 第一眼):本次正式合入范围已从早期探索口径收敛为 **12 个正式算子**。前序 3 个 *_basis_gemm_fit 辨识算子作为模型辨识基础能力保留,并补充 benchmark、docs/benchmark.md 与 README 描述;本轮新增并保留 9 个下游算子,补齐 PIDModelFit 从“能辨识模型”到“能诊断、能整定、能仿真选优、能验收评估”的完整工程链路。探索/历史原型算子不进入本次正式提交范围。 ## 算子清单(9 新 + 3 已有 = 12),按 PID 整定 6 阶段 1. **模型辨识**:pid_fopdt_basis_gemm_fit · pid_ipdt_basis_gemm_fit · pid_sopdt_basis_gemm_fit 2. **模型质量诊断**:pid_residual_diagnostics · pid_windowed_residual_diagnostics 3. **PID 参数生成**:pid_tuning_rule_batch(Ziegler-Nichols / IMC / Cohen-Coon) 4. **候选闭环仿真、评分与选优**:pid_fopdt_batch_rollout_score · pid_ipdt_batch_rollout_score · pid_sopdt_batch_rollout_score 5. **候选响应特征提取**:pid_step_response_features 6. **控制性能与过程能力评估**:pid_control_performance_metrics · pid_process_capability_metrics → 新增的 IPDT / SOPDT rollout 补齐了候选仿真阶段对 FOPDT / IPDT / SOPDT 三类模型的覆盖;三个 batch rollout 算子已融合候选特征、候选评分和 best 选择,直接输出每条回路的最优 PID 候选结果。 ## E2E 验证:算子有效且具备 NPU resident 链路价值(Ascend910B3 / node202 真编真跑) - **有效(精度)**:12/12 算子均提供 Python/CPU reference、精度测试或 NPU smoke/benchmark 入口;NPU 输出与 CPU reference 在 float32 容差内对齐。FOPDT 全链路 E2E 覆盖 fit -> tuning_rule -> fopdt_rollout -> performance_metrics,分阶段与 CPU reference 对齐,链路语义自洽。 - **高效(vs CPU 64 线程)**:模型辨识 pipeline 是最明确 NPU 价值点,MatMul + reduce resident e2e 约 28x-180x;三类 batch rollout 在典型候选规模下约 4x-7x;残差诊断、窗口残差、候选特征和指标类算子适合作为 NPU resident 后处理,避免中间轨迹回传 CPU。 - **工程定位清晰**:pid_tuning_rule_batch 算术强度较低,不作为单独性能卖点,但它支撑 E2E 中“模型参数 -> PID 候选”的 device 侧候选生成阶段;评估类算子推荐挂在 NPU resident 流水线后端使用。 ## 主要改动 - 9 个新增正式算子目录,均包含 op_host / op_kernel / examples / tests / docs / README 等标准交付件结构。 - 3 个前序 *_basis_gemm_fit 模型辨识算子作为基础能力保留,并补充 benchmark、README 和文档说明。 - common/ 提供 CPU / NumPy reference 与共享辅助实现。 - e2e/ 提供全链路验证驱动,包括 e2e_perf、e2e_orchestrator.py 和 build_e2e.sh。 - 顶层 docs/ 收敛为正式交付文档:design.md、test_report.md、pid_operator_catalog_by_purpose.md。 ## 验证环境 Ascend910B3,CANN toolkit,g++ 10.3.1 See merge request: cann/mat-chem-sim-pred!21 | 1 个月前 | |
feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Co-authored-by: liuhaidong<aliutec@163.com> # message auto-generated for no-merge-commit merge: !21 merge devin/1781921853-pid-modelfit-ops into master feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Created-by: haikuo Commit-by: liuhaidong Merged-by: cann-robot Description: ## Summary 本次为 **PIDModelFit** 算子系列提交:当前正式口径共 **12 个 NPU 自定义算子**,其中包括前序已提交的 **3 个 *_basis_gemm_fit 模型辨识算子**,以及本轮新增并保留的 **9 个诊断、整定、候选仿真、特征提取和评估类算子**。这 12 个算子共同覆盖 PID 整定主流程:模型辨识 → 模型诊断 → PID 参数生成 → 候选闭环仿真/评分/选优 → 候选特征提取 → 控制性能与过程能力评估。 > 重点(committer 第一眼):本次正式合入范围已从早期探索口径收敛为 **12 个正式算子**。前序 3 个 *_basis_gemm_fit 辨识算子作为模型辨识基础能力保留,并补充 benchmark、docs/benchmark.md 与 README 描述;本轮新增并保留 9 个下游算子,补齐 PIDModelFit 从“能辨识模型”到“能诊断、能整定、能仿真选优、能验收评估”的完整工程链路。探索/历史原型算子不进入本次正式提交范围。 ## 算子清单(9 新 + 3 已有 = 12),按 PID 整定 6 阶段 1. **模型辨识**:pid_fopdt_basis_gemm_fit · pid_ipdt_basis_gemm_fit · pid_sopdt_basis_gemm_fit 2. **模型质量诊断**:pid_residual_diagnostics · pid_windowed_residual_diagnostics 3. **PID 参数生成**:pid_tuning_rule_batch(Ziegler-Nichols / IMC / Cohen-Coon) 4. **候选闭环仿真、评分与选优**:pid_fopdt_batch_rollout_score · pid_ipdt_batch_rollout_score · pid_sopdt_batch_rollout_score 5. **候选响应特征提取**:pid_step_response_features 6. **控制性能与过程能力评估**:pid_control_performance_metrics · pid_process_capability_metrics → 新增的 IPDT / SOPDT rollout 补齐了候选仿真阶段对 FOPDT / IPDT / SOPDT 三类模型的覆盖;三个 batch rollout 算子已融合候选特征、候选评分和 best 选择,直接输出每条回路的最优 PID 候选结果。 ## E2E 验证:算子有效且具备 NPU resident 链路价值(Ascend910B3 / node202 真编真跑) - **有效(精度)**:12/12 算子均提供 Python/CPU reference、精度测试或 NPU smoke/benchmark 入口;NPU 输出与 CPU reference 在 float32 容差内对齐。FOPDT 全链路 E2E 覆盖 fit -> tuning_rule -> fopdt_rollout -> performance_metrics,分阶段与 CPU reference 对齐,链路语义自洽。 - **高效(vs CPU 64 线程)**:模型辨识 pipeline 是最明确 NPU 价值点,MatMul + reduce resident e2e 约 28x-180x;三类 batch rollout 在典型候选规模下约 4x-7x;残差诊断、窗口残差、候选特征和指标类算子适合作为 NPU resident 后处理,避免中间轨迹回传 CPU。 - **工程定位清晰**:pid_tuning_rule_batch 算术强度较低,不作为单独性能卖点,但它支撑 E2E 中“模型参数 -> PID 候选”的 device 侧候选生成阶段;评估类算子推荐挂在 NPU resident 流水线后端使用。 ## 主要改动 - 9 个新增正式算子目录,均包含 op_host / op_kernel / examples / tests / docs / README 等标准交付件结构。 - 3 个前序 *_basis_gemm_fit 模型辨识算子作为基础能力保留,并补充 benchmark、README 和文档说明。 - common/ 提供 CPU / NumPy reference 与共享辅助实现。 - e2e/ 提供全链路验证驱动,包括 e2e_perf、e2e_orchestrator.py 和 build_e2e.sh。 - 顶层 docs/ 收敛为正式交付文档:design.md、test_report.md、pid_operator_catalog_by_purpose.md。 ## 验证环境 Ascend910B3,CANN toolkit,g++ 10.3.1 See merge request: cann/mat-chem-sim-pred!21 | 1 个月前 | |
feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Co-authored-by: liuhaidong<aliutec@163.com> # message auto-generated for no-merge-commit merge: !21 merge devin/1781921853-pid-modelfit-ops into master feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Created-by: haikuo Commit-by: liuhaidong Merged-by: cann-robot Description: ## Summary 本次为 **PIDModelFit** 算子系列提交:当前正式口径共 **12 个 NPU 自定义算子**,其中包括前序已提交的 **3 个 *_basis_gemm_fit 模型辨识算子**,以及本轮新增并保留的 **9 个诊断、整定、候选仿真、特征提取和评估类算子**。这 12 个算子共同覆盖 PID 整定主流程:模型辨识 → 模型诊断 → PID 参数生成 → 候选闭环仿真/评分/选优 → 候选特征提取 → 控制性能与过程能力评估。 > 重点(committer 第一眼):本次正式合入范围已从早期探索口径收敛为 **12 个正式算子**。前序 3 个 *_basis_gemm_fit 辨识算子作为模型辨识基础能力保留,并补充 benchmark、docs/benchmark.md 与 README 描述;本轮新增并保留 9 个下游算子,补齐 PIDModelFit 从“能辨识模型”到“能诊断、能整定、能仿真选优、能验收评估”的完整工程链路。探索/历史原型算子不进入本次正式提交范围。 ## 算子清单(9 新 + 3 已有 = 12),按 PID 整定 6 阶段 1. **模型辨识**:pid_fopdt_basis_gemm_fit · pid_ipdt_basis_gemm_fit · pid_sopdt_basis_gemm_fit 2. **模型质量诊断**:pid_residual_diagnostics · pid_windowed_residual_diagnostics 3. **PID 参数生成**:pid_tuning_rule_batch(Ziegler-Nichols / IMC / Cohen-Coon) 4. **候选闭环仿真、评分与选优**:pid_fopdt_batch_rollout_score · pid_ipdt_batch_rollout_score · pid_sopdt_batch_rollout_score 5. **候选响应特征提取**:pid_step_response_features 6. **控制性能与过程能力评估**:pid_control_performance_metrics · pid_process_capability_metrics → 新增的 IPDT / SOPDT rollout 补齐了候选仿真阶段对 FOPDT / IPDT / SOPDT 三类模型的覆盖;三个 batch rollout 算子已融合候选特征、候选评分和 best 选择,直接输出每条回路的最优 PID 候选结果。 ## E2E 验证:算子有效且具备 NPU resident 链路价值(Ascend910B3 / node202 真编真跑) - **有效(精度)**:12/12 算子均提供 Python/CPU reference、精度测试或 NPU smoke/benchmark 入口;NPU 输出与 CPU reference 在 float32 容差内对齐。FOPDT 全链路 E2E 覆盖 fit -> tuning_rule -> fopdt_rollout -> performance_metrics,分阶段与 CPU reference 对齐,链路语义自洽。 - **高效(vs CPU 64 线程)**:模型辨识 pipeline 是最明确 NPU 价值点,MatMul + reduce resident e2e 约 28x-180x;三类 batch rollout 在典型候选规模下约 4x-7x;残差诊断、窗口残差、候选特征和指标类算子适合作为 NPU resident 后处理,避免中间轨迹回传 CPU。 - **工程定位清晰**:pid_tuning_rule_batch 算术强度较低,不作为单独性能卖点,但它支撑 E2E 中“模型参数 -> PID 候选”的 device 侧候选生成阶段;评估类算子推荐挂在 NPU resident 流水线后端使用。 ## 主要改动 - 9 个新增正式算子目录,均包含 op_host / op_kernel / examples / tests / docs / README 等标准交付件结构。 - 3 个前序 *_basis_gemm_fit 模型辨识算子作为基础能力保留,并补充 benchmark、README 和文档说明。 - common/ 提供 CPU / NumPy reference 与共享辅助实现。 - e2e/ 提供全链路验证驱动,包括 e2e_perf、e2e_orchestrator.py 和 build_e2e.sh。 - 顶层 docs/ 收敛为正式交付文档:design.md、test_report.md、pid_operator_catalog_by_purpose.md。 ## 验证环境 Ascend910B3,CANN toolkit,g++ 10.3.1 See merge request: cann/mat-chem-sim-pred!21 | 1 个月前 | |
feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Co-authored-by: liuhaidong<aliutec@163.com> # message auto-generated for no-merge-commit merge: !21 merge devin/1781921853-pid-modelfit-ops into master feat(PIDModelFit): 新增 9个 PID 整定算子 + E2E 验证(系列共 12个,完整覆盖 PID 整定流程) Created-by: haikuo Commit-by: liuhaidong Merged-by: cann-robot Description: ## Summary 本次为 **PIDModelFit** 算子系列提交:当前正式口径共 **12 个 NPU 自定义算子**,其中包括前序已提交的 **3 个 *_basis_gemm_fit 模型辨识算子**,以及本轮新增并保留的 **9 个诊断、整定、候选仿真、特征提取和评估类算子**。这 12 个算子共同覆盖 PID 整定主流程:模型辨识 → 模型诊断 → PID 参数生成 → 候选闭环仿真/评分/选优 → 候选特征提取 → 控制性能与过程能力评估。 > 重点(committer 第一眼):本次正式合入范围已从早期探索口径收敛为 **12 个正式算子**。前序 3 个 *_basis_gemm_fit 辨识算子作为模型辨识基础能力保留,并补充 benchmark、docs/benchmark.md 与 README 描述;本轮新增并保留 9 个下游算子,补齐 PIDModelFit 从“能辨识模型”到“能诊断、能整定、能仿真选优、能验收评估”的完整工程链路。探索/历史原型算子不进入本次正式提交范围。 ## 算子清单(9 新 + 3 已有 = 12),按 PID 整定 6 阶段 1. **模型辨识**:pid_fopdt_basis_gemm_fit · pid_ipdt_basis_gemm_fit · pid_sopdt_basis_gemm_fit 2. **模型质量诊断**:pid_residual_diagnostics · pid_windowed_residual_diagnostics 3. **PID 参数生成**:pid_tuning_rule_batch(Ziegler-Nichols / IMC / Cohen-Coon) 4. **候选闭环仿真、评分与选优**:pid_fopdt_batch_rollout_score · pid_ipdt_batch_rollout_score · pid_sopdt_batch_rollout_score 5. **候选响应特征提取**:pid_step_response_features 6. **控制性能与过程能力评估**:pid_control_performance_metrics · pid_process_capability_metrics → 新增的 IPDT / SOPDT rollout 补齐了候选仿真阶段对 FOPDT / IPDT / SOPDT 三类模型的覆盖;三个 batch rollout 算子已融合候选特征、候选评分和 best 选择,直接输出每条回路的最优 PID 候选结果。 ## E2E 验证:算子有效且具备 NPU resident 链路价值(Ascend910B3 / node202 真编真跑) - **有效(精度)**:12/12 算子均提供 Python/CPU reference、精度测试或 NPU smoke/benchmark 入口;NPU 输出与 CPU reference 在 float32 容差内对齐。FOPDT 全链路 E2E 覆盖 fit -> tuning_rule -> fopdt_rollout -> performance_metrics,分阶段与 CPU reference 对齐,链路语义自洽。 - **高效(vs CPU 64 线程)**:模型辨识 pipeline 是最明确 NPU 价值点,MatMul + reduce resident e2e 约 28x-180x;三类 batch rollout 在典型候选规模下约 4x-7x;残差诊断、窗口残差、候选特征和指标类算子适合作为 NPU resident 后处理,避免中间轨迹回传 CPU。 - **工程定位清晰**:pid_tuning_rule_batch 算术强度较低,不作为单独性能卖点,但它支撑 E2E 中“模型参数 -> PID 候选”的 device 侧候选生成阶段;评估类算子推荐挂在 NPU resident 流水线后端使用。 ## 主要改动 - 9 个新增正式算子目录,均包含 op_host / op_kernel / examples / tests / docs / README 等标准交付件结构。 - 3 个前序 *_basis_gemm_fit 模型辨识算子作为基础能力保留,并补充 benchmark、README 和文档说明。 - common/ 提供 CPU / NumPy reference 与共享辅助实现。 - e2e/ 提供全链路验证驱动,包括 e2e_perf、e2e_orchestrator.py 和 build_e2e.sh。 - 顶层 docs/ 收敛为正式交付文档:design.md、test_report.md、pid_operator_catalog_by_purpose.md。 ## 验证环境 Ascend910B3,CANN toolkit,g++ 10.3.1 See merge request: cann/mat-chem-sim-pred!21 | 1 个月前 |
PidTuningRuleBatch
功能说明
PidTuningRuleBatch 面向 FOPDT 模型参数的批量 PID 经验整定。输入过程增益 K、时间常数 T、纯滞后 L 和 IMC 闭环时间常数 lambda,一次输出三类规则的 PID 参数:
Ziegler-Nichols reaction curve
IMC PID
Cohen-Coon PID
输出:
pid_params[B, 3, 3] # Kp, Ki, Kd
diagnostics[B, 3, 4] # valid, dead_time_ratio, aggressiveness, lambda_ratio
该算子用于大规模模型参数网格、数字孪生批量回路和 PID 初值生成场景。
输入输出含义
输入来自上游 FOPDT 模型辨识结果:
process_gain[B] # K,过程增益
time_constant[B] # T,一阶时间常数
dead_time[B] # L,纯滞后
lambda_value[B] # lambda,IMC 闭环时间常数
输出 pid_params[B, 3, 3] 的第二维是规则,顺序为:
0 Ziegler-Nichols reaction curve
1 IMC PID
2 Cohen-Coon PID
最后一维为:
0 Kp
1 Ki
2 Kd
输出 diagnostics[B, 3, 4] 的最后一维为:
0 valid # K/T/L/lambda 是否有效
1 dead_time_ratio # L / T
2 aggressiveness # |Kp| + T*|Ki| + |Kd|/T
3 lambda_ratio # lambda / L
与 PID 候选仿真的关系
该算子只负责从 FOPDT 模型参数生成三套经验整定 PID 初值。它不会做闭环仿真,也不会判断哪套 PID 最好。后续若接 pid_fopdt_batch_rollout_score,可以把这三套规则作为候选:
K,T,L -> tuning_rule_batch -> 3 组 Kp/Ki/Kd -> rollout_score -> best
当前 accuracy E2E 就是这种口径,每条回路只在 ZN/IMC/Cohen-Coon 三个候选中选最优。性能 E2E 为了压测 rollout,则使用手工生成的大规模 kp/ki/kd 网格,候选数可扫到 256、512、1024、4096、16384 等;这些大规模候选不是 tuning_rule_batch 直接产生的。
工程上更常见的用法是把三套规则作为种子,再在每个种子附近做比例扰动或网格扩展,形成几十到几千个 PID 候选后再仿真筛选。
计算公式
记:
tau = T
theta = L
lam = lambda
ratio = theta / tau
Ziegler-Nichols:
Kp = 1.2 * tau / (K * theta)
Ti = 2 * theta
Td = 0.5 * theta
Ki = Kp / Ti
Kd = Kp * Td
IMC PID:
Kp = (tau + 0.5 * theta) / (K * (lam + 0.5 * theta))
Ti = tau + 0.5 * theta
Td = tau * theta / (2 * tau + theta)
Ki = Kp / Ti
Kd = Kp * Td
Cohen-Coon:
Kp = tau / (K * theta) * (4/3 + theta / (4 * tau))
Ti = theta * (32 + 6 * ratio) / (13 + 8 * ratio)
Td = theta * 4 / (11 + 2 * ratio)
Ki = Kp / Ti
Kd = Kp * Td
手推例子
假设两条回路:
process_gain = [2, 0]
time_constant = [10, 8]
dead_time = [2, 1]
lambda_value = [4, 2]
第 0 条回路有效:
K = 2, T = 10, L = 2, lambda = 4
ratio = 0.2
lambda_ratio = 2
Ziegler-Nichols:
Kp = 1.2 * 10 / (2 * 2) = 3
Ti = 2 * 2 = 4
Td = 0.5 * 2 = 1
Ki = 3 / 4 = 0.75
Kd = 3 * 1 = 3
IMC:
Kp = (10 + 1) / (2 * (4 + 1)) = 1.1
Ti = 11
Td = 10 * 2 / (20 + 2) = 0.9091
Ki = 1.1 / 11 = 0.1
Kd = 1.1 * 0.9091 = 1.0
Cohen-Coon:
Kp = 10 / (2 * 2) * (4/3 + 2/40) = 3.4583
Ti = 2 * (32 + 6*0.2) / (13 + 8*0.2) = 4.5479
Td = 2 * 4 / (11 + 2*0.2) = 0.7018
Ki = 3.4583 / 4.5479 = 0.7605
Kd = 3.4583 * 0.7018 = 2.4276
因此:
pid_params[0] =
[
[3.0000, 0.7500, 3.0000],
[1.1000, 0.1000, 1.0000],
[3.4583, 0.7605, 2.4276],
]
第 1 条回路 K=0,输入无效,三套 PID 参数清零,valid=0。
当前结论
当前版本已经在 node202 / Ascend910B3 上完成 smoke、构建和 benchmark 验证,并作为 FOPDT E2E 链路中的候选生成阶段保留。
需要注意的是,该算子每条回路只做少量闭式公式,算术强度低,不适合作为单独性能卖点。它的工程价值主要是让 model parameters -> PID candidates -> rollout score 这条链路可以保持 device-resident;真正的 NPU 加速主力仍是 basis-GEMM 模型辨识、批量闭环 rollout、残差诊断和指标类融合后处理。