| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 个月前 |
PidProcessCapabilityMetrics
功能说明
PidProcessCapabilityMetrics 面向工业过程控制中的过程能力评价和控制性能巡检场景。算子对多条回路的历史窗口数据进行批量统计,一次输出均值、标准差、Cp、Cpk、Pp、Ppk、越限数量和越限比例等指标。
该算子适合如下批量场景:
- 上百到上千个控制回路的周期性健康度巡检。
- 多窗口滚动计算 Cpk/Ppk,用于质量能力趋势分析。
- PID 整定结果上线前的历史数据质量评价。
与控制性能算子的区别
PidProcessCapabilityMetrics 是质量规格视角,只看 values 是否稳定落在 [lsl, usl] 内,不需要设定值 sp。PidControlPerformanceMetrics 是控制跟踪视角,需要 pv/sp,还会计算 IAE/ISE、超调、稳定时间和 Harris 指数。
本算子回答:过程是否达标、波动是否过大、均值是否偏规格边缘?
控制性能算子回答:控制器是否跟得上设定值、误差和超调是否可接受?
例如 pv=[9,11,9,11]、lsl=8、usl=12 时,过程能力可能认为没有越限;但如果 sp=[10,10,10,10],控制性能还会指出该回路一直围绕设定值振荡,IAE/ISE 不为 0。
输入输出
| 名称 | 类型 | Shape | 说明 |
|---|---|---|---|
values |
float32 | [B, N] |
每条回路的历史采样窗口 |
lsl |
float32 | [B] |
每条回路下规格限 |
usl |
float32 | [B] |
每条回路上规格限 |
metrics |
float32 | [B, 13] |
输出指标矩阵 |
metrics 的最后一维顺序:
0 mean
1 std_sample
2 std_population
3 cp
4 cpu
5 cpl
6 cpk
7 pp
8 ppk
9 out_of_spec_ratio
10 out_of_spec_count
11 min_value
12 max_value
指标公式
Cpu = (USL - mean) / (3 * std_sample)
Cpl = (mean - LSL) / (3 * std_sample)
Cp = (USL - LSL) / (6 * std_sample)
Cpk = min(Cpu, Cpl)
Pp = (USL - LSL) / (6 * std_population)
Ppk = min((USL - mean)/(3*std_population), (mean - LSL)/(3*std_population))
指标说明
| 指标 | 含义 |
|---|---|
mean |
窗口均值,表示过程中心位置 |
std_sample |
样本标准差,分母 N-1,用于 Cp/Cpk |
std_population |
总体标准差,分母 N,用于 Pp/Ppk |
cp |
规格宽度相对短期波动的能力,不考虑均值偏移 |
cpu/cpl |
均值到上/下规格限的裕度 |
cpk |
min(cpu,cpl),同时考虑波动和均值偏移 |
pp/ppk |
使用总体标准差的长期表现类能力指标 |
out_of_spec_ratio/count |
超出 [lsl,usl] 的比例和数量 |
min_value/max_value |
窗口内最小值和最大值 |
小例子
假设一条回路:
values = [9, 10, 11, 10, 12]
LSL = 8
USL = 14
均值:
mean = 10.4
中心化平方和:
[-1.4, -0.4, 0.6, -0.4, 1.6]^2 -> m2 = 5.2
标准差:
std_population = sqrt(5.2 / 5) = 1.0198
std_sample = sqrt(5.2 / 4) = 1.1402
规格宽度为 6:
Cp = 6 / (6 * 1.1402) = 0.877
Cpu = (14 - 10.4) / (3 * 1.1402) = 1.052
Cpl = (10.4 - 8) / (3 * 1.1402) = 0.702
Cpk = min(1.052, 0.702) = 0.702
Pp = 6 / (6 * 1.0198) = 0.981
Ppk = min((14 - 10.4)/(3*1.0198), (10.4 - 8)/(3*1.0198)) = 0.784
所有采样点都在 [8,14] 内:
out_of_spec_count = 0
out_of_spec_ratio = 0
min_value = 9
max_value = 12
构建
cd prediction/ProcessControl/PIDModelFit/pid_process_capability_metrics
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DSOC_VERSION=Ascend910B3
make -j$(nproc)
测试
python tests/test_pid_process_capability_metrics.py
python tests/benchmark_pid_process_capability_metrics.py
NPU smoke:
./build/test_aclnn_pid_process_capability_metrics 3
NPU/CPU benchmark:
./build/benchmark_pid_process_capability_metrics 3 128 4096 20 3 64