cann-workbench 0.0.0-stage → 0.0.2-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +183 -2
- package/THIRD_PARTY_NOTICES.md +85 -0
- package/cordis.patch.yml +3 -0
- package/doctor/LICENSE +202 -0
- package/doctor/NOTICE +12 -0
- package/doctor/README.md +18 -0
- package/lib/client.js +94437 -0
- package/lib/index.d.ts +722 -0
- package/lib/index.js +33711 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +171 -4
- package/skills/asc-tools/tool-ops-tune/INSTALL.md +52 -0
- package/skills/asc-tools/tool-ops-tune/LICENSE +38 -0
- package/skills/asc-tools/tool-ops-tune/README.md +167 -0
- package/skills/asc-tools/tool-ops-tune/SKILL.md +93 -0
- package/skills/asc-tools/tool-ops-tune/agent/AGENTS.md +195 -0
- package/skills/asc-tools/tool-ops-tune/agent/agents/perf-implementer.md +68 -0
- package/skills/asc-tools/tool-ops-tune/agent/agents/perf-reviewer.md +86 -0
- package/skills/asc-tools/tool-ops-tune/agent/workflows/task-prompts.md +362 -0
- package/skills/asc-tools/tool-ops-tune/agent/workflows/troubleshooting.md +43 -0
- package/skills/asc-tools/tool-ops-tune/docs/figures/opstune-architecture.png +0 -0
- package/skills/asc-tools/tool-ops-tune/docs/figures/opstune-architecture.svg +253 -0
- package/skills/asc-tools/tool-ops-tune/docs/ops-tune-design.md +404 -0
- package/skills/asc-tools/tool-ops-tune/docs//347/224/250/344/276/213/346/236/204/345/273/272.md +730 -0
- package/skills/asc-tools/tool-ops-tune/docs//347/237/245/350/257/206/345/272/223/350/247/204/350/214/203.md +103 -0
- package/skills/asc-tools/tool-ops-tune/evals/evals.json +242 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/SKILL.md +146 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/references/tool-routing.md +86 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_board.sh +458 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_cases.py +368 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_sim.sh +134 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/csv_to_db.py +314 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/db_bench.py +545 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/facts_bridge.py +1102 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/isolation_test.py +452 -0
- package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/jsonl_to_cases.py +163 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/SKILL.md +76 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/advanced_tiling.md +92 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/broadcast_design.md +160 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_add_kernel.cpp +126 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_add_tiling.cpp +144 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_tiling_common.h +401 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/onedim_add_kernel.cpp +107 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/onedim_add_tiling.cpp +64 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/datacopypad_design.md +46 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/guide.md +14 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/nddma_design.md +53 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/onedim_design.md +114 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/ub_broadcast_design.md +67 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/common/datacopy_optimization_design.md +351 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/common/index.md +9 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/common/tail_block_design.md +268 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/index.md +38 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/timing_harness_aclrt_event.cpp +199 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/timing_harness_torch_event.py +130 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/common/ub_resident_design.md +342 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/guide.md +69 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/index.md +4 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_base.template +81 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_big_dim.template +217 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_cut_one_axis.template +336 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_cut_two_axis.template +781 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_n_last.template +340 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_small_shape.template +321 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_tensor_move.template +102 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_transdata_5hd.template +480 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_transdata_5hd_021axis.template +533 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_with_gather.template +688 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/transpose_tiling_data.template +192 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_big_dim.md +220 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_cut_one_axis.md +175 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_cut_two_axis.md +177 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_fusion_design.md +398 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_gather.md +191 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_n_last.md +276 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_small_shape.md +315 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_tensor_move.md +203 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_tiling_data.md +176 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_vconv_021.md +206 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_vconv_5hd.md +179 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/double_buffer_design.md +288 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/guide.md +46 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/index.md +10 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/CMakeLists.txt +131 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/README.md +55 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/add_custom_torch.cpp +80 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/ops.h +23 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/register.cpp +30 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_host/add_custom.asc +149 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_host/data_utils.h +97 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_kernel/add_custom_kernel.asc +136 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_kernel/add_custom_tiling.h +31 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/run.sh +87 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/gen_data.py +70 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/golden.py +34 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/test_torch.py +99 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/verify_result.py +56 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/usage_guide.md +61 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/vector_efficiency_design.md +203 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/fa_mixed_kernel_design.md +174 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/fa_roofline_design.md +141 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/guide.md +87 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/knowledge_gaps.json +56 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/best-practices-guide.md +14 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/fullload_design.md +344 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/guide.md +52 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/mte2_preload_design.md +320 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/pingpong_design.md +254 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/scale_coalescing_design.md +282 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/streamk_design.md +374 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/swat_design.md +423 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/templates/matmul_basic_blaze.template +165 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/templates/usage_guide.md +29 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/best-practices-guide.md +43 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/guide.md +42 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/local_matmul_design.md +130 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/pipeline_balancing_design.md +502 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/guide.md +178 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/kernel_utils.template +75 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_full_load.template +429 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_recompute.template +485 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_small_r.template +348 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_full_load.template +574 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_online.template +324 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_recompute.template +436 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_base.template +950 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/fused_attention_online_softmax_design.md +428 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_full_load.md +137 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_recompute.md +135 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_small_r.md +122 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_full_load.md +144 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_online.md +185 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_recompute.md +163 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_tiling.template +460 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_tiling_data.template +278 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/state_resident_design.md +337 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/usage_guide.md +253 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/coding_principles.md +476 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/conv_scalar.md +163 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/guide.md +30 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/simt/guide.md +91 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/simt/optimization-guide.md +110 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/sort/guide.md +83 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/references/sort/radix_sort.md +354 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/scripts/family_asset_audit.py +68 -0
- package/skills/asc-tools/tool-ops-tune/ops-family/scripts/tiling_candidates.py +419 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/SKILL.md +23 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/ascendc/case_groupedmatmul_pipeline.md +23 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/ascendc/case_triton_atomic_revert.md +19 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/mc2/case_mc2_fusion.md +19 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/api-usage.md +70 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/ascendc-regbase-vf.md +45 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/ascendc-tiling.md +51 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/data-copy.md +67 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/index.md +45 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/mc2-balancing.md +77 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/mc2.md +103 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/memory-hierarchy.md +40 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/pipeline.md +95 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/case_backfill.py +170 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/log_gap.py +145 -0
- package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/mc2_search.py +367 -0
- package/skills/asc-tools/tool-ops-tune/ops-report/SKILL.md +77 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/run_evals.py +963 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/smoke/install-hooks.sh +65 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/smoke/run_smoke.sh +535 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/core_tail_a5.csv +25 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/few_cores_a5.csv +5 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/mte2_bound_a2.csv +17 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/multi_kernel_mix_a5.csv +7 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/no_bound_a5.csv +9 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/serial_no_overlap_a2.csv +9 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/vec_bound_a5.csv +9 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/references/io-contracts.md +94 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/references/rule-schema.md +130 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/references/scope-schema.md +61 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/references/soc-spec.yaml +140 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L0-instruction.yaml +67 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L1-single-core.yaml +316 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L2-inter-core.yaml +173 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L3-inter-card.yaml +156 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/batch_pipeline.py +466 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/calibrate.py +249 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/delta_compare.py +278 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/render_html.py +304 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/snapshot.py +200 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/trace_bubble.py +331 -0
- package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/verdict.py +1094 -0
- package/skills/asc-tools/tool-ops-tune/scripts/diff_audit.py +281 -0
- package/skills/asc-tools/tool-precision-debug/LICENSE +38 -0
- package/skills/asc-tools/tool-precision-debug/README.md +190 -0
- package/skills/asc-tools/tool-precision-debug/scripts/install.sh +475 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/LICENSE +38 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/SKILL.md +136 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/evals/evals.json +932 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/baseline.md +69 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/checkpoint-design.md +82 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/dumptensor.md +83 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/hypothesis-experiment.md +114 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/index.md +20 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/localization.md +85 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/numerical-modeling.md +94 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/operator-modeling.md +116 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/progressive-error-analysis.md +86 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/reporting.md +140 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/reproducibility.md +121 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/semantic-bisection.md +72 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/sensitive-points.md +146 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/fp16-promotion-boundary.md +46 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/fused-rmsnorm-gelu-residual.md +162 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/index.md +16 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/integer-float-collision.md +44 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/partial-statistics-merge.md +30 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/softplus-v2-grad-family.md +156 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/sync-dataflow-handshake.md +89 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/tail-valid-region-state.md +30 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/thnn-fused-gru-bias-reduction.md +73 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/index.md +34 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/accumulation-order.md +108 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/algorithm-parameter-contract.md +118 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/buffer-lifetime-alias.md +133 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/cast-rounding.md +76 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/complex-operator-boundary.md +48 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/data-movement-alignment.md +104 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/golden-host-contract.md +84 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/index-address-ownership.md +57 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/index.md +32 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/multicore-ownership.md +117 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/pipeline-sync-visibility.md +146 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/precision-mode-approximation.md +90 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/shape-boundary-contract.md +57 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/special-values.md +122 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/tiling-tail-state.md +146 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/broadcast-transpose.md +64 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/convolution.md +60 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/dynamic-quant.md +47 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/index.md +18 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/matmul-mmad.md +131 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/normalization.md +145 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/reduction.md +167 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/softplus-v2-grad.md +58 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/sort-merge.md +65 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/index.md +18 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/kernel-debug-data.md +133 -0
- package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/msobjdump.md +150 -0
- package/skills/cann-doctor/SKILL.md +15 -0
- package/skills/catalog.json +79 -0
- package/skills/mattpocock/GLOSSARY.md +30 -0
- package/skills/mattpocock/LICENSE +21 -0
- package/skills/mattpocock/README.md +258 -0
- package/skills/mattpocock/SCOPE.md +35 -0
- package/skills/mattpocock/docs/agents/triage-labels.md +15 -0
- package/skills/mattpocock/docs/engineering/ask-matt.md +91 -0
- package/skills/mattpocock/docs/engineering/code-review.md +101 -0
- package/skills/mattpocock/docs/engineering/codebase-design.md +88 -0
- package/skills/mattpocock/docs/engineering/diagnosing-bugs.md +94 -0
- package/skills/mattpocock/docs/engineering/domain-modeling.md +86 -0
- package/skills/mattpocock/docs/engineering/grill-with-docs.md +82 -0
- package/skills/mattpocock/docs/engineering/implement-spec.md +86 -0
- package/skills/mattpocock/docs/engineering/implement.md +97 -0
- package/skills/mattpocock/docs/engineering/improve-codebase-architecture.md +113 -0
- package/skills/mattpocock/docs/engineering/pr.md +79 -0
- package/skills/mattpocock/docs/engineering/prototype.md +67 -0
- package/skills/mattpocock/docs/engineering/research.md +73 -0
- package/skills/mattpocock/docs/engineering/resolving-merge-conflicts.md +53 -0
- package/skills/mattpocock/docs/engineering/retro.md +81 -0
- package/skills/mattpocock/docs/engineering/setup-matt-pocock-skills.md +94 -0
- package/skills/mattpocock/docs/engineering/tdd.md +94 -0
- package/skills/mattpocock/docs/engineering/to-spec.md +81 -0
- package/skills/mattpocock/docs/engineering/to-tickets.md +99 -0
- package/skills/mattpocock/docs/engineering/triage.md +109 -0
- package/skills/mattpocock/docs/engineering/wayfinder.md +103 -0
- package/skills/mattpocock/docs/engineering/wizard.md +96 -0
- package/skills/mattpocock/docs/productivity/grill-me.md +76 -0
- package/skills/mattpocock/docs/productivity/grilling.md +87 -0
- package/skills/mattpocock/docs/productivity/handoff.md +76 -0
- package/skills/mattpocock/docs/productivity/teach.md +97 -0
- package/skills/mattpocock/docs/productivity/to-questionnaire.md +78 -0
- package/skills/mattpocock/docs/productivity/wait-what.md +36 -0
- package/skills/mattpocock/docs/productivity/writing-for-agents.md +70 -0
- package/skills/mattpocock/scripts/link-skills.sh +62 -0
- package/skills/mattpocock/scripts/list-skills.sh +7 -0
- package/skills/mattpocock/scripts/sync-plugin-version.mjs +41 -0
- package/skills/mattpocock/skills/deprecated/README.md +3 -0
- package/skills/mattpocock/skills/engineering/README.md +34 -0
- package/skills/mattpocock/skills/engineering/ask-matt/PHASE-BOUNDARIES.md +55 -0
- package/skills/mattpocock/skills/engineering/ask-matt/SKILL.md +97 -0
- package/skills/mattpocock/skills/engineering/ask-matt/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/code-review/SKILL.md +89 -0
- package/skills/mattpocock/skills/engineering/code-review/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/codebase-design/DEEPENING.md +37 -0
- package/skills/mattpocock/skills/engineering/codebase-design/DESIGN-IT-TWICE.md +44 -0
- package/skills/mattpocock/skills/engineering/codebase-design/SKILL.md +114 -0
- package/skills/mattpocock/skills/engineering/codebase-design/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/diagnosing-bugs/SKILL.md +138 -0
- package/skills/mattpocock/skills/engineering/diagnosing-bugs/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh +44 -0
- package/skills/mattpocock/skills/engineering/domain-modeling/ADR-FORMAT.md +47 -0
- package/skills/mattpocock/skills/engineering/domain-modeling/GLOSSARY-FORMAT.md +60 -0
- package/skills/mattpocock/skills/engineering/domain-modeling/SKILL.md +74 -0
- package/skills/mattpocock/skills/engineering/domain-modeling/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/grill-with-docs/SKILL.md +7 -0
- package/skills/mattpocock/skills/engineering/grill-with-docs/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/implement/SKILL.md +17 -0
- package/skills/mattpocock/skills/engineering/implement/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/implement-spec/SKILL.md +42 -0
- package/skills/mattpocock/skills/engineering/implement-spec/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/improve-codebase-architecture/HTML-REPORT.md +123 -0
- package/skills/mattpocock/skills/engineering/improve-codebase-architecture/SKILL.md +71 -0
- package/skills/mattpocock/skills/engineering/improve-codebase-architecture/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/pr/CREDITS.md +3 -0
- package/skills/mattpocock/skills/engineering/pr/SKILL.md +170 -0
- package/skills/mattpocock/skills/engineering/pr/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/prototype/LOGIC.md +67 -0
- package/skills/mattpocock/skills/engineering/prototype/SKILL.md +26 -0
- package/skills/mattpocock/skills/engineering/prototype/UI.md +112 -0
- package/skills/mattpocock/skills/engineering/prototype/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/research/SKILL.md +12 -0
- package/skills/mattpocock/skills/engineering/research/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/retro/SKILL.md +44 -0
- package/skills/mattpocock/skills/engineering/retro/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/SKILL.md +120 -0
- package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/domain.md +51 -0
- package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +50 -0
- package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
- package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +30 -0
- package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/skills/mattpocock/skills/engineering/tdd/SKILL.md +38 -0
- package/skills/mattpocock/skills/engineering/tdd/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/tdd/mocking.md +59 -0
- package/skills/mattpocock/skills/engineering/tdd/tests.md +77 -0
- package/skills/mattpocock/skills/engineering/to-spec/SKILL.md +75 -0
- package/skills/mattpocock/skills/engineering/to-spec/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/to-tickets/SKILL.md +105 -0
- package/skills/mattpocock/skills/engineering/to-tickets/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/triage/AGENT-BRIEF.md +207 -0
- package/skills/mattpocock/skills/engineering/triage/OUT-OF-SCOPE.md +105 -0
- package/skills/mattpocock/skills/engineering/triage/SKILL.md +112 -0
- package/skills/mattpocock/skills/engineering/triage/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/wayfinder/SKILL.md +128 -0
- package/skills/mattpocock/skills/engineering/wayfinder/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/engineering/wizard/SKILL.md +44 -0
- package/skills/mattpocock/skills/engineering/wizard/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/engineering/wizard/template.sh +223 -0
- package/skills/mattpocock/skills/in-progress/README.md +17 -0
- package/skills/mattpocock/skills/in-progress/chief-of-staff/SKILL.md +75 -0
- package/skills/mattpocock/skills/in-progress/chief-of-staff/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/in-progress/claude-handoff/SKILL.md +18 -0
- package/skills/mattpocock/skills/in-progress/claude-handoff/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/in-progress/loop-me/SKILL.md +32 -0
- package/skills/mattpocock/skills/in-progress/loop-me/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/SKILL.md +102 -0
- package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/dependency-cruiser.config.cjs +95 -0
- package/skills/mattpocock/skills/in-progress/software-factory/EXAMPLE-TASKS.md +80 -0
- package/skills/mattpocock/skills/in-progress/software-factory/GIT-HOSTS.md +84 -0
- package/skills/mattpocock/skills/in-progress/software-factory/OBSERVABILITY-PLATFORMS.md +75 -0
- package/skills/mattpocock/skills/in-progress/software-factory/RUNNERS.md +94 -0
- package/skills/mattpocock/skills/in-progress/software-factory/SKILL.md +98 -0
- package/skills/mattpocock/skills/in-progress/software-factory/TICKET-TRACKERS.md +85 -0
- package/skills/mattpocock/skills/in-progress/writing-beats/SKILL.md +67 -0
- package/skills/mattpocock/skills/in-progress/writing-beats/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/in-progress/writing-fragments/SKILL.md +79 -0
- package/skills/mattpocock/skills/in-progress/writing-fragments/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/in-progress/writing-shape/SKILL.md +79 -0
- package/skills/mattpocock/skills/in-progress/writing-shape/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/misc/README.md +8 -0
- package/skills/mattpocock/skills/misc/git-guardrails-claude-code/SKILL.md +95 -0
- package/skills/mattpocock/skills/misc/git-guardrails-claude-code/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/misc/git-guardrails-claude-code/scripts/block-dangerous-git.sh +25 -0
- package/skills/mattpocock/skills/misc/migrate-to-shoehorn/SKILL.md +118 -0
- package/skills/mattpocock/skills/misc/migrate-to-shoehorn/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/misc/scaffold-exercises/SKILL.md +106 -0
- package/skills/mattpocock/skills/misc/scaffold-exercises/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/misc/setup-pre-commit/SKILL.md +91 -0
- package/skills/mattpocock/skills/misc/setup-pre-commit/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/productivity/README.md +20 -0
- package/skills/mattpocock/skills/productivity/grill-me/SKILL.md +7 -0
- package/skills/mattpocock/skills/productivity/grill-me/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/productivity/grilling/SKILL.md +30 -0
- package/skills/mattpocock/skills/productivity/grilling/agents/openai.yaml +3 -0
- package/skills/mattpocock/skills/productivity/handoff/SKILL.md +16 -0
- package/skills/mattpocock/skills/productivity/handoff/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/productivity/teach/GLOSSARY-FORMAT.md +35 -0
- package/skills/mattpocock/skills/productivity/teach/LEARNING-RECORD-FORMAT.md +46 -0
- package/skills/mattpocock/skills/productivity/teach/MISSION-FORMAT.md +31 -0
- package/skills/mattpocock/skills/productivity/teach/RESOURCES-FORMAT.md +32 -0
- package/skills/mattpocock/skills/productivity/teach/SKILL.md +140 -0
- package/skills/mattpocock/skills/productivity/teach/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/productivity/to-questionnaire/SKILL.md +54 -0
- package/skills/mattpocock/skills/productivity/to-questionnaire/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/productivity/wait-what/SKILL.md +7 -0
- package/skills/mattpocock/skills/productivity/wait-what/agents/openai.yaml +5 -0
- package/skills/mattpocock/skills/productivity/writing-for-agents/SKILL-MECHANICS.md +22 -0
- package/skills/mattpocock/skills/productivity/writing-for-agents/SKILL.md +81 -0
- package/skills/mattpocock/skills/productivity/writing-for-agents/agents/openai.yaml +3 -0
- package/skills/task-agents/operator-development/Agent.md +71 -0
- package/skills/task-agents/operator-development/skills.json +120 -0
- package/skills/task-agents/operator-development/stages.schema.json +532 -0
- package/skills/task-agents/performance-optimization/Agent.md +78 -0
- package/skills/task-agents/performance-optimization/skills.json +64 -0
- package/skills/task-agents/response-protocol.md +35 -0
- package/skills/task-agents/sidebar-contracts.schema.json +4168 -0
- package/skills/task-agents/sidebar-selection.schema.json +971 -0
- package/skills/task-agents/visuals/components.json +283 -0
- package/skills/task-agents/visuals/contracts.schema.json +3628 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
# 1. 设计目标与原则
|
|
2
|
+
|
|
3
|
+
给定一个**可运行且精度通过**的算子实现,在**算子语义不变**的约束下,回答并解决四个问题:
|
|
4
|
+
|
|
5
|
+
| 问题 | 输入 | 输出 |
|
|
6
|
+
|------|------|------|
|
|
7
|
+
| **还差多远**(标尺) | 理论上限 / 基线锚点 | 达标判定:值得继续优化吗 |
|
|
8
|
+
| **瓶颈是什么**(证据) | profiling 指标 / 隔离实验 | Bound 判定 + 证据链 + 反证 |
|
|
9
|
+
| **怎么改**(机制) | 判定结果 + 知识库 | 候选机制(收益预估/风险/回滚条件) |
|
|
10
|
+
| **改好了吗**(闭环) | 前后同口径数据 | 对比结论(KEEP/REVERT)+ 经验沉淀 |
|
|
11
|
+
|
|
12
|
+
## 1.1 三条设计原则
|
|
13
|
+
|
|
14
|
+
| # | 原则 | 含义 |
|
|
15
|
+
|---|------|------|
|
|
16
|
+
| P1 | **流程标准化,明确数据契约,各步骤可追溯** | 调优全流程的每个步骤都有明确的输入/输出契约文件(七类 schema,见 §6)——采集落 collection_manifest、判定落 verdict.json、对比落 comparison.md;任何结论都能沿契约链回溯到原始证据(证据数值 + 阈值溯源 + 口径指纹),步骤间不存在口头/隐式传递 |
|
|
17
|
+
| P2 | **知识标准化,业界 OKF 格式化,可复用扩展** | 判定规则(YAML 规则包)、机制卡(固定八要素)、案例卡(A-E 证据分级)、算子族(A/B 双型)全部结构化、带路由入口;演进方向为业界 OKF(Open Knowledge Format)标准化,与 CANN-KNOWLEDGE 知识库双向对接——本套件知识可被生态检索复用,外部知识可按同一格式接入 |
|
|
18
|
+
| P3 | **确定性下沉、不确定性上浮** | 确定性逻辑(如理论性能标尺、Bound 判定、口径校验、容量计算)沉淀在工具/SKILL 层脚本化承载——可审计、可回归、不随模型波动;不确定性(意图理解、机制选择、争议仲裁)收敛在 Agent/LLM 层处理 |
|
|
19
|
+
|
|
20
|
+
**派生原则**(由上述三条约束出的工程纪律):
|
|
21
|
+
|
|
22
|
+
- 复用不重做:采集底座复用 CANN 官方工具链;事实性知识外部引用不落副本(P2 的引用形态);
|
|
23
|
+
- 同一 SKILL 服务多入口:CLI / IDE / CI / 对话四入口共用同一 SKILL 集与数据契约(P1 的契约复用);
|
|
24
|
+
- Agent 只编排不判定:编排层消费 verdict.json 做调度与门禁,不做 Bound 判定、不写代码(P3 的边界)。
|
|
25
|
+
|
|
26
|
+
## 1.2 非目标(scope 边界)
|
|
27
|
+
|
|
28
|
+
- **不做算子开发**:入口前提是「可运行且精度通过」;从零开发走算子开发域工作流。
|
|
29
|
+
- **不做精度调试**:精度失败/崩溃/挂起 → 停止调优,转调试域(出口承接)。
|
|
30
|
+
- **不重做采集器**:msprof / npu-compute / cannsim 全部复用,本套件只做模式路由与契约落盘。
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
# 2. 总体架构:四层
|
|
35
|
+
|
|
36
|
+
| 层 | 职责 | 关键原则 |
|
|
37
|
+
|----|------|---------|
|
|
38
|
+
| L4 用户场景层 | 单算子 / 融合算子(FA·MC²)/ 批量回归 / 调优问答,四入口 | 四入口共用同一 SKILL 集与数据契约(P1) |
|
|
39
|
+
| L3 Agent 编排层 | OpsTuningAgent 调优主循环 + perf-implementer / perf-reviewer | 只编排不判定(P3) |
|
|
40
|
+
| L2 SKILL 能力层 | ops-collect / ops-verdict(★核心)/ ops-mechanism / ops-family / ops-report | 确定性沉淀、可独立使用;判定只出自脚本(D1) |
|
|
41
|
+
| L1 工具层 | msprof / npu-compute / cannsim / npu-smi / CANNBench | 复用不重做(派生原则) |
|
|
42
|
+
|
|
43
|
+
**数据流主线**(每个节点都是有 schema 的契约文件,见 §6):
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
工程 + cases
|
|
47
|
+
▼ ops-collect collection_manifest.json(采集块状态机真源)
|
|
48
|
+
▼ ops-verdict verdict.py verdict.json(判定书:findings + 反证 + 机制路由)
|
|
49
|
+
▼ snapshot.py baseline/result.json(口径指纹)
|
|
50
|
+
▼ ops-mechanism/family candidates.json(≤3 张候选方案卡)
|
|
51
|
+
▼ perf-implementer round-N/result.json(单机制优化副本)
|
|
52
|
+
▼ delta_compare.py comparison.md(KEEP/REVERT/复测三段结论)
|
|
53
|
+
▼ ops-report REPORT.md + report.html + E 级案例回灌条目
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
# 3. 核心设计决策(D1-D10)
|
|
59
|
+
|
|
60
|
+
## D1 判定进脚本、解释进 LLM(架构第一原则)
|
|
61
|
+
|
|
62
|
+
**问题**:Bound 判定靠 LLM 阅读文档执行——判定质量随模型/版本波动,阈值变更不可回归,无证据宣称无法根除。
|
|
63
|
+
|
|
64
|
+
**决策**:判定 = `ops-verdict` 规则引擎(声明式 YAML 规则 + 脚本求值)。LLM 只做三件事:
|
|
65
|
+
①编排(调度、门禁、汇报);②解释(把 finding 的 evidence/counter_evidence 翻译给人听);
|
|
66
|
+
③机制选择(在 ≤3 张候选方案卡中决策)。
|
|
67
|
+
|
|
68
|
+
**边界**:LLM 不得输出规则库之外的判定;规则未覆盖的形态只能作为假设并标注缺失指标
|
|
69
|
+
(INSUFFICIENT_DATA 语义),不得写成结论。
|
|
70
|
+
|
|
71
|
+
## D2 规则-指标绑定契约(判定质量的机制保障)
|
|
72
|
+
|
|
73
|
+
**问题**:「指标没采却报出瓶颈」是判定误报的主要来源;纪律性约束无法机械化执行。
|
|
74
|
+
|
|
75
|
+
**决策**:每条规则声明两级指标绑定——`metrics_required` 缺失 → 规则 **SKIPPED**
|
|
76
|
+
(不触发、不误报、留补采提示);`metrics_optional` 缺失 → 降级评估(反证标 unevaluated)。
|
|
77
|
+
把「无证据不判定」从纪律变成**机制**。
|
|
78
|
+
|
|
79
|
+
## D3 分层瀑布 + 路由副作用(瓶颈污染的架构解)
|
|
80
|
+
|
|
81
|
+
**问题**:MC² 场景 MTE2 ratio 被通信等待污染,单核访存优化做了白做。
|
|
82
|
+
|
|
83
|
+
**决策**:判定按 **L3 卡间 → L2 核间 → L1 单核 → L0 指令** 依序执行,允许路由副作用:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
L3_MTE2_POLLUTED 命中(ratio_full−ratio_pure > 10pp 或 pure/full < 80%)
|
|
87
|
+
├─ 禁用 L1_MTE2_BOUND(跨规则包传播)
|
|
88
|
+
└─ 改道机制路由 → mc2.md 通信掩盖策略
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**配套语义——条件三值逻辑**:条件求值 ∈ {True, False, **None**};None = 证据不足 →
|
|
92
|
+
INSUFFICIENT_DATA,**绝不因数据缺失而判「无 bound」**(None 不冒充 False)。
|
|
93
|
+
|
|
94
|
+
## D4 口径指纹互锁(同口径铁律的数据结构化)
|
|
95
|
+
|
|
96
|
+
**决策**:`snapshot.py` 每次测量落口径指纹(HARD_KEYS 12 字段 + MECHANISM_KEYS 2 字段 +
|
|
97
|
+
精度指纹 + status 三态);`delta_compare.py` 三道硬校验(任一失败 exit 2 拒绝生成对比):
|
|
98
|
+
①口径硬校验(HARD_KEYS 不一致 → 拒绝比较);②精度门禁(任一侧 precision ≠ pass → 拒绝);
|
|
99
|
+
③噪声带三段结论(speedup > 1.05 KEEP / < 0.95 REVERT / 带内 → repeat 翻倍复测不宣称)。
|
|
100
|
+
|
|
101
|
+
**语义细节**:`tiling_key` / `block_dim` 是分核/tiling 类优化**本身就会改变**的变量,从
|
|
102
|
+
「禁止比较」降级为「WARN 写入报告」——对优化本质的正确建模。
|
|
103
|
+
|
|
104
|
+
## D5 调优主循环 + 单变量铁律
|
|
105
|
+
|
|
106
|
+
三条铁律全程生效:
|
|
107
|
+
1. **精度三道门禁**:进入(意图与边界步骤全集跑通)/ 每轮(实施后先精度后性能)/
|
|
108
|
+
结论(delta_compare 脚本化);
|
|
109
|
+
2. **单变量归因 + 负优化四机制**:可预防(候选须有当前算子 profiling 证据)/ 可检测
|
|
110
|
+
(同口径 + 噪声带)/ 可回滚(diff + 备份 + 回滚后复跑验证)/ 可交代(回滚记录进报告
|
|
111
|
+
——负优化记录是瓶颈证据的组成部分);
|
|
112
|
+
3. **停止条件不硬编码轮数**:达标 / 候选尽 / 连续两轮无稳定收益 / 接近上限(NEAR_LIMIT)。
|
|
113
|
+
|
|
114
|
+
## D6 知识按消费时机分层(渐进式披露)
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
采集前 tool-routing.md(工具选型决策树)
|
|
118
|
+
判定后 机制卡(findings[].mechanism_refs 精确路由)——判定之前禁止加载机制/案例
|
|
119
|
+
实施时 族 guide + 模板链路(模板拷贝纪律 T1-T5)
|
|
120
|
+
归档时 案例卡 schema + 证据分级 + 降级策略
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
配套纪律:SKILL.md 只做路由与触发;每文档头部声明适用边界(soc/模式/形态);
|
|
124
|
+
「暂未收录」显式返回并计数(缺口感知回路输入)。
|
|
125
|
+
|
|
126
|
+
## D7 职责隔离的编排
|
|
127
|
+
|
|
128
|
+
| 隔离 | 设计 |
|
|
129
|
+
|------|------|
|
|
130
|
+
| 分析者不判定 | 判定出自 verdict.py,Agent 只消费 |
|
|
131
|
+
| 实施者单机制 | perf-implementer 一次领一张方案卡(可归因) |
|
|
132
|
+
| 主 agent 垄断统一采集与 delta_compare | 各机制若自采则口径漂移 |
|
|
133
|
+
| diff 范围机器校验 | diff_audit.py 比对实际改动 ⊆ 方案卡声明,超范围 UNATTRIBUTABLE 禁进 KEEP 仲裁 |
|
|
134
|
+
| 实施独立审查 | perf-reviewer 独立重编 + 单变量符合性 + 模板保真,结论四档 |
|
|
135
|
+
|
|
136
|
+
## D8 执行式评测(判定质量的回归保障)
|
|
137
|
+
|
|
138
|
+
判定进脚本后评测跟着进脚本:`evals/run_evals.py` 用 fixture(已知答案的 CSV/标量输入,
|
|
139
|
+
源自真机调优案例)断言 verdict 输出,覆盖正例/反例/边界/绑定契约/路由副作用
|
|
140
|
+
(含 R 值临界值 0.90/1.10 双侧守护)。退出码 1 = 阻断合入(CI 语义)。
|
|
141
|
+
|
|
142
|
+
## D9 外部知识动态引用(应对芯片/API 演进)
|
|
143
|
+
|
|
144
|
+
知识按「是否随芯片/API 演进」分两类:事实性知识(芯片参数/API 签名/官方示例/理论标尺)
|
|
145
|
+
引用 CANN 生态真源动态更新,本套件只存引用清单 + 版本锁定;经验性知识(指标→瓶颈→机制
|
|
146
|
+
因果)不随 API 演进失效,自建沉淀。芯片换代成本被外部真源吸收,演进面收敛在适配层
|
|
147
|
+
(列名兼容/soc 映射)。
|
|
148
|
+
|
|
149
|
+
## D10 场景路由机制(五级路由瀑布)
|
|
150
|
+
|
|
151
|
+
| 级 | 路由轴 | 决策载体 | 错路由的后果 |
|
|
152
|
+
|----|--------|---------|-------------|
|
|
153
|
+
| R1 | 调优场景 | AGENTS.md 场景表 | MC² 走单算子流程 → 污染未检 → 单核误判 |
|
|
154
|
+
| R2 | 采集模式 | tool-routing 决策树 | fork 程序走 msprof op → 数据不可靠 |
|
|
155
|
+
| R3 | 判定层次 | 规则包 YAML(layer/priority/soc) | 层序颠倒 → 路由副作用失效 |
|
|
156
|
+
| R4 | 优化机制 | mechanism_refs | 证据先行被破坏 |
|
|
157
|
+
| R5 | 算子族 | 族分类表 + 模板链路 | broadcast 三实现选错直接慢/nan |
|
|
158
|
+
|
|
159
|
+
每级路由的决策依据都是结构化产物,LLM 只查表执行不发明路由——**路由进表格,不进 LLM 记忆**。
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
# 4. 调优主循环与各阶段产物
|
|
164
|
+
|
|
165
|
+
主循环五步:**采集 → 问题判定 → 机制路由候选方案 → 单变量执行优化 → 对比确认**
|
|
166
|
+
(外层为意图边界与归档回灌两个编排步骤;循环体内每轮单变量迭代后回到对比确认,
|
|
167
|
+
连续两轮无稳定收益或达标即收敛)。
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
(前置:意图与边界——编排步骤,非循环体)
|
|
171
|
+
├─ 精度门禁预检:工程正确性全集跑通?失败 → 拒绝,转调试域
|
|
172
|
+
├─ 场景分类:单算子 / 融合算子(FA·MC²)/ 批量回归 / 问答
|
|
173
|
+
└─ 产物:scope.json
|
|
174
|
+
┌───────────────────────── 调优主循环 ─────────────────────────┐
|
|
175
|
+
│ Step 1 采集(ops-collect) │
|
|
176
|
+
│ ├─ 环境指纹 + 工具路由(MC² → task-based 强制) │
|
|
177
|
+
│ ├─ 不可变基线 snapshot(HARD_KEYS 12 字段,首轮建立) │
|
|
178
|
+
│ └─ 产物:collection_manifest.json + result.json │
|
|
179
|
+
│ Step 2 问题判定(ops-verdict) │
|
|
180
|
+
│ ├─ 标准 7 组指标 或 MC² 隔离测试(isolation_test → R 值) │
|
|
181
|
+
│ ├─ verdict.py:L3→L2→L1→L0 瀑布;INSUFFICIENT_DATA → 补采 │
|
|
182
|
+
│ └─ 产物:verdict.json(findings + 反证 + 置信度 + 机制路由) │
|
|
183
|
+
│ Step 3 机制路由候选方案(ops-mechanism + ops-family) │
|
|
184
|
+
│ ├─ 按 mechanism_refs 加载机制卡(渐进式披露)+ 同型案例 ≤3 │
|
|
185
|
+
│ └─ 产物:candidates.json(≤3 张方案卡) │
|
|
186
|
+
│ Step 4 单变量执行优化(perf-implementer + 机器闸门) │
|
|
187
|
+
│ ├─ 每方案卡一个 implementer(复制目录→模板拷贝→编译→全量精度)│
|
|
188
|
+
│ ├─ diff_audit.py 范围校验 + perf-reviewer 独立审查 │
|
|
189
|
+
│ └─ 产物:round-N/{优化副本, diff_audit.json, review.md} │
|
|
190
|
+
│ Step 5 对比确认(主 agent 垄断统一采集 + delta_compare) │
|
|
191
|
+
│ ├─ 同口径采集(与基线同一 timing/warmup/repeat/device) │
|
|
192
|
+
│ ├─ 三段结论:KEEP(保留为新基线)/ REVERT(回滚复跑)/ │
|
|
193
|
+
│ │ 噪声带内(repeat 翻倍复测,不宣称收益) │
|
|
194
|
+
│ └─ 产物:round-N/{result.json, comparison.md} │
|
|
195
|
+
│ 未收敛 → 回 Step 1(以 KEEP 轮为新基线,重新采集与判定) │
|
|
196
|
+
└───────────────────────────────────────────────────────────────┘
|
|
197
|
+
(收尾:归档回灌——编排步骤,非循环体)
|
|
198
|
+
├─ REPORT.md 六要素 + report.html
|
|
199
|
+
└─ 产物:REPORT.md + case_candidate.json(E 级回灌)+ calibration_data.json
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**停止条件**(不硬编码轮数):达标 / 候选尽 / 连续两轮无稳定收益 / 接近上限(NEAR_LIMIT)。
|
|
203
|
+
|
|
204
|
+
## 4.1 各阶段产物契约总表
|
|
205
|
+
|
|
206
|
+
| 步骤 | 产物 | schema | 生产者 → 消费者 |
|
|
207
|
+
|------|------|--------|----------------|
|
|
208
|
+
| 前置 | scope.json | opstune.scope/1.0 | 主 agent → 全流程(口径互锁上游真源) |
|
|
209
|
+
| 采集 | collection_manifest.json | opstune.collection/1.0 | collect → verdict/报告(采集块状态机) |
|
|
210
|
+
| 采集 | baseline/result.json | opstune.snapshot/1.0 | snapshot → delta_compare(不可变基线) |
|
|
211
|
+
| 问题判定 | verdict.json | opstune.verdict/1.1 | verdict → Agent/报告/CI(判定书) |
|
|
212
|
+
| 问题判定 | iso_result.json | opstune.isolation/1.0 | isolation_test → verdict --scalar(MC²) |
|
|
213
|
+
| 机制路由 | candidates.json | —(方案卡字段集) | mechanism → implementer(≤3 张) |
|
|
214
|
+
| 对比确认 | round-N/result.json | opstune.snapshot/1.0 | snapshot → delta_compare |
|
|
215
|
+
| 对比确认 | comparison.md | — | delta_compare → REPORT(三段结论) |
|
|
216
|
+
| 执行优化 | diff_audit.json | opstune.diff-audit/1.0 | diff_audit → reviewer(范围机器判定) |
|
|
217
|
+
| 收尾 | REPORT.md / report.html | —(六要素) | 主 agent → 用户 |
|
|
218
|
+
| 收尾 | case_candidate.json | —(E 级字段集) | REPORT → cases/(回灌候选) |
|
|
219
|
+
| 收尾 | calibration_data.json | — | REPORT → calibrate.py(预估-实测校准) |
|
|
220
|
+
|
|
221
|
+
**单一数据源原则**:REPORT(人读)、Agent 概览(对话)、CI 检查(JSON 断言)从同一批
|
|
222
|
+
契约文件渲染,不存在第二套数字。
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
# 5. 判定引擎详细设计
|
|
227
|
+
|
|
228
|
+
## 5.1 规则包结构(opstune.rules/1.0)
|
|
229
|
+
|
|
230
|
+
```yaml
|
|
231
|
+
schema: opstune.rules/1.0
|
|
232
|
+
layer: L1 # L3 卡间 / L2 核间 / L1 单核 / L0 指令
|
|
233
|
+
soc: [a2, a3, a5] # 芯片域硬过滤
|
|
234
|
+
metrics: # 指标词汇表(绑定契约的解析层)
|
|
235
|
+
mte2_ratio:
|
|
236
|
+
source: pipe # pipe(CSV 逐行聚合)/ scalar / derived
|
|
237
|
+
columns: [aic_mte2_ratio, aiv_mte2_ratio, ai_mte2_ratio, ...] # 三代列名兼容
|
|
238
|
+
normalize: ratio_to_pct # 0~1.5 视为比例 ×100
|
|
239
|
+
rules:
|
|
240
|
+
- id: L1_MTE2_BOUND # 全局唯一(跨包路由引用)
|
|
241
|
+
priority: 10 # 升序求值
|
|
242
|
+
threshold_source: "[msprof-doc] >80% 直接判 / 最大且 >70%" # 阈值必溯源
|
|
243
|
+
metrics_required: [mte2_ratio] # 缺失 → SKIPPED(绑定契约)
|
|
244
|
+
metrics_optional: [mte2_active_bw_pct_of_peak] # 缺失 → 降级
|
|
245
|
+
condition: # any/all 递归三值逻辑
|
|
246
|
+
any:
|
|
247
|
+
- {metric: mte2_ratio, agg: mean, op: gt, value: 80}
|
|
248
|
+
- all:
|
|
249
|
+
- {metric: mte2_ratio, agg: mean, op: gt, value: 70}
|
|
250
|
+
- {metric: mte2_ratio, agg: rank, op: eq, value: 1} # 主导 pipe
|
|
251
|
+
severity: {metric: mte2_ratio, bands: [{min: 85, level: critical}, {min: 70, level: moderate}]}
|
|
252
|
+
counter_evidence: # 反证条目(BOUND 类必带,防误判第二道闸)
|
|
253
|
+
- id: true-bandwidth-saturation
|
|
254
|
+
condition: {metric: mte2_active_bw_pct_of_peak, op: gt, value: 80}
|
|
255
|
+
note: 真带宽饱和:优化在数据量/复用,不在搬运组织
|
|
256
|
+
confidence: high
|
|
257
|
+
speedup_range: [1.2, 2.0] # 预估收益(校准闭环回写)
|
|
258
|
+
mechanism_refs: [ops-mechanism:references/optimize/data-copy.md]
|
|
259
|
+
routing: {on_hit: [disable_rule, L1_MTE2_BOUND]} # 路由副作用(跨包传播)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## 5.2 求值语义
|
|
263
|
+
|
|
264
|
+
| 环节 | 语义 |
|
|
265
|
+
|------|------|
|
|
266
|
+
| pipe 指标 | 逐行取候选列(按序首个可解析)→ aic_/aiv_ 双列最大值 → 跨行 mean/max 双统计;**判定用 mean,max 仅识别长尾** |
|
|
267
|
+
| 主导 pipe | `agg: rank, op: eq, value: 1` |
|
|
268
|
+
| 串行指纹 | `__pipe_sum_mean ∈ [85,115]`(多 pipe 互补求和≈100% → 单缓冲串行) |
|
|
269
|
+
| 逐核长尾 | max > mean × 1.25 |
|
|
270
|
+
| R 值 | R = T_compute/T_comm 五档([0.9,1.1] 平衡 / >2 强计算 / <0.5 强通信…) |
|
|
271
|
+
| MTE2 污染 | full−pure > 10pp 或 pure/full < 80% → 禁用单核 MTE2 判定 |
|
|
272
|
+
|
|
273
|
+
## 5.3 规则状态机与汇总三态
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
REQUIRED 缺失 → SKIPPED | 条件 None → INSUFFICIENT_DATA | False → NOT_HIT | True → HIT
|
|
277
|
+
汇总:NEEDS_OPTIMIZATION(有 HIT)/ NEAR_LIMIT(评估过无 HIT)/ INSUFFICIENT_DATA(禁止输出结论)
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## 5.4 首期规则清单(24 条)
|
|
281
|
+
|
|
282
|
+
| 层 | 规则 |
|
|
283
|
+
|----|------|
|
|
284
|
+
| L1 单核(8) | MTE2/CUBE/VEC/MTE3/FIXP/SCALAR BOUND、LATENCY_SYNC_SUSPECT、SERIAL_NO_OVERLAP |
|
|
285
|
+
| L2 核间(6) | CORE_TAIL、IMBALANCE_MILD/SEVERE、UNDERUTILIZATION、HEAD_OVERHEAD、HOST_DISPATCH_BLOCK |
|
|
286
|
+
| L3 卡间(7) | MC2_BALANCED / COMPUTE_BOUND / STRONG_COMPUTE / COMM_BOUND / STRONG_COMM、MTE2_POLLUTED(路由)、RANK_IMBALANCE |
|
|
287
|
+
| L0 指令(3) | ICACHE_MISS、L2_LOW_HIT、STALL_DOMINANT |
|
|
288
|
+
|
|
289
|
+
扩展方向:FA 混合绑核档、SIMT/VF 档、通信带宽档;远期父子 DAG 权重传播。
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
# 6. 数据契约体系
|
|
294
|
+
|
|
295
|
+
七类契约构成全部交付物的数据底座(字段与最小示例见各子域 references/ 下的
|
|
296
|
+
io-contracts / rule-schema / scope-schema):
|
|
297
|
+
|
|
298
|
+
| 契约 | schema | 关键字段 |
|
|
299
|
+
|------|--------|---------|
|
|
300
|
+
| 采集清单 | opstune.collection/1.0 | blocks[]{name,status,path};已有 manifest 禁重复采集;禁止伪 Green |
|
|
301
|
+
| 判定书 | opstune.verdict/1.1 | findings[]{rule_id,severity,confidence,evidence,counter_evidence,speedup_range,mechanism_refs} |
|
|
302
|
+
| 结果指纹 | opstune.snapshot/1.0 | HARD 12 口径字段 + MECHANISM 2 字段 + precision + status 三态 |
|
|
303
|
+
| 隔离测试 | opstune.isolation/1.0 | t_comm_us/t_compute_us/r_value/bound_hint(跨 rank max 口径) |
|
|
304
|
+
| 方案卡 | candidates.json | mechanism/target_rule/evidence/speedup_est/semantic_risk/rollback_if/template |
|
|
305
|
+
| 实施审查 | opstune.diff-audit/1.0 | changed_files vs 声明范围;UNATTRIBUTABLE 退出码 2 |
|
|
306
|
+
| 案例回灌 | case_candidate.json | 场景指纹 + 机制 + 实测 + 口径(E 级) |
|
|
307
|
+
|
|
308
|
+
**契约演进规则**:新增字段必须可选(向后兼容);删除/改义字段升 minor 版本;
|
|
309
|
+
消费方同步更新并过 evals。
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
# 7. 知识工程体系
|
|
314
|
+
|
|
315
|
+
## 7.1 五层知识(K1-K5)
|
|
316
|
+
|
|
317
|
+
| 层 | 内容 | 形态 | 扩展方式 |
|
|
318
|
+
|----|------|------|---------|
|
|
319
|
+
| K1 判定规则 | 触发条件+反证+置信度+收益预估 | YAML 规则包(脚本求值) | 新规则 = YAML + fixture + evals 断言,全绿合入 |
|
|
320
|
+
| K2 优化机制 | 机制卡八要素(原理/前提/收益/架构限制/精度风险/验证命令/回滚条件/模板资产) | 机制卡 + rule_id 索引 | 八要素写全 + 挂 mechanism_refs |
|
|
321
|
+
| K3 算子族与模板 | 族范式 + 选型决策树 + 可拷贝代码 | A/B 双型文档 + 模板货架 | 建族目录 + 模板链路;追上游重拷不分叉 |
|
|
322
|
+
| K4 案例证据 | 场景指纹 + 实测 + 证据分级 A-E | 案例卡(反例同等收录) | 实测回流(E)+ 官方 PR(A/B)入库评审 |
|
|
323
|
+
| K5 外部知识引用 | 芯片参数 / API 文档 / 理论标尺 | 引用清单 + 版本锁定,不落副本 | 引用 bump + CI 可达性校验 |
|
|
324
|
+
|
|
325
|
+
## 7.2 知识纪律与自演进
|
|
326
|
+
|
|
327
|
+
- **阈值纪律**:每条阈值带 threshold_source(msprof-doc / tuning-practice / mc2-practice /
|
|
328
|
+
首期标定 🟡);变更流程 = 改 YAML → evals 全绿 → 来源标注 → 人审合入;无来源降级
|
|
329
|
+
watch 档,缺反证的 BOUND 类不允许合入;
|
|
330
|
+
- **自演进四回路**:案例回流 / 校准闭环(speedup_est vs 实测回写)/ 阈值进化(命中率
|
|
331
|
+
统计 → 人审 + 回归全绿才生效)/ 缺口感知(「暂未收录」计数 → 排产信号);
|
|
332
|
+
- **防污染四纪律**:进化只产生建议不直接生效 | 证据分级不可逆(E 级不覆盖 A 级)|
|
|
333
|
+
数据脱敏 | 基线库版本化。
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
# 8. 关键场景端到端走查
|
|
338
|
+
|
|
339
|
+
## 8.1 单算子(Vector 类,如 GELU)
|
|
340
|
+
|
|
341
|
+
```
|
|
342
|
+
前置: 正确性全集 pass → scope.json
|
|
343
|
+
Step 1 采集: collect_board --mode standard(7 组指标)→ manifest + baseline snapshot
|
|
344
|
+
Step 2 问题判定: verdict.py(L2+L1)→ L1_VEC_BOUND 命中 + cast-heavy 反证
|
|
345
|
+
Step 3 机制路由: mechanism_refs → api-usage.md(减 Cast)→ 2 张方案卡(模板✅/⚠️)
|
|
346
|
+
Step 4/5 执行+对比: implementer 实施 → diff_audit OK → reviewer PASS → 统一采集
|
|
347
|
+
→ delta_compare:14.1→9.2us speedup 1.53x KEEP
|
|
348
|
+
收尾: REPORT 六要素 + E 级案例候选 + 校准数据
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
## 8.2 融合算子(MC²,如 alltoall_matmul)
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
前置: 识别 fork 多 rank + CrossCoreFlag → 场景=MC²;rankNum≤空闲卡数校验
|
|
355
|
+
Step 1 采集: collect_board --mode mc2(task-based 强制)
|
|
356
|
+
Step 2 问题判定: ① isolation_test(源码副本注释编排)→ T_comm=420us T_compute=880us R=2.10
|
|
357
|
+
② 全瀑布 verdict:L3_MC2_STRONG_COMPUTE + L3_MTE2_POLLUTED 命中
|
|
358
|
+
→ L1_MTE2_BOUND 自动禁用(路由副作用的价值时刻)+ L2_IMBALANCE_SEVERE
|
|
359
|
+
Step 3 机制路由: mc2.md(Local Matmul 首选)+ mc2-balancing.md + mc2_search.py 输出
|
|
360
|
+
Step 4/5 执行+对比: 配平候选逐个实测(跨 rank max 口径)→ 择优 KEEP
|
|
361
|
+
收尾: REPORT + E 级案例(MC² 场景指纹 → cases/mc2/)
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
## 8.3 调优问答(已有产物)
|
|
365
|
+
|
|
366
|
+
仅「问题判定」步骤离线执行 + 报告解读:manifest 存在只解析不重采;禁止无证据输出 Top5;
|
|
367
|
+
数据不足按真实数量输出,不补齐不造数。
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
# 9. 扩展指南
|
|
372
|
+
|
|
373
|
+
## 9.1 新增一条判定规则(最常见扩展)
|
|
374
|
+
|
|
375
|
+
```
|
|
376
|
+
1. rules/<layer>-*.yaml 追加规则(threshold_source 必填;BOUND 类必带反证)
|
|
377
|
+
2. fixtures/ 造已知答案输入;evals/run_evals.py 加断言(正例 + ≥1 反例/边界)
|
|
378
|
+
3. python3 evals/run_evals.py 全绿
|
|
379
|
+
4. 若引入新机制方向 → ops-mechanism 补机制卡并挂 mechanism_refs
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
## 9.2 新增一个算子族 / 一个 DSL / 接入编排平台
|
|
383
|
+
|
|
384
|
+
- **新族**:`ops-family/references/<family>/` → 判 A/B 型 → guide + 模板链路 → 族表更新;
|
|
385
|
+
- **新 DSL**(CATLASS/Triton/TileLang 等):判定引擎零改动(规则层 DSL 无关);
|
|
386
|
+
ops-mechanism 跨 DSL 原语对照表路由;ops-family 增 DSL 分册;
|
|
387
|
+
- **编排平台**:agent/ 即插件形态(AGENTS.md primary + agents/ + workflows/);
|
|
388
|
+
SKILL 可独立使用(CLI/CI)是兜底形态。
|
|
389
|
+
|
|
390
|
+
## 9.3 Roadmap
|
|
391
|
+
|
|
392
|
+
| # | 方向 |
|
|
393
|
+
|---|------|
|
|
394
|
+
| 1 | 性能报告解读 SKILL(AscendC Toolkit 插件:性能问题 + 证据 + 修复建议,引用本套件判定引擎与机制卡) |
|
|
395
|
+
| 2 | 补充最佳实践案例(A/B 级官方 PR + E 级实测回流) |
|
|
396
|
+
| 3 | 优化 HTML 报告(交互式钻取 / Bound 演化时间线 / 多轮对比视图) |
|
|
397
|
+
| 4 | ~~采集工具切换 DB 格式数据~~ ✅ 已交付(npu-compute 产物 sqlite 化:采集编排 --mode npu-compute / facts_bridge DB 通道 / verdict --db / csv_to_db 升级器 / db_bench 等价性门禁;PcSampling → top_stall_pct 打通 L0_STALL_DOMINANT) |
|
|
398
|
+
| 5 | 知识标准化 OKF 格式对接 CANN-KNOWLEDGE(知识资产可被生态检索复用) |
|
|
399
|
+
| 6 | AGENT/SKILL 增加 trace 能力(判定与调优决策链全程留痕可视化) |
|
|
400
|
+
| 7 | 新芯片 / API 适配(soc-spec / 规则包 soc 域 / 列名兼容层随芯片演进) |
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
*OpsTune 算子调优 AGENT 架构设计文档 · V2.0 | 判定进脚本 · 解释进 LLM · 经验可回流*
|