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
package/locale/en.json
ADDED
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,173 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cann-workbench",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
}
|
|
3
|
+
"version": "0.0.2-alpha",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"description": "Operator development, performance tuning and fault diagnosis in DSH, with session-linked tasks, live reports, skills, knowledge bases, and execution environments.",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "lib/index.js",
|
|
10
|
+
"types": "lib/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./lib/index.d.ts",
|
|
14
|
+
"default": "./lib/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./client": "./lib/client.js",
|
|
17
|
+
"./package.json": "./package.json",
|
|
18
|
+
"./locale/*.json": "./locale/*.json"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"lib",
|
|
22
|
+
"skills",
|
|
23
|
+
"cordis.patch.yml",
|
|
24
|
+
"locale/*.json",
|
|
25
|
+
"README.md",
|
|
26
|
+
"THIRD_PARTY_NOTICES.md",
|
|
27
|
+
"doctor/LICENSE",
|
|
28
|
+
"doctor/NOTICE"
|
|
29
|
+
],
|
|
30
|
+
"dsh": {
|
|
31
|
+
"bundle": {
|
|
32
|
+
"patch": "./cordis.patch.yml"
|
|
33
|
+
},
|
|
34
|
+
"client": {
|
|
35
|
+
"platform": "web",
|
|
36
|
+
"immediately": true,
|
|
37
|
+
"inject": [
|
|
38
|
+
"@deepseek-ai/dsh-api-gateway",
|
|
39
|
+
"@deepseek-ai/dsh-client-locale",
|
|
40
|
+
"@deepseek-ai/dsh-client-ui-layout",
|
|
41
|
+
"@deepseek-ai/dsh-client-ui-renderer",
|
|
42
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right",
|
|
43
|
+
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
44
|
+
"@deepseek-ai/dsh-client-ui-slots",
|
|
45
|
+
"@deepseek-ai/dsh-client-ui-chat",
|
|
46
|
+
"@deepseek-ai/dsh-client-ui-conversation",
|
|
47
|
+
"@deepseek-ai/dsh-client-ui-tool",
|
|
48
|
+
"@deepseek-ai/dsh-client-ui-primitives",
|
|
49
|
+
"@deepseek-ai/dsh-api-remotes",
|
|
50
|
+
"@deepseek-ai/dsh-api-workspace-files",
|
|
51
|
+
"@deepseek-ai/dsh-api-workspace-controller",
|
|
52
|
+
"@deepseek-ai/dsh-api-session-controller"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"manifestVersion": 1
|
|
56
|
+
},
|
|
57
|
+
"scripts": {
|
|
58
|
+
"build": "tsdown && node scripts/check-client-bundle.mjs",
|
|
59
|
+
"typecheck": "tsc --noEmit",
|
|
60
|
+
"test": "vitest run && node --test doctor/tests/*.test.js",
|
|
61
|
+
"check": "pnpm typecheck && pnpm test && pnpm build",
|
|
62
|
+
"typecheck:performance": "tsc --noEmit -p tsconfig.performance-check.json",
|
|
63
|
+
"test:diagnosis:native": "node scripts/doctor-native-harness.mjs",
|
|
64
|
+
"test:diagnosis:upstream": "node scripts/doctor-native-harness.mjs --upstream",
|
|
65
|
+
"test:diagnosis:package": "node scripts/verify-doctor-package.mjs",
|
|
66
|
+
"test:e2e": "pnpm build && playwright test"
|
|
67
|
+
},
|
|
68
|
+
"engines": {
|
|
69
|
+
"node": ">=22.19",
|
|
70
|
+
"dsh": ">=0.2.1-rc.5 <0.2.2"
|
|
71
|
+
},
|
|
72
|
+
"peerDependencies": {
|
|
73
|
+
"@deepseek-ai/cordis": ">=4.0.5-alpha.1 <5",
|
|
74
|
+
"@deepseek-ai/dsh-api-session-controller": ">=0.2.1-rc.5 <0.2.2",
|
|
75
|
+
"@deepseek-ai/dsh-api-workspace-controller": ">=0.2.1-rc.5 <0.2.2",
|
|
76
|
+
"@deepseek-ai/dsh-api-workspace-files": ">=0.2.1-rc.5 <0.2.2",
|
|
77
|
+
"@deepseek-ai/dsh-client-locale": ">=0.2.1-rc.5 <0.2.2",
|
|
78
|
+
"@deepseek-ai/dsh-client-ui-chat": ">=0.2.1-rc.5 <0.2.2",
|
|
79
|
+
"@deepseek-ai/dsh-client-ui-conversation": ">=0.2.1-rc.5 <0.2.2",
|
|
80
|
+
"@deepseek-ai/dsh-client-ui-layout": ">=0.2.1-rc.5 <0.2.2",
|
|
81
|
+
"@deepseek-ai/dsh-client-ui-primitives": ">=0.2.1-rc.5 <0.2.2",
|
|
82
|
+
"@deepseek-ai/dsh-client-ui-renderer": ">=0.2.1-rc.5 <0.2.2",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-sidebar": ">=0.2.1-rc.5 <0.2.2",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right": ">=0.2.1-rc.5 <0.2.2",
|
|
85
|
+
"@deepseek-ai/dsh-client-ui-slots": ">=0.2.1-rc.5 <0.2.2",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-tool": ">=0.2.1-rc.5 <0.2.2",
|
|
87
|
+
"@deepseek-ai/dsh-commands": ">=0.2.1-rc.5 <0.2.2"
|
|
88
|
+
},
|
|
89
|
+
"devDependencies": {
|
|
90
|
+
"@deepseek-ai/cordis": "4.0.5-alpha.1",
|
|
91
|
+
"@deepseek-ai/dsh-api-gateway": "0.2.1-rc.5",
|
|
92
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.5",
|
|
93
|
+
"@deepseek-ai/dsh-api-workspace-controller": "0.2.1-rc.5",
|
|
94
|
+
"@deepseek-ai/dsh-api-workspace-files": "0.2.1-rc.5",
|
|
95
|
+
"@deepseek-ai/dsh-brand": "0.2.1-rc.5",
|
|
96
|
+
"@deepseek-ai/dsh-client-locale": "0.2.1-rc.5",
|
|
97
|
+
"@deepseek-ai/dsh-client-product-analytics": "0.2.1-rc.5",
|
|
98
|
+
"@deepseek-ai/dsh-client-shortcuts": "0.2.1-rc.5",
|
|
99
|
+
"@deepseek-ai/dsh-client-store": "0.2.1-rc.5",
|
|
100
|
+
"@deepseek-ai/dsh-client-ui-chat": "0.2.1-rc.5",
|
|
101
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.5",
|
|
102
|
+
"@deepseek-ai/dsh-client-ui-layout": "0.2.1-rc.5",
|
|
103
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.5",
|
|
104
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.5",
|
|
105
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.1-rc.5",
|
|
106
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.5",
|
|
107
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.1-rc.5",
|
|
108
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.5",
|
|
109
|
+
"@deepseek-ai/dsh-client-ui-theme": "0.2.1-rc.5",
|
|
110
|
+
"@deepseek-ai/dsh-client-ui-tool": "0.2.1-rc.5",
|
|
111
|
+
"@deepseek-ai/dsh-commands": "0.2.1-rc.5",
|
|
112
|
+
"@deepseek-ai/dsh-fs": "0.2.1-rc.5",
|
|
113
|
+
"@deepseek-ai/dsh-package-manifest": "0.2.1-rc.5",
|
|
114
|
+
"@deepseek-ai/dsh-skill": "0.2.1-rc.5",
|
|
115
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.1-rc.5",
|
|
116
|
+
"@deepseek-ai/dsh-typert-registry": "0.2.1-rc.5",
|
|
117
|
+
"@deepseek-ai/dsh-util-code-language": "0.2.1-rc.5",
|
|
118
|
+
"@deepseek-ai/dsh-util-workspace-path": "0.2.1-rc.5",
|
|
119
|
+
"@playwright/test": "1.58.2",
|
|
120
|
+
"@shikijs/langs": "4.4.3",
|
|
121
|
+
"@testing-library/react": "16.3.3",
|
|
122
|
+
"@types/js-yaml": "4.0.9",
|
|
123
|
+
"@types/node": "22.20.0",
|
|
124
|
+
"@types/react": "18.3.28",
|
|
125
|
+
"@types/react-dom": "18.3.7",
|
|
126
|
+
"anser": "2.3.5",
|
|
127
|
+
"clsx": "2.1.1",
|
|
128
|
+
"immer": "10.1.3",
|
|
129
|
+
"jsdom": "29.1.1",
|
|
130
|
+
"katex": "0.18.7",
|
|
131
|
+
"mdast-util-from-markdown": "2.0.3",
|
|
132
|
+
"mdast-util-gfm": "3.1.0",
|
|
133
|
+
"mdast-util-math": "3.0.0",
|
|
134
|
+
"micromark-core-commonmark": "2.0.3",
|
|
135
|
+
"micromark-extension-gfm": "3.0.0",
|
|
136
|
+
"micromark-extension-math": "3.1.0",
|
|
137
|
+
"micromark-factory-space": "2.0.1",
|
|
138
|
+
"micromark-util-character": "2.1.1",
|
|
139
|
+
"micromark-util-classify-character": "2.0.1",
|
|
140
|
+
"micromark-util-decode-string": "2.0.1",
|
|
141
|
+
"micromark-util-sanitize-uri": "2.0.1",
|
|
142
|
+
"micromark-util-symbol": "2.0.1",
|
|
143
|
+
"react": "18.3.1",
|
|
144
|
+
"react-dom": "18.3.1",
|
|
145
|
+
"react-test-renderer": "18.3.1",
|
|
146
|
+
"shiki": "4.4.3",
|
|
147
|
+
"simple-icons": "16.31.0",
|
|
148
|
+
"tsdown": "0.22.14",
|
|
149
|
+
"typescript": "6.0.3",
|
|
150
|
+
"unrun": "^0.3.1",
|
|
151
|
+
"vite": "8.3.5",
|
|
152
|
+
"vitest": "4.1.8",
|
|
153
|
+
"zustand": "5.0.8"
|
|
154
|
+
},
|
|
155
|
+
"dependencies": {
|
|
156
|
+
"@deepseek-ai/dsh-llm": "0.2.1-rc.5",
|
|
157
|
+
"@deepseek-ai/dsh-session": "0.2.1-rc.5",
|
|
158
|
+
"@deepseek-ai/dsh-session-projection": "0.2.1-rc.5",
|
|
159
|
+
"@deepseek-ai/dsh-tools": "0.2.1-rc.5",
|
|
160
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.5",
|
|
161
|
+
"@deepseek-ai/dsh-util-values": "0.2.1-rc.5",
|
|
162
|
+
"@deepseek-ai/dsh-workspace": "0.2.1-rc.5",
|
|
163
|
+
"@deepseek-ai/schemastery": "3.18.5-alpha.1",
|
|
164
|
+
"ajv": "8.17.1",
|
|
165
|
+
"ajv-formats": "3.0.1",
|
|
166
|
+
"d3-flame-graph": "5.0.0",
|
|
167
|
+
"d3-selection": "3.0.0",
|
|
168
|
+
"diff": "8.0.2",
|
|
169
|
+
"echarts": "6.1.0",
|
|
170
|
+
"js-yaml": "4.1.1",
|
|
171
|
+
"zod": "4.4.3"
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# tool-ops-tune 安装与使用指导
|
|
2
|
+
|
|
3
|
+
本文说明将 tool-ops-tune 套件加载到三种 AI 助手(opencode、Claude Code、Codex)的安装方式、前置依赖、加载验证与使用示例。套件为「单入口 skill + 五子域」形态:`SKILL.md` 是唯一注册入口,五个子域(ops-collect / ops-verdict / ops-mechanism / ops-family / ops-report)以子目录形态由入口按调优阶段路由加载(渐进式披露——判定之前不加载机制卡,证据先行)。安装即把整个 `skills/tool-ops-tune/` 目录放到对应助手的技能目录,无需额外注册或编译。
|
|
4
|
+
|
|
5
|
+
## 前置依赖
|
|
6
|
+
|
|
7
|
+
- 安装技能本身无依赖。要完整走通调优流程,需在目标环境具备 CANN 软件包工具链:`msprof`(性能采集)、`npu-smi`(设备查询),且 Python ≥ 3.8 + PyYAML(判定引擎唯一硬依赖)。
|
|
8
|
+
- 纯判定 / 判定书解读无需 NPU:已有 msprof 导出的 CSV 即可直接喂 `ops-verdict/scripts/verdict.py`(套件 `fixtures/` 内置样本可直接体验)。
|
|
9
|
+
- `agent/` 编排层(五阶段自动调优)需要支持多 agent 的 AI 编程工具;SKILL 子域可脱离 Agent 单独使用(CLI 直跑)。
|
|
10
|
+
|
|
11
|
+
## 安装方式
|
|
12
|
+
|
|
13
|
+
三种助手的技能目录与发现机制如下(按各助手官方技能约定):
|
|
14
|
+
|
|
15
|
+
### opencode
|
|
16
|
+
|
|
17
|
+
- 项目级:将本套件目录放置为 `<项目>/.opencode/skills/tool-ops-tune/`。
|
|
18
|
+
- 全局:放置到 `~/.config/opencode/skills/tool-ops-tune/`。
|
|
19
|
+
- opencode 通过 skill 工具自动发现 SKILL.md,按 frontmatter 的 name 与 description 判定触发;目录放入后即可用,无需额外注册。
|
|
20
|
+
|
|
21
|
+
### Claude Code
|
|
22
|
+
|
|
23
|
+
- 项目级:`<项目>/.claude/skills/tool-ops-tune/`(SKILL.md 与子域目录一并放入)。
|
|
24
|
+
- 个人级:`~/.claude/skills/tool-ops-tune/`。
|
|
25
|
+
- Claude Code 依据 SKILL.md 的 description 命中触发条件时自动调用本套件,无需手动启用。
|
|
26
|
+
- 多 agent 编排:将 `agent/AGENTS.md` 作为项目编排规范并入 CLAUDE.md,`agent/agents/` 下两个 subagent 注册到 agents 目录即可启用五阶段自动调优。
|
|
27
|
+
|
|
28
|
+
### Codex
|
|
29
|
+
|
|
30
|
+
- 仓库级:`<仓库>/.agents/skills/tool-ops-tune/SKILL.md`(Codex 从当前目录向上扫描 `.agents/skills`,放在仓库根目录可让所有子目录使用)。
|
|
31
|
+
- 用户级:`~/.agents/skills/tool-ops-tune/`。
|
|
32
|
+
- Codex 启动时扫描技能目录,先只注入 name 与 description 进入上下文,命中后加载完整 SKILL.md;新增技能后需重启 Codex 生效。
|
|
33
|
+
- 若所用 Codex 版本未启用 skills 特性,可将套件触发与路由说明写入仓库的 AGENTS.md(workspace 指令),使 Codex 将其作为仓库工作区指令加载——此为降级集成路径。
|
|
34
|
+
|
|
35
|
+
## 加载验证
|
|
36
|
+
|
|
37
|
+
- opencode:发起与 description 强信号吻合的提问(如「帮我判定这个算子的瓶颈」),或查看 skill 工具是否列出 `tool-ops-tune`。
|
|
38
|
+
- Claude Code:输入含「算子调优 / 瓶颈判定 / Bound 判定 / 性能采集」等触发词的问题,观察是否按五阶段流程进入采集与判定。
|
|
39
|
+
- Codex:启动后使用 `/skills` 浏览(或输入含触发词的问题),确认 `tool-ops-tune` 出现在可用技能列表。
|
|
40
|
+
- CLI 直跑验证(不依赖助手):`python3 ops-verdict/scripts/verdict.py --rules ops-verdict/rules/L1-single-core.yaml --csv ops-verdict/fixtures/mte2_bound_a2.csv --soc a2 -o /tmp/v.json`,产出合法判定书即安装完整。
|
|
41
|
+
- DB 通道自验(Roadmap #4,可选):拿一份 npu-compute `.npu-rep` 解包目录跑 `python3 ops-collect/scripts/facts_bridge.py --manifest <解包目录> --soc a5 --print-scalar`——目录特征自动识别 npu-compute 通道;含 `summary.db` 时输出应含 `top_stall_pct`(PcSampling)。
|
|
42
|
+
- 回归自检(测试框架):`python3 ops-verdict/evals/run_evals.py`(执行式判定回归,38 用例)+ `bash ops-verdict/evals/smoke/run_smoke.sh`(离线干跑冒烟,msprof shim 无 NPU 可跑)——退出码 0 才可用;变更规则/脚本后必须先过双绿再交付。
|
|
43
|
+
|
|
44
|
+
## 使用示例
|
|
45
|
+
|
|
46
|
+
向已加载套件的助手输入一个调优任务即可,例如:
|
|
47
|
+
|
|
48
|
+
> 帮我调优这个 gelu 算子,工程在 ./gelu_project,cases.csv 里有 12 个 case,目标是耗时降到 100us 以内
|
|
49
|
+
|
|
50
|
+
助手应按五阶段闭环执行:精度门禁预检 → 采集与基线固化(ops-collect 路由)→ 分层判定(verdict.py)→ 机制路由与候选方案 → 单变量迭代(每轮 diff_audit + 独立审查 + 同口径对比)→ REPORT 六要素归档,全程产物落 `tuning_artifacts/{operator}/`。
|
|
51
|
+
|
|
52
|
+
已有 profiling 产物时也可直接问「这个算子为什么慢,给出瓶颈判定和证据」——仅走离线判定与报告解读,不修改源码。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
CANN Open Software License Agreement Version 2.0
|
|
2
|
+
|
|
3
|
+
This CANN Open Software License Agreement Version 2.0 (hereinafter referred to as this "Agreement") is a legal agreement between you and Huawei, and it governs your use, modification, or distribution of CANN Open Software (hereinafter referred to as "Software"). Please read this Agreement carefully.
|
|
4
|
+
|
|
5
|
+
If you are entering into this Agreement on behalf of a company or other legal entity, you represent that you have the legal authority to bind that entity to this Agreement, in which case "you" will mean the entity you represent.
|
|
6
|
+
|
|
7
|
+
BY DOWNLOADING, INSTALLING, OR USING THE SOFTWARE, YOU AGREE YOU HAVE FULLY UNDERSTOOD AND ACCEPTED THE TERMS CONTAINED HEREIN. IF YOU DO NOT AGREE TO ANY OF THE TERMS OF THIS AGREEMENT, OR IF YOU DO NOT QUALIFY FOR AGREEING TO THIS AGREEMENT, YOU ARE NOT AUTHORIZED TO AND SHALL NOT DOWNLOAD, INSTALL, OR MAKE ANY USE OF THE SOFTWARE.
|
|
8
|
+
|
|
9
|
+
1. Definition
|
|
10
|
+
|
|
11
|
+
1.1 Software means the APIs, source code files, binaries, and related documents of Compute Architecture for Neural Networks("CANN") that are licensable by Huawei, and provided and licensed under this Agreement.
|
|
12
|
+
|
|
13
|
+
1.2 Huawei AI Processors mean AI chipsets (i) branded with "Ascend", "Kirin"," Yueying" or other brands owned or controlled by Huawei; or (ii) manufactured (including have manufactured), supplied (including have supplied) or designed (including have designed) by Huawei.
|
|
14
|
+
|
|
15
|
+
2. Grant of Intellectual Property Rights
|
|
16
|
+
2.1 Subject to the terms and conditions of this Agreement, including your full compliance thereof, Huawei hereby grants you a limited, worldwide, royalty-free, non-transferable, non-sublicensable, and revocable license for you to (i) download, use, modify, integrate, and distribute the Software or its derivative works for the purpose of developing software solely for use in systems with Huawei AI Processors and/or Software, and (ii) distribute any software developed based upon Software and/or its derivative works solely for use in systems with Huawei AI Processors and/or Software.
|
|
17
|
+
|
|
18
|
+
3. Restrictions
|
|
19
|
+
3.1 You are not authorized to, and shall not use, modify, or distribute this Software or its derivative works for any other purposes than those expressly permitted by this Agreement. You shall not make any use of the Software or its derivative works to develop or distribute any software for use in systems with processors other than Huawei AI Processors. All rights not expressly granted herein are expressly reserved by Huawei.
|
|
20
|
+
|
|
21
|
+
3.2 You are not authorized to, and shall not remove, obscure, or alter any copyright or other notices in this Software or any part of it.
|
|
22
|
+
|
|
23
|
+
3.3 Distribution Restrictions
|
|
24
|
+
You may distribute the Software or its derivative works in any medium, whether in source or executable forms, for the purpose stipulated in Section 2; provided that you provide recipients with a copy of this Agreement, and retain all notices in the Software.
|
|
25
|
+
|
|
26
|
+
4. Disclaimer of Warranty and Limitation of Liability
|
|
27
|
+
THE SOFTWARE IS PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL HUAWEI OR ANY OTHER COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE, IN WHOLE OR IN PART, NO MATTER HOW IT IS CAUSED OR THE LEGAL THEORY IT IS BASED ON, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
28
|
+
|
|
29
|
+
5. Termination
|
|
30
|
+
5.1 This Agreement will continue to apply until terminated by either you or Huawei as described below:
|
|
31
|
+
a.You may terminate this Agreement by ceasing your use of the Software;
|
|
32
|
+
b. Huawei may at any time, terminate this Agreement if: (i) you fail to comply with any term of this Agreement; or (ii) you directly or indirectly initiate any legal proceeding against any individual or entity by alleging that the Software or any part of it infringes your intellectual property rights.
|
|
33
|
+
5.2 By termination, all the rights granted to you under this Agreement are terminated, and you shall cease to use and delete this Software or any derivative works immediately. All rights granted to you under this Agreement shall hereby be void ab initio in the event of termination in accordance with Section 5.1. b above. Huawei reserves the right to pursue any and all legal remedies available to enforce the terms and conditions of this Agreement or to protect Huawei’s intellectual property rights for such breach or violation. All provisions shall survive the termination of this Agreement except for Section 2 and Section 3.3.
|
|
34
|
+
|
|
35
|
+
6. MISCELLANEOUS
|
|
36
|
+
If the application of any provision of this Agreement to any particular facts or circumstances is held to be invalid or unenforceable by a court of competent jurisdiction, then (a) the validity and enforceability of such provision as applied to any other particular facts or circumstances and the validity of other provisions of this Agreement shall not in any way be affected or impaired thereby and (b) such provision shall be enforced to the maximum extent possible so as to affect the intent of the you and Huawei and reformed without further action by you and Huawei to the extent necessary to make such provision valid and enforceable.
|
|
37
|
+
|
|
38
|
+
END OF THE TERMS AND CONDITIONS
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# OpsTune — 昇腾算子性能调优 AGENT/SKILL 套件
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
**判定进脚本 · 解释进 LLM · 经验可回流**
|
|
11
|
+
|
|
12
|
+
📖 [架构设计](docs/ops-tune-design.md) | [知识库规范](docs/知识库规范.md) | [评测体系](docs/用例构建.md) | [安装指导](INSTALL.md)
|
|
13
|
+
|
|
14
|
+
给「已可运行、精度通过」的昇腾算子做性能调优的完整 Agent + SKILL 工具链:分层瓶颈判定引擎(规则-指标绑定契约)、机制卡与案例证据库、算子族模板代码货架、MC² 隔离测试与配平搜索、调优主循环(采集→问题判定→机制路由候选方案→单变量执行优化→对比确认)——让 Bound 判定可审计、阈值可回归、结论可复现。
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 📢 为什么需要 OpsTune
|
|
19
|
+
|
|
20
|
+
算子性能调优长期是专家驱动的手工活:一次 MTE2 Bound / VF 级别的专家诊断常以人月计,判定质量随人波动,经验随人员流动流失。OpsTune 把这条链路工程化:
|
|
21
|
+
|
|
22
|
+
| 业界现状痛点 | OpsTune 的答案 |
|
|
23
|
+
|-------------|---------------|
|
|
24
|
+
| Bound 判定靠 LLM/专家读文档,阈值变更不可回归 | **ops-verdict 判定引擎**:24 条专家规则 YAML 化 + 脚本求值 + 执行式回归(evals 38 用例) |
|
|
25
|
+
| 指标没采也可能被「判」出瓶颈 | **规则-指标绑定契约**:REQUIRED 缺失 → SKIPPED,机制上杜绝无证据判定 |
|
|
26
|
+
| MC² 场景 MTE2 被通信等待污染,单核优化做了白做 | **路由副作用**:污染判定命中自动禁用单核访存规则并改道通信掩盖策略 |
|
|
27
|
+
| 跨口径比较、噪声带内宣称收益 | **口径指纹互锁**:12 字段 HARD 校验 + 精度门禁 + ±5% 噪声带三段结论 |
|
|
28
|
+
| 融合算子隔离测试全靠手工 | **isolation_test.py**:T_comm/T_compute → R 值实验编排(跨 rank max 木桶口径内置) |
|
|
29
|
+
| 经验不回流 | **案例卡 schema**(A-E 证据分级)+ E 级回灌 + 预估-实测校准数据随每轮产出 |
|
|
30
|
+
|
|
31
|
+
**面向用户**:昇腾 NPU 算子开发者(Ascend C 为主)、性能工程师、算子仓 CI 维护者。
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 🏆 核心竞争力
|
|
36
|
+
|
|
37
|
+
### ① 性能数据 AI 亲和性设计
|
|
38
|
+
|
|
39
|
+
采集产物即 Agent 可直接消费的结构化数据——**AI 读得更快、更省 Token,判定更快更准**:
|
|
40
|
+
|
|
41
|
+
- **950 平台采集对接 [npu-compute](../tool-npu-compute/)**(本仓 npu_tools/npu_compute):相比传统 msprof 导出,npu-compute 产出结构化 `.npu-rep` 报告(7 Section CSV + `Summary.jsonl` + **`summary.db`** SQLite),Agent 侧零解析成本直接喂判定引擎;
|
|
42
|
+
- **DB 格式消费链已打通**(Roadmap #4 交付):`summary.db` 聚合查询下推(AVG+NULL-skip)使标量提取与分析查询**实测提速一个数量级**(`db_bench.py` 四负载等价性门禁 + 提速比,复跑命令见 [ops-collect/SKILL.md](ops-collect/SKILL.md));`PcSampling` 表(DB 独有)产出 `top_stall_pct`——L0_STALL_DOMINANT 规则的首个生产者;
|
|
43
|
+
- **采集维度更全**:涵盖 **Block Profiling**(逐 Block 核间负载形态——L2 核间判定层的直接证据源)、**通信性能数据**(多卡/集合通信时延与带宽——MC² 卡间判定层输入)、**SIMT WARP 流水灯**(Warp 调度与发散形态——条件分支/离散索引类算子的指令级证据)——为多卡、多核、单核全场景性能调优提供更完整的证据链;
|
|
44
|
+
- **指标词汇表与三代列名兼容**(aic_/aiv_/ai_)+ ratio_to_pct 双口径归一 + mean/max 双统计内建于引擎——性能数据从「人读的 CSV」升级为「机器判定的契约数据」。
|
|
45
|
+
|
|
46
|
+
### ② TOP-DOWN 分层判定方法论,对标业界领导者
|
|
47
|
+
|
|
48
|
+
对标业界领先 GPU Profiling 工具 Guided Analysis 的「规则引擎 + 绑定契约 + 预估加速比排序」形态,并向前一步——**判定进脚本,速度更快、结论更准、质量不随模型波动**:
|
|
49
|
+
|
|
50
|
+
- **L3 卡间 → L2 核间 → L1 单核 → L0 指令** 四层瀑布,上层结论约束下层(TOP-DOWN 归因路径,杜绝单核视角误判融合算子);
|
|
51
|
+
- **内置 24 条专家经验规则**(MC² R 值五档 / 核间长尾离散度三档 / MTE2 真假 bound 二分 / 串行无重叠指纹 / 头开销 / host 下发阻塞…),每条带**阈值溯源 + 反证条目 + 置信度 + 预估收益区间 + 机制路由**;
|
|
52
|
+
- **可扩展零代码**:新规则 = 一个 YAML 条目 + fixture + 断言用例(evals 全绿才可合入)——专家经验的积累不碰引擎;
|
|
53
|
+
- **覆盖多卡、多核、单核全场景**:单算子 / 融合算子(FA·MC²)/ 批量回归 / 调优问答四类入口共用同一规则集与数据契约。
|
|
54
|
+
|
|
55
|
+
### ③ 专业知识体系:分类化 · 结构化 · 可演进
|
|
56
|
+
|
|
57
|
+
算子调优知识不是散落的文档,而是**分层分类、带路由入口、可检索可扩展**的知识资产:
|
|
58
|
+
|
|
59
|
+
- **知识五层分类(K1-K5)**:判定规则(24 条 YAML)/ 优化机制卡(8 张,固定八要素:原理·前提·收益·架构限制·精度风险·验证命令·回滚条件·模板资产)/ 算子族实践(11 族 A/B 双型文档 + 32 个可拷贝代码模板 + 计时 harness ×2)/ 案例证据(A-E 分级,反例同等收录)/ 外部事实引用(CANN 真源动态引用不落副本);
|
|
60
|
+
- **多层次知识体系 + 生态对接**:经验性知识沉淀于本套件,事实性知识(芯片参数 / API 签名 / 官方示例 / 理论标尺)对接 [cann-knowledge](https://gitcode.com/cann/cannbot-knowledge) 知识库真源——单一事实源,不维护会腐烂的副本;
|
|
61
|
+
- **知识自演进四回路**:案例回流(E 级实测入库)/ 校准闭环(预估 vs 实测偏差回写收益区间)/ 阈值进化(命中率统计 → 人审 + 回归全绿才生效)/ 缺口感知(「暂未收录」显式计数 → 排产信号);
|
|
62
|
+
- **知识轨迹能力**:每张判定书、每轮对比、每条回灌案例都带口径指纹与证据链可追溯——知识从哪来、被谁用过、验证过几轮,全程留痕。
|
|
63
|
+
|
|
64
|
+
### ④ 算子性能 Benchmark 构建,评测与自进化双驱动
|
|
65
|
+
|
|
66
|
+
调优能力本身也需要被评测——Benchmark 是 AGENT/SKILL 自进化的**量化反馈回路**:
|
|
67
|
+
|
|
68
|
+
- **执行式回归体系**:evals 38 用例(判定回归 E1-E26 含 R 值临界值双侧守护 + 门禁脚本回归 S1-S12)+ 离线冒烟 smoke 13 项检查(msprof shim 无 NPU 可跑)+ 触发评测 7 用例——规则/阈值任何变更,判定质量劣化立即被抓住;
|
|
69
|
+
- **真机标尺**:soc-spec 峰值表(带宽/算力/容量,来源可溯)提供「还差多远」的客观读数;CANNBench L1-L4 任务的 t_hw 理论下界可作外部标尺接入;
|
|
70
|
+
- **自进化闭环**:Benchmark 评测数据(误报率 / 命中率 / 预估偏差)→ 阈值进化建议 → 人审 + 回归全绿 → 合入——AGENT/SKILL 的能力提升走机制不走自觉。
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 🏗️ 项目架构
|
|
75
|
+
|
|
76
|
+
四层架构:**Agent 编排(只调度不判定)→ SKILL 能力(确定性沉淀)→ 规则引擎(判定进脚本)→ CANN 工具链(复用不重做)**。
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
skills/tool-ops-tune/
|
|
80
|
+
├── SKILL.md # 套件入口:主循环总览 + 子域路由表
|
|
81
|
+
├── INSTALL.md # 三助手(opencode/Claude Code/Codex)安装指导
|
|
82
|
+
├── agent/ # L3 Agent 编排层
|
|
83
|
+
│ ├── AGENTS.md # OpsTuningAgent:调优主循环 + 三道精度门禁
|
|
84
|
+
│ ├── agents/ # perf-implementer / perf-reviewer subagent
|
|
85
|
+
│ └── workflows/ # task-prompts(Step 执行手册)+ troubleshooting
|
|
86
|
+
├── ops-collect/ # L2 采集编排(模式路由 + manifest 契约 + MC² 隔离测试)
|
|
87
|
+
├── ops-verdict/ # ★ 判定引擎(规则包 24 条 + snapshot/delta_compare
|
|
88
|
+
│ │ # 口径互锁 + soc-spec 标尺 + evals/smoke 回归)
|
|
89
|
+
├── ops-mechanism/ # 机制卡 8 张 + 案例库(A-E 分级)+ mc2_search 配平搜索
|
|
90
|
+
├── ops-family/ # 算子族 11 族 + 32 个可拷贝模板 + tiling 候选生成器
|
|
91
|
+
└── ops-report/ # 结果可视化(render_html 单文件静态报告)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**调优主循环**:`(前置)意图与边界:精度门禁预检 + 场景分类 → 【采集 → 问题判定(verdict.json 分层瀑布)→ 机制路由(候选方案卡 ≤3)→ 单变量执行优化(diff_audit 机器闸门)→ 对比确认(KEEP/REVERT/复测三段结论)】循环至收敛 → (收尾)归档回灌(REPORT 六要素 + E 级案例)`
|
|
95
|
+
|
|
96
|
+
## 🚀 快速开始
|
|
97
|
+
|
|
98
|
+
### 前置条件
|
|
99
|
+
|
|
100
|
+
- 任选一种 AI 编程工具:[Claude Code](https://code.claude.com/docs/en/setup) / OpenCode / Codex
|
|
101
|
+
- Python ≥ 3.8 + PyYAML(判定引擎唯一硬依赖)
|
|
102
|
+
- 上板采集需 CANN 工具链(msprof / npu-compute / npu-smi);**纯判定 / 回归 / 问答无需 NPU**
|
|
103
|
+
|
|
104
|
+
### 30 秒体验:不装 Agent,直接判定
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# 拿一份 msprof 导出的 PipeUtilization.csv,一句话出判定书:
|
|
108
|
+
python3 ops-verdict/scripts/verdict.py \
|
|
109
|
+
--rules ops-verdict/rules/L2-inter-core.yaml,ops-verdict/rules/L1-single-core.yaml \
|
|
110
|
+
--csv PipeUtilization.csv --soc a2 \
|
|
111
|
+
--scalar physical_cores=48,block_dim=24,task_duration_us=195 \
|
|
112
|
+
-o verdict.json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
verdict: NEEDS_OPTIMIZATION | MTE2 搬入瓶颈(moderate);另有 2 项命中
|
|
117
|
+
HIT [moderate/high ] L1_MTE2_BOUND: MTE2 搬入瓶颈 (est [1.2, 2.0]) evidence: mte2_ratio=78.0
|
|
118
|
+
HIT [critical/high ] L2_IMBALANCE_SEVERE: 核间负载不均衡(离散度严重档) (est [1.1, 1.5])
|
|
119
|
+
skipped=0 insufficient_data=0
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
每条命中都带**证据数值 + 阈值溯源 + 反证评估 + 置信度 + 预估收益 + 机制路由**——判定可审计,不是黑盒。
|
|
123
|
+
|
|
124
|
+
### 用自然语言调优(装好 Agent 后)
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
"帮我调优这个 gelu 算子,cases.csv 里有 12 个 case,目标是 100us 以内"
|
|
128
|
+
"这个 MC² 算子为什么慢?给出瓶颈判定和证据"
|
|
129
|
+
"把优化前后的 profiling 对比一下,生成报告"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Agent 按主循环执行:采集与基线固化 → 问题判定 → 机制路由候选方案 → 单变量执行优化 → 对比确认(KEEP/REVERT),循环至收敛后 REPORT 归档,全程产物落 `tuning_artifacts/{operator}/`。
|
|
133
|
+
|
|
134
|
+
安装方式(opencode / Claude Code / Codex 三助手)与加载验证详见 **[INSTALL.md](INSTALL.md)**。
|
|
135
|
+
|
|
136
|
+
## 📊 资产总览
|
|
137
|
+
|
|
138
|
+
| 资产 | 规模 | 位置 |
|
|
139
|
+
|------|------|------|
|
|
140
|
+
| 判定规则(L0-L3 四包) | 24 条(阈值全溯源,BOUND 类必带反证) | ops-verdict/rules/ |
|
|
141
|
+
| 优化机制卡 | 8 张(固定八要素,含 MC² 配平搜索) | ops-mechanism/references/optimize/ |
|
|
142
|
+
| 案例证据卡 | 3 张(A-E 分级,含反例) | ops-mechanism/cases/ |
|
|
143
|
+
| 算子族实践 + 模板 | 11 族 + 32 个可拷贝代码模板(族表断言零漂移)+ 计时 harness ×2 | ops-family/references/ |
|
|
144
|
+
| 执行式回归 | evals 38 用例 + smoke 13 项检查(无 NPU 可跑) | ops-verdict/evals/ |
|
|
145
|
+
| 数据契约 | 7 份 schema(collection/verdict/snapshot/scope/candidates/isolation/case) | 各子域 references/ |
|
|
146
|
+
|
|
147
|
+
## 🗺️ Roadmap
|
|
148
|
+
|
|
149
|
+
| # | 方向 | 说明 |
|
|
150
|
+
|---|------|------|
|
|
151
|
+
| 1 | **性能报告解读 SKILL(AscendC Toolkit 插件)** | 对接 AscendC Toolkit 插件形态:读取性能报告,输出「性能问题 + 证据 + 修复建议」三段式解读,可引用本套件(ops-tune)的判定引擎与机制卡作为依据——把专业判定能力带到开发者日常工作流 |
|
|
152
|
+
| 2 | 补充最佳实践案例 | 案例证据库扩容(A/B 级官方 PR 案例 + E 级实测回流),覆盖更多算子族与融合形态 |
|
|
153
|
+
| 3 | 优化 HTML 报告 | render_html 增强:交互式钻取、Bound 演化时间线、多轮迭代对比视图 |
|
|
154
|
+
| 4 | ~~采集工具切换 DB 格式数据~~ **✅ 已交付** | npu-compute 采集产物 sqlite DB 格式消费(`--mode npu-compute` 采集编排 + facts_bridge DB 通道 + verdict `--db` + csv_to_db 升级器 + db_bench 性能验证);PcSampling → top_stall_pct 打通 L0_STALL_DOMINANT |
|
|
155
|
+
| 5 | 知识标准化 OKF 格式对接 CANN-KNOWLEDGE | 知识资产按 OKF(Open Knowledge Format)标准化,与 [cann-knowledge](https://gitcode.com/cann/cannbot-knowledge) 双向对接——本套件知识可被生态检索与复用 |
|
|
156
|
+
| 6 | AGENT/SKILL 增加 trace 能力 | 判定与调优全程 trace 留痕(决策链可视化):每步为什么这么做、证据是什么、替代方案为何未选 |
|
|
157
|
+
| 7 | 新芯片 / API 适配 | 适配下一代芯片与新 AscendC API:soc-spec 峰值表 / 规则包 soc 域 / 列名兼容层随芯片演进扩展 |
|
|
158
|
+
|
|
159
|
+
## 🤝 贡献
|
|
160
|
+
|
|
161
|
+
- **新增判定规则**:YAML 条目(threshold_source 必填 + BOUND 类必带反证)+ fixture + evals 断言,回归全绿后提 PR——详见 `docs/知识库规范.md`;
|
|
162
|
+
- **新增机制卡 / 案例卡 / 算子族模板**:按 `docs/知识库规范.md` 的八要素与 A-E 证据分级书写;
|
|
163
|
+
- 提交流程遵循 [CONTRIBUTING.md](../../CONTRIBUTING.md)。
|
|
164
|
+
|
|
165
|
+
## 📄 许可证
|
|
166
|
+
|
|
167
|
+
[CANN Open Software License 2.0](../../LICENSE)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tool-ops-tune
|
|
3
|
+
description: 昇腾算子性能调优 AGENT/SKILL 套件(OpsTune)。对「已可运行、精度通过」的算子工程做性能调优:分层瓶颈判定引擎(规则-指标绑定契约,判定只出自脚本)、性能采集编排(msprof 模式路由与 manifest 契约)、机制卡与案例证据库、算子族模板货架、调优主循环(采集→问题判定→机制路由候选方案→单变量执行优化→对比确认)。触发:算子调优、瓶颈判定、Bound 判定、性能采集、profiling 编排、调优前后对比、加速比结论时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 昇腾算子调优套件(OpsTune)
|
|
7
|
+
|
|
8
|
+
> **判定进脚本 · 解释进 LLM · 经验可回流**
|
|
9
|
+
> 给「已可运行、精度通过」的昇腾算子做性能调优的完整 Agent + SKILL 工具链:
|
|
10
|
+
> Bound 判定可审计、阈值可回归、结论可复现。
|
|
11
|
+
|
|
12
|
+
## 套件总览(调优主循环闭环)
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
工程 + cases(精度已通过)
|
|
16
|
+
│
|
|
17
|
+
Phase 0 意图与边界 ─ 精度门禁预检(全集跑通)+ 场景分类(单算子/融合/回归/问答)→ scope.json
|
|
18
|
+
│
|
|
19
|
+
Phase 1 采集与基线 ─ ops-collect 模式路由(MC² task-based 强制/单卡 standard/无卡 sim)
|
|
20
|
+
│ + 不可变基线 snapshot(口径指纹 12 HARD 字段)
|
|
21
|
+
│
|
|
22
|
+
Phase 2 分层判定 ── ops-verdict 规则引擎:L3 卡间→L2 核间→L1 单核→L0 指令瀑布
|
|
23
|
+
│ + 路由副作用(MTE2 污染自动禁用单核访存判定)→ verdict.json
|
|
24
|
+
│
|
|
25
|
+
Phase 3 机制路由 ── 按 findings[].mechanism_refs 加载机制卡(判定后才加载,证据先行)
|
|
26
|
+
│ → 候选方案卡 ≤3(机制+证据+diff 草案+预估收益+回滚条件)
|
|
27
|
+
│
|
|
28
|
+
Phase 4 单变量迭代 ─ perf-implementer 单机制实施 → diff_audit 范围机器校验
|
|
29
|
+
│ → perf-reviewer 独立审查 → 同口径统一采集 → delta_compare
|
|
30
|
+
│ 三段结论(KEEP / REVERT / 噪声带复测)
|
|
31
|
+
│
|
|
32
|
+
Phase 5 归档回灌 ── REPORT 六要素 + E 级案例候选 + 预估-实测校准数据
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
编排规范:`agent/AGENTS.md`(OpsTuningAgent 调优主循环 + 三道精度门禁 + 口径铁律);
|
|
36
|
+
Step 执行手册:`agent/workflows/task-prompts.md`;故障分流:`agent/workflows/troubleshooting.md`。
|
|
37
|
+
|
|
38
|
+
## 子域路由表(按调优阶段加载)
|
|
39
|
+
|
|
40
|
+
| 子域 | 回答的问题 | 关键资产 | 交付状态 |
|
|
41
|
+
|------|-----------|---------|---------|
|
|
42
|
+
| `ops-collect/` | 数据怎么采对采全 | 采集模式路由决策树 + collect_board/collect_cases/facts_bridge/jsonl_to_cases/collect_sim + isolation_test(MC² 隔离测试)+ manifest 契约(opstune.collection/1.0)+ npu-compute DB 格式通道(csv_to_db/db_bench,Roadmap #4) | ✅ 已交付 |
|
|
43
|
+
| `ops-verdict/` ★ | 瓶颈是什么、为什么不是别的;改好了吗 | 判定引擎 6 脚本 + L0-L3 规则包 24 条 + 口径指纹互锁(snapshot/delta_compare) + soc-spec 峰值标尺 + 执行式回归(evals 38 用例 + 离线冒烟 smoke) | ✅ 已交付 |
|
|
44
|
+
| `ops-mechanism/` | 怎么改、能涨多少、风险在哪 | 机制卡八要素 + 案例证据库(A-E 证据分级;含 MC² 机制卡与配平搜索) | ✅ 已交付 |
|
|
45
|
+
| `ops-family/` | 代码怎么写(模板货架) | 算子族 A/B 双型文档 + 可拷贝代码模板 + tiling 候选生成器(含 mc2 族设计参考) | ✅ 已交付 |
|
|
46
|
+
| `ops-report/` | 结果怎么呈现 | 调优结果可视化报告(render_html:单文件静态 HTML,零外部依赖) | ✅ 已交付 |
|
|
47
|
+
|
|
48
|
+
> 子域间唯一耦合点是显式契约引用:verdict 的 `mechanism_refs` → 机制卡;方案卡的
|
|
49
|
+
> `template` → 模板路径;manifest `blocks` → CSV 输入定位;snapshot HARD_KEYS →
|
|
50
|
+
> delta_compare 校验域。契约字段不变则两侧互不影响。
|
|
51
|
+
|
|
52
|
+
## 30 秒体验:不装 Agent,直接判定
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 拿一份 msprof 导出的 PipeUtilization.csv,一句话出判定书:
|
|
56
|
+
python3 ops-verdict/scripts/verdict.py \
|
|
57
|
+
--rules ops-verdict/rules/L2-inter-core.yaml,ops-verdict/rules/L1-single-core.yaml \
|
|
58
|
+
--csv PipeUtilization.csv --soc a2 \
|
|
59
|
+
--scalar physical_cores=48,block_dim=24,task_duration_us=195 \
|
|
60
|
+
-o verdict.json
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
每条命中都带**证据数值 + 阈值溯源 + 反证评估 + 置信度 + 预估收益 + 机制路由**——判定可审计,不是黑盒。
|
|
64
|
+
|
|
65
|
+
## 采集入口(上板 / 仿真)
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# 上板标准采集(7 组 aic-metrics 顺序采集 + manifest 契约落盘):
|
|
69
|
+
bash ops-collect/scripts/collect_board.sh --mode standard --exe ./build/demo --args "8448 4096 4096" -o PROF_OUT
|
|
70
|
+
|
|
71
|
+
# 950/A5 DB 格式采集(npu-compute → .npu-rep → 解包 → summary.db,Roadmap #4):
|
|
72
|
+
bash ops-collect/scripts/collect_board.sh --mode npu-compute --exe ./build/demo -o NPC_OUT
|
|
73
|
+
|
|
74
|
+
# 逐 case 批量采集(cases.csv → perf_data.csv,batch_pipeline 直连):
|
|
75
|
+
python3 ops-collect/scripts/collect_cases.py --cases cases.csv --exe ./build/demo -o collect_out
|
|
76
|
+
|
|
77
|
+
# 采集产物 → 判定标量桥接(L0 规则与 L1 反证的标量生产者;
|
|
78
|
+
# --source auto 按目录特征判源,npu-compute 解包目录自动走 DB 通道):
|
|
79
|
+
python3 ops-collect/scripts/facts_bridge.py --prof PROF_OUT --soc a5
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 安装
|
|
83
|
+
|
|
84
|
+
三种 AI 助手(opencode / Claude Code / Codex)的安装与加载验证见 [INSTALL.md](INSTALL.md)。
|
|
85
|
+
|
|
86
|
+
## 职责边界
|
|
87
|
+
|
|
88
|
+
| 做 | 不做 |
|
|
89
|
+
|---|---|
|
|
90
|
+
| 对「可运行且精度通过」的算子做性能调优闭环 | 不做算子开发(从零开发走算子开发域工作流) |
|
|
91
|
+
| 判定进脚本(verdict.py 规则求值,LLM 只解释) | 不做精度调试(精度失败 → 停止调优转调试域) |
|
|
92
|
+
| 同口径前后对比(口径指纹互锁 + 噪声带三段结论) | 不重做采集器(msprof/msopprof/cannsim 全部复用) |
|
|
93
|
+
| 经验回流(E 级案例 + 校准数据 + 缺口计数) | 不在噪声带(±5%)内宣称收益 |
|