diff --git a/docs/skill-coverage.md b/docs/skill-coverage.md index 680cb11cf..eb46c78f5 100644 --- a/docs/skill-coverage.md +++ b/docs/skill-coverage.md @@ -4,7 +4,7 @@ Generated from the registry, the skill sidecars and the two maintained matrices. **Do not edit by hand**; regenerate after any registry, skill, matrix or frozen-plan change. -- Input digest: `sha256:e36cf2e6e982084dbf4e52014a6342a61bc1b49151d52ac0bf03f8e7ea975cff` +- Input digest: `sha256:2081c91cd7318ae75d1d50673b3a00c2f7be297ceb3ff53009a773c6d8c1476b` - Regenerate: `python tools/build_skill_coverage.py` - Verify without writing: `python tools/build_skill_coverage.py --check` @@ -52,28 +52,28 @@ optimization is fully covered or that any procedure has measured benefit. | Skill | Backend | Declared task | Applicability | Conditions | SearchSpace layer / stage | Reference Matrix | State | Gaps | |---|---|---|---|---|---|---|---|---| -| [ascend-aclgraph-capture-replay](../src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/SKILL.md) | ascend | Diagnose vLLM-Ascend ACLGraph capture/replay eligibility, stable-input and ordering contracts, and capture-resource ... | **unknown** | — | 1 Accelerator · Diagnose / Configure / Optimize / Verify | 1 · Systems sources (vllm-project/vllm-ascend @ `8a8e1e05ecb64a30804c99c8f362909f9a0cb5bf` ...) | candidate · not_run · 1 readset(s) | no-applicability, no-eval | -| [ascend-device-health](../src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/SKILL.md) | ascend | Pre-run health checks and recovery procedures for Ascend NPU devices on shared machines: card-group topology ... | **unknown** | — | 4 Network · Diagnose
5 OS · Observe / Profile / Diagnose / Configure / Verify | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [ascend-distributed-parallel](../src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/SKILL.md) | ascend | Select and validate distributed parallelism strategy on Ascend NPU: topology-aware card-group selection, USP/CP/TP/PP ... | **unknown** | — | 1 Accelerator · Configure
4 Network · Diagnose / Configure / Optimize / Verify / Observe | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39)
1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c)
1 · Systems sources (cann/hccl @ `96fab0a2acb761e7f8ab0f94aeb5138f200a345b` (CANN Open ...) | candidate · not_run · 3 readset(s) | no-applicability, no-eval | -| [ascend-graph-mode](../src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/SKILL.md) | ascend | Diagnose an Ascend TorchAir ACL graph path from versioned configuration through FX compilation, capture-key selection ... | **unknown** | — | 1 Accelerator · Diagnose / Configure / Verify
3 SSD · Diagnose | 1 · Systems sources (Ascend/torchair @ `e1118e8b0fc1b95190ab53b732c0872989550e20` ...)
1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 3 readset(s) | no-applicability, no-eval | -| [ascend-model-adaptation](../src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/SKILL.md) | ascend | Patterns for porting LLM/VLM model adapters to Ascend NPU: FP8 checkpoint handling, KV replication with TP, multimodal ... | **unknown** | — | 1 Accelerator · Configure
3 SSD · Diagnose / Configure | 1 · Systems sources (vllm-project/vllm-ascend @ bc8115ed) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [ascend-operator-profiling](../src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/SKILL.md) | ascend | Benchmark a single Ascend NPU operator using msprof op: build, collect with warmup, read the 8 CSV metrics files ... | **unknown** | — | 1 Accelerator · Observe / Profile
5 OS · Observe / Profile | 1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [ascend-operator-tuning](../src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/SKILL.md) | ascend | Run a staged, accuracy-gated tuning campaign on a single Ascend NPU operator: set a numeric target up front, block ... | **unknown** | — | 1 Accelerator · Optimize | 1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [ascend-optimization-casebook](../src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/SKILL.md) | ascend | Casebook of NPU optimization cases for Ascend inference systems: symptom → diagnosis → action → evidence records for ... | **unknown** | — | 1 Accelerator · Optimize / Verify | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [ascend-performance-analysis](../src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/SKILL.md) | ascend | Diagnose performance bottlenecks on Ascend NPU systems using CANN profiling data. Maps GPU profiling concepts (nsys ... | **unknown** | — | 1 Accelerator · Observe / Profile / Diagnose / Verify
4 Network · Observe / Profile / Diagnose / Verify
5 OS · Diagnose | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39)
1 · Systems sources (cann/cannbot @ `c0e2ad23ee1a73e3c0f84c8df1cc459e2aae3110` (selected ...) | candidate · not_run · 1 readset(s) | no-applicability, no-eval | -| [ascend-video-diffusion-optimization](../src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/SKILL.md) | ascend | Run and verify goal-driven Ascend video diffusion optimization. Specializes the backend-agnostic ... | Ascend NPU video diffusion inference and serving optimization | — | — | — | candidate · not_run · 1 readset(s) | no-SearchSpace-layer, no-Reference-Matrix-row, no-eval | -| [ascendc-tiling-design](../src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/SKILL.md) | ascend | Design tiling for a custom AscendC operator: normalize the shape first (axis-collapse or flatten), answer the ... | **unknown** | — | 1 Accelerator · Optimize | 1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [cann-attribution-overlap](../src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/SKILL.md) | ascend | Attribute NPU trace kernels to model source and plan bounded multistream overlap: select a representative step, map ... | **unknown** | — | 1 Accelerator · Observe / Profile / Diagnose / Optimize / Verify
4 Network · Diagnose / Optimize / Verify | 1 · Systems sources (cann/oam-tools @ `8440935f` (!302 import; later master `f3cf4115` ...) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [cgroup-resource-controls](../src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/SKILL.md) | common | Diagnose and configure cgroup v2 resource controls for serving/training workloads: distinguish quota stalls from ... | **unknown** | — | 2 RAM/Host · Observe / Profile / Configure / Verify
5 OS · Observe / Profile / Diagnose / Configure / Optimize / Verify | 1 · Systems sources (Linux cgroup v2 docs — kernel.org live 2026-10-15 (revision ...) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [diagnose-attention-bottlenecks](../src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/SKILL.md) | cuda | Diagnose the next attention-kernel bottleneck after IO reduction using evidence about HBM traffic, work ownership ... | **unknown** | — | 1 Accelerator · Diagnose / Optimize / Verify | 1 · Systems sources (FlashAttention — [2205.14135v2](https://arxiv.org/abs/2205.14135v2)) | candidate · not_run · 9 readset(s) | no-applicability, no-eval | -| [host-memory-management](../src/inferrsi/data/skill_library/hardware/host/host-memory-management/SKILL.md) | common | Audit pinned host buffers and asynchronous CUDA transfers: distinguish copy ordering, host mutation/reuse and device ... | **unknown** | — | 2 RAM/Host · Configure / Verify | 1 · Systems sources (python/cpython @ `60403a5409ff2c3f3b07dd2ca91a7a3e096839c7` (v3.13.0 ...)
1 · Systems sources (pytorch/pytorch @ `ba56102387ef21a3b04b357e5b183d48f0afefc7` (v2.8.0 ...)
1 · Systems sources (vllm-project/vllm-ascend @ `8a8e1e05ecb64a30804c99c8f362909f9a0cb5bf` ...) | candidate · not_run · 4 readset(s) | no-applicability, no-eval | -| [host-overhead-optimization](../src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/SKILL.md) | common | Profile and reduce CPU/host overhead in inference serving using line_profiler. Iterative ... | **unknown** | — | 2 RAM/Host · Optimize / Diagnose / Verify | 1 · Systems sources (NVIDIA/TensorRT-LLM @ f33e0e5fd) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [host-overhead-profiling](../src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/SKILL.md) | cuda | Detect and diagnose CPU/host overhead in inference serving from nsys traces. Answers: is host overhead the bottleneck? ... | **unknown** | — | 2 RAM/Host · Observe / Profile / Diagnose | 1 · Systems sources (NVIDIA/TensorRT-LLM @ f33e0e5fd) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [os-process-placement](../src/inferrsi/data/skill_library/hardware/host/os-process-placement/SKILL.md) | common | Place and configure inference/training processes at the OS level before measuring or optimizing: check then pin CPU ... | **unknown** | — | 5 OS · Optimize | 1 · Systems sources (NVIDIA/TensorRT-LLM @ f33e0e5fd)
1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c)
1 · Systems sources (ggml-org/llama.cpp @ `3e390af18de1131dda27913c00511725b4274c8a` (MIT ...)
1 · Systems sources (vllm-project/vllm-ascend @ bc8115ed) | candidate · not_run · 1 readset(s) | no-applicability, no-eval | -| [reason-hopper-kernels](../src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/SKILL.md) | cuda | Reason about Hopper SM90 CUDA GEMM kernels using TMA and mbarrier lifetimes, WGMMA warpgroup participation, register ... | Source-derived Hopper SM90/SM90a kernel reasoning for TMA/mbarrier, WGMMA ... | architectures, excluded_mechanisms | 1 Accelerator † guidance: Hopper kernel reasoning (source-derived) | 1 · Systems sources (NVlabs/kda @ `acdd79343c5e9d0c7cb96289f26fd3f1051ce785` → ...) | candidate · not_run · 3 readset(s) | no-eval | -| [storage-io-measurement](../src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/SKILL.md) | common | Measure storage I/O for LLM/diffusion serving without conflating device metrics with application outcomes: match the ... | **unknown** | — | 3 SSD · Observe / Profile / Diagnose / Verify | 1 · Systems sources (axboe/fio @ acb7a302)
1 · Systems sources (sysstat/sysstat @ efd0c445) | candidate · not_run · 0 readset(s) | no-applicability, no-eval | -| [torchnpu-device-memory-lifecycle](../src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/SKILL.md) | ascend | Diagnose TorchNPU device-HBM reuse, cross-stream lifetimes, cache retention and fragmentation, then propose ... | **unknown** | — | 1 Accelerator · Diagnose / Configure / Optimize / Verify | 1 · Systems sources (Ascend/pytorch (TorchNPU) @ `67511c53cd4c88014f6123de7097677e60e85faa` ...) | candidate · not_run · 1 readset(s) | no-applicability, no-eval | -| [torchnpu-pinned-host-memory-lifecycle](../src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/SKILL.md) | ascend | Diagnose TorchNPU pinned-host RAM allocation, asynchronous-copy lifetime, reuse and cache controls, then propose ... | **unknown** | — | 2 RAM/Host · Diagnose / Configure / Optimize / Verify | 1 · Systems sources (Ascend/pytorch (TorchNPU) @ `67511c53cd4c88014f6123de7097677e60e85faa` ...) | candidate · not_run · 1 readset(s) | no-applicability, no-eval | +| [ascend-aclgraph-capture-replay](../src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/SKILL.md) | ascend | Diagnose vLLM-Ascend ACLGraph capture/replay eligibility, stable-input and ordering contracts, and capture-resource ... | Diagnose vLLM-Ascend ACLGraph eligibility, capture/replay dispatch, caller-buffer ... | input_contract, produced_artifact, refusal_point
3 advice | 1 Accelerator · Diagnose / Configure / Optimize / Verify | 1 · Systems sources (vllm-project/vllm-ascend @ `8a8e1e05ecb64a30804c99c8f362909f9a0cb5bf` ...) | candidate · not_run · 1 readset(s) | no-eval | +| [ascend-device-health](../src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/SKILL.md) | ascend | Pre-run health checks and recovery procedures for Ascend NPU devices on shared machines: card-group topology ... | Pre-run Ascend device-health, topology, occupancy and timing checks before a trusted ... | failure_modes, input_contract, produced_artifact
3 advice | 4 Network · Diagnose
5 OS · Observe / Profile / Diagnose / Configure / Verify | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39) | candidate · not_run · 0 readset(s) | no-eval | +| [ascend-distributed-parallel](../src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/SKILL.md) | ascend | Select and validate distributed parallelism strategy on Ascend NPU: topology-aware card-group selection, USP/CP/TP/PP ... | Select and diagnose Ascend parallel strategies and their activation/overlap, with a ... | failure_modes, input_contract, produced_artifact
4 advice | 1 Accelerator · Configure
4 Network · Diagnose / Configure / Optimize / Verify / Observe | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39)
1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c)
1 · Systems sources (cann/hccl @ `96fab0a2acb761e7f8ab0f94aeb5138f200a345b` (CANN Open ...) | candidate · not_run · 3 readset(s) | no-eval | +| [ascend-graph-mode](../src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/SKILL.md) | ascend | Diagnose an Ascend TorchAir ACL graph path from versioned configuration through FX compilation, capture-key selection ... | Diagnose the TorchAir Python ACL graph path from configuration and FX compilation through ... | failure_modes, input_contract, produced_artifact
3 advice | 1 Accelerator · Diagnose / Configure / Verify
3 SSD · Diagnose | 1 · Systems sources (Ascend/torchair @ `e1118e8b0fc1b95190ab53b732c0872989550e20` ...)
1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 3 readset(s) | no-eval | +| [ascend-model-adaptation](../src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/SKILL.md) | ascend | Patterns for porting LLM/VLM model adapters to Ascend NPU: FP8 checkpoint handling, KV replication with TP, multimodal ... | Checkpoint onboarding for LLM/VLM adapters on Ascend: weight/scale loading, KV-head ... | failure_modes, input_contract, produced_artifact
3 advice | 1 Accelerator · Configure
3 SSD · Diagnose / Configure | 1 · Systems sources (vllm-project/vllm-ascend @ bc8115ed) | candidate · not_run · 0 readset(s) | no-eval | +| [ascend-operator-profiling](../src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/SKILL.md) | ascend | Benchmark a single Ascend NPU operator using msprof op: build, collect with warmup, read the 8 CSV metrics files ... | Build, measure and diagnose one Ascend operator in isolation using msprof op, before ... | failure_modes, input_contract, produced_artifact
3 advice | 1 Accelerator · Observe / Profile
5 OS · Observe / Profile | 1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 0 readset(s) | no-eval | +| [ascend-operator-tuning](../src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/SKILL.md) | ascend | Run a staged, accuracy-gated tuning campaign on a single Ascend NPU operator: set a numeric target up front, block ... | Run a bounded, accuracy-gated tuning campaign for a single Ascend operator already ... | failure_modes, input_contract, produced_artifact, refusal_point
3 advice | 1 Accelerator · Optimize | 1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 0 readset(s) | no-eval | +| [ascend-optimization-casebook](../src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/SKILL.md) | ascend | Casebook of NPU optimization cases for Ascend inference systems: symptom → diagnosis → action → evidence records for ... | Find source-derived prior cases for an already classified Ascend inference bottleneck ... | input_contract, produced_artifact, refusal_point
2 advice | 1 Accelerator · Optimize / Verify | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39) | candidate · not_run · 0 readset(s) | no-eval | +| [ascend-performance-analysis](../src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/SKILL.md) | ascend | Diagnose performance bottlenecks on Ascend NPU systems using CANN profiling data. Maps GPU profiling concepts (nsys ... | Interpret Ascend CANN profiling evidence from step breakdown through ... | failure_modes, input_contract, produced_artifact
3 advice | 1 Accelerator · Observe / Profile / Diagnose / Verify
4 Network · Observe / Profile / Diagnose / Verify
5 OS · Diagnose | 1 · Systems sources (Ascend/MindIE-SD @ 8481d39)
1 · Systems sources (cann/cannbot @ `c0e2ad23ee1a73e3c0f84c8df1cc459e2aae3110` (selected ...) | candidate · not_run · 1 readset(s) | no-eval | +| [ascend-video-diffusion-optimization](../src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/SKILL.md) | ascend | Run and verify goal-driven Ascend video diffusion optimization. Specializes the backend-agnostic ... | Ascend NPU video diffusion inference and serving optimization | failure_modes, input_contract, produced_artifact
3 advice | — | — | candidate · not_run · 1 readset(s) | no-SearchSpace-layer, no-Reference-Matrix-row, no-eval | +| [ascendc-tiling-design](../src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/SKILL.md) | ascend | Design tiling for a custom AscendC operator: normalize the shape first (axis-collapse or flatten), answer the ... | Design or restructure AscendC tiling for the covered reduction, broadcast and elementwise ... | failure_modes, input_contract, produced_artifact
3 advice | 1 Accelerator · Optimize | 1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c) | candidate · not_run · 0 readset(s) | no-eval | +| [cann-attribution-overlap](../src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/SKILL.md) | ascend | Attribute NPU trace kernels to model source and plan bounded multistream overlap: select a representative step, map ... | Attribute representative CANN trace kernels to source owners and plan bounded multistream ... | failure_modes, input_contract, produced_artifact
4 advice | 1 Accelerator · Observe / Profile / Diagnose / Optimize / Verify
4 Network · Diagnose / Optimize / Verify | 1 · Systems sources (cann/oam-tools @ `8440935f` (!302 import; later master `f3cf4115` ...) | candidate · not_run · 0 readset(s) | no-eval | +| [cgroup-resource-controls](../src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/SKILL.md) | common | Diagnose and configure cgroup v2 resource controls for serving/training workloads: distinguish quota stalls from ... | Audit Linux cgroup v2 CPU quota/shares, effective placement, memory pressure/protection ... | failure_modes, input_contract, produced_artifact
4 advice | 2 RAM/Host · Observe / Profile / Configure / Verify
5 OS · Observe / Profile / Diagnose / Configure / Optimize / Verify | 1 · Systems sources (Linux cgroup v2 docs — kernel.org live 2026-10-15 (revision ...) | candidate · not_run · 0 readset(s) | no-eval | +| [diagnose-attention-bottlenecks](../src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/SKILL.md) | cuda | Diagnose the next attention-kernel bottleneck after IO reduction using evidence about HBM traffic, work ownership ... | Diagnose attention-kernel bottlenecks after IO reduction, tile/pipeline regressions and ... | input_contract, produced_artifact, refusal_point
3 advice | 1 Accelerator · Diagnose / Optimize / Verify | 1 · Systems sources (FlashAttention — [2205.14135v2](https://arxiv.org/abs/2205.14135v2)) | candidate · not_run · 9 readset(s) | no-eval | +| [host-memory-management](../src/inferrsi/data/skill_library/hardware/host/host-memory-management/SKILL.md) | common | Audit pinned host buffers and asynchronous CUDA transfers: distinguish copy ordering, host mutation/reuse and device ... | Audit host preparation, pinned-host pressure and asynchronous CUDA-copy ... | failure_modes, input_contract, produced_artifact
3 advice | 2 RAM/Host · Configure / Verify | 1 · Systems sources (python/cpython @ `60403a5409ff2c3f3b07dd2ca91a7a3e096839c7` (v3.13.0 ...)
1 · Systems sources (pytorch/pytorch @ `ba56102387ef21a3b04b357e5b183d48f0afefc7` (v2.8.0 ...)
1 · Systems sources (vllm-project/vllm-ascend @ `8a8e1e05ecb64a30804c99c8f362909f9a0cb5bf` ...) | candidate · not_run · 4 readset(s) | no-eval | +| [host-overhead-optimization](../src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/SKILL.md) | common | Profile and reduce CPU/host overhead in inference serving using line_profiler. Iterative ... | Use line-level profiling to reduce exposed Python request-preparation, scheduling and ... | failure_modes, input_contract, produced_artifact
3 advice | 2 RAM/Host · Optimize / Diagnose / Verify | 1 · Systems sources (NVIDIA/TensorRT-LLM @ f33e0e5fd) | candidate · not_run · 0 readset(s) | no-eval | +| [host-overhead-profiling](../src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/SKILL.md) | cuda | Detect and diagnose CPU/host overhead in inference serving from nsys traces. Answers: is host overhead the bottleneck? ... | Detect exposed host overhead and diagnose per-step host regressions in CUDA inference ... | failure_modes, input_contract, produced_artifact
3 advice | 2 RAM/Host · Observe / Profile / Diagnose | 1 · Systems sources (NVIDIA/TensorRT-LLM @ f33e0e5fd) | candidate · not_run · 0 readset(s) | no-eval | +| [os-process-placement](../src/inferrsi/data/skill_library/hardware/host/os-process-placement/SKILL.md) | common | Place and configure inference/training processes at the OS level before measuring or optimizing: check then pin CPU ... | Prepare and record CPU/NUMA process placement, phase-specific thread settings, device ... | failure_modes, input_contract, produced_artifact
3 advice | 5 OS · Optimize | 1 · Systems sources (NVIDIA/TensorRT-LLM @ f33e0e5fd)
1 · Systems sources (ascend-ai-coding/awesome-ascend-skills @ 75ec89c)
1 · Systems sources (ggml-org/llama.cpp @ `3e390af18de1131dda27913c00511725b4274c8a` (MIT ...)
1 · Systems sources (vllm-project/vllm-ascend @ bc8115ed) | candidate · not_run · 1 readset(s) | no-eval | +| [reason-hopper-kernels](../src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/SKILL.md) | cuda | Reason about Hopper SM90 CUDA GEMM kernels using TMA and mbarrier lifetimes, WGMMA warpgroup participation, register ... | Source-derived Hopper SM90/SM90a kernel reasoning for TMA/mbarrier, WGMMA ... | architectures, excluded_mechanisms, failure_modes, input_contract, produced_artifact
3 advice | 1 Accelerator † guidance: Hopper kernel reasoning (source-derived) | 1 · Systems sources (NVlabs/kda @ `acdd79343c5e9d0c7cb96289f26fd3f1051ce785` → ...) | candidate · not_run · 3 readset(s) | no-eval | +| [storage-io-measurement](../src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/SKILL.md) | common | Measure storage I/O for LLM/diffusion serving without conflating device metrics with application outcomes: match the ... | Measure and attribute storage traffic for model loading or serving while separating ... | input_contract, produced_artifact, refusal_point
4 advice | 3 SSD · Observe / Profile / Diagnose / Verify | 1 · Systems sources (axboe/fio @ acb7a302)
1 · Systems sources (sysstat/sysstat @ efd0c445) | candidate · not_run · 0 readset(s) | no-eval | +| [torchnpu-device-memory-lifecycle](../src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/SKILL.md) | ascend | Diagnose TorchNPU device-HBM reuse, cross-stream lifetimes, cache retention and fragmentation, then propose ... | Diagnose TorchNPU device-HBM reuse, stream lifetimes, fragmentation and ... | input_contract, produced_artifact, refusal_point
3 advice | 1 Accelerator · Diagnose / Configure / Optimize / Verify | 1 · Systems sources (Ascend/pytorch (TorchNPU) @ `67511c53cd4c88014f6123de7097677e60e85faa` ...) | candidate · not_run · 1 readset(s) | no-eval | +| [torchnpu-pinned-host-memory-lifecycle](../src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/SKILL.md) | ascend | Diagnose TorchNPU pinned-host RAM allocation, asynchronous-copy lifetime, reuse and cache controls, then propose ... | Diagnose TorchNPU pinned-host RAM allocation, asynchronous-copy ownership/readiness ... | input_contract, produced_artifact, refusal_point
3 advice | 2 RAM/Host · Diagnose / Configure / Optimize / Verify | 1 · Systems sources (Ascend/pytorch (TorchNPU) @ `67511c53cd4c88014f6123de7097677e60e85faa` ...) | candidate · not_run · 1 readset(s) | no-eval | ## Registered: Frameworks (5) @@ -239,7 +239,7 @@ an entrypoint routes to procedures below it rather than adding one. | `no-SearchSpace-layer` | 15: ascend-video-diffusion-optimization, audit-fixed-workload-claim, audit-recurrent-kv-finalization, cite-check-downstream-pr, competitor-scan, draft-acceptance-issue, dwarfstar, husky, inference-benchmark-design, lily, npu-skill-factory, repository-evolution-analysis, skill-evolution-playbook, splash, video-diffusion-optimization | | `no-Reference-Matrix-row` | 8: ascend-video-diffusion-optimization, audit-fixed-workload-claim, cite-check-downstream-pr, claim-contract, competitor-scan, draft-acceptance-issue, rsi-evidence, video-diffusion-optimization | | `no-sidecar` | 0: — | -| `no-applicability` | 24: as listed in the Gaps column above | +| `no-applicability` | 4: audit-vllm-kv-lifetimes, dcp-async-save-performance, diagnose-vllm-admission-pressure, kv-tier-management | | `no-eval` | 77: as listed in the Gaps column above | These are inventory gaps, not defects. A workflow skill may legitimately diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/README.md b/src/inferrsi/data/repo_packs/inferrsi/knowledge/README.md index 06d738915..8bd394700 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/README.md +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/README.md @@ -15,7 +15,7 @@ These are knowledge abstracts (`--kind knowledge`), with namespaced package IDs distinct from explicitly selected `checkout_ref` skills. Ascend/CUDA procedures use their corresponding backend; shared methods use `common`. -Source snapshot: [8115da15b9ef34978de500b08aa9f14ea790c35b](https://github.com/InferMatrixLab/InferRSI/tree/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library). +Source snapshot: [fb4171e87b4c78d4d62c927f297374ed917949f5](https://github.com/InferMatrixLab/InferRSI/tree/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library). ```bash inferrsi knowledge search 'profiling' --repo-type inferrsi --limit 50 @@ -29,7 +29,7 @@ contain the current input paths and bytes (Git checkout filters are respected). ```bash python tools/build_skill_index.py --source-revision -python tools/build_skill_index.py --source-revision 8115da15b9ef34978de500b08aa9f14ea790c35b --check +python tools/build_skill_index.py --source-revision fb4171e87b4c78d4d62c927f297374ed917949f5 --check ``` `--check` detects missing, stale and unexpected generated records without writing. diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-aclgraph-capture-replay.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-aclgraph-capture-replay.json index ee9392c0b..59b4ce2c3 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-aclgraph-capture-replay.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-aclgraph-capture-replay.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/metadata.json", @@ -39,7 +39,7 @@ "checkout_ref": "checkout:ascend-aclgraph-capture-replay", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/SKILL.md": "d494fc7e539cbb7388189bd7b3f04bb5c4983fdd7a82484348aad1cee7f741f2", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/metadata.json": "71c68431663ed2336cccc985a354adab6b13b4cfd6123a18a5d8d53c28268509", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/metadata.json": "3ac69dd82ae798450092c830b62f4958dc2f5b1c7000f9c3f822f2b0693f8af4", "src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/references/source-notes.md": "6ffbfb68cc7e04923b4fbca2a73a7555b7c3b45a6f40819bb5f3213ef05cf88d", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, @@ -67,12 +67,31 @@ "provenance_readsets": [ "references/source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose vLLM-Ascend ACLGraph eligibility, capture/replay dispatch, caller-buffer ownership and capture-resource failures.", + "prerequisites": "An existing eager correctness baseline; authorization before any new run or live configuration change.", + "input_contract": "Installed stack and device, requested/effective graph mode, runner/backend settings, capture sizes and batch descriptors, error phase, replay observations and HBM/stream evidence.", + "produced_artifact": "A bounded diagnosis, smallest reversible proposal, expected tradeoff and correctness/resource verification plan with unresolved compatibility or authorization questions.", + "refusal_point": "Stop on output mismatch, unstable replay addresses, capture exhaustion, unknown ordering or version drift; missing evidence permits only a conditional proposal." + }, + "recommendations": [ + "Diagnose the effective runtime mode and batch descriptor before changing capture sizes; intended warmup/profile bypass is not a cache defect.", + "Trace stable replay buffers to the owning caller and preserve synchronization/update ordering; the wrapper does not stage new inputs into persistent buffers.", + "Compare eager and graph execution on the same workload, separating initial capture, repeated replay, compiler changes and memory/stream costs; a replay log alone proves neither coverage nor speedup." + ] + }, + "applicability": { + "scope": "Diagnose vLLM-Ascend ACLGraph eligibility, capture/replay dispatch, caller-buffer ownership and capture-resource failures.", + "prerequisites": "An existing eager correctness baseline; authorization before any new run or live configuration change.", + "input_contract": "Installed stack and device, requested/effective graph mode, runner/backend settings, capture sizes and batch descriptors, error phase, replay observations and HBM/stream evidence.", + "produced_artifact": "A bounded diagnosis, smallest reversible proposal, expected tradeoff and correctness/resource verification plan with unresolved compatibility or authorization questions.", + "refusal_point": "Stop on output mismatch, unstable replay addresses, capture exhaustion, unknown ordering or version drift; missing evidence permits only a conditional proposal." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Diagnose the effective runtime mode and batch descriptor before changing capture sizes; intended warmup/profile bypass is not a cache defect.", + "Trace stable replay buffers to the owning caller and preserve synchronization/update ordering; the wrapper does not stage new inputs into persistent buffers.", + "Compare eager and graph execution on the same workload, separating initial capture, repeated replay, compiler changes and memory/stream costs; a replay log alone proves neither coverage nor speedup." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-device-health.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-device-health.json index 70b46caa1..f9058b075 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-device-health.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-device-health.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/metadata.json", @@ -40,7 +40,7 @@ "checkout_ref": "checkout:ascend-device-health", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/SKILL.md": "03829039860ece35519f2e4c339a48b5014ec25e07a2c150a3efb6a3a4e35b4a", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/metadata.json": "80d80c15514919826fa72d6f6cf26b76db8accd85d21187fc239232ca454e7bf", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/metadata.json": "f643185563dbf528a5a1f2b0561685ae34302a9efc9900c6753a7168b4e8b329", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -67,12 +67,31 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Pre-run Ascend device-health, topology, occupancy and timing checks before a trusted baseline, multi-card run or graph capture, including after a killed job.", + "hardware": "Ascend NPU card groups with topology and health visible through npu-smi.", + "input_contract": "Intended card group, current topology/health and process occupancy, prior termination history and expected workload step timing.", + "produced_artifact": "A pre-run health/occupancy and step-timing record, with recovery observations and a baseline-remeasurement requirement after a card-group change.", + "failure_modes": "Health=OK can miss degraded post-kill timing; foreign processes, unwarmed clocks or comparing different card groups can contaminate the baseline." + }, + "recommendations": [ + "Read topology each session rather than hardcoding card numbers, then check health and foreign-process occupancy before the workload smoke check.", + "Use the short step-timing check to investigate post-kill degradation; record affected cards and timings instead of treating Health=OK as sufficient evidence.", + "Warm up operator measurements and remeasure the baseline after changing card groups; set only environment variables needed by the run." + ] + }, + "applicability": { + "scope": "Pre-run Ascend device-health, topology, occupancy and timing checks before a trusted baseline, multi-card run or graph capture, including after a killed job.", + "hardware": "Ascend NPU card groups with topology and health visible through npu-smi.", + "input_contract": "Intended card group, current topology/health and process occupancy, prior termination history and expected workload step timing.", + "produced_artifact": "A pre-run health/occupancy and step-timing record, with recovery observations and a baseline-remeasurement requirement after a card-group change.", + "failure_modes": "Health=OK can miss degraded post-kill timing; foreign processes, unwarmed clocks or comparing different card groups can contaminate the baseline." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Read topology each session rather than hardcoding card numbers, then check health and foreign-process occupancy before the workload smoke check.", + "Use the short step-timing check to investigate post-kill degradation; record affected cards and timings instead of treating Health=OK as sufficient evidence.", + "Warm up operator measurements and remeasure the baseline after changing card groups; set only environment variables needed by the run." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-distributed-parallel.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-distributed-parallel.json index f3a2f5092..69cf7ceba 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-distributed-parallel.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-distributed-parallel.json @@ -27,8 +27,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/metadata.json", @@ -48,7 +48,7 @@ "checkout_ref": "checkout:ascend-distributed-parallel", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/SKILL.md": "0b79d95e8d5abf0a822f8ae6bfa3779cbb40595c5b6f0fb934233275f5899ef8", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/metadata.json": "56ae2092fb4d6538603c1d3d3916f0a3f0eb443d23dad3217ebd74d48d208d94", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/metadata.json": "096a12d4a5b98bd057e1a87f972038fd43556e82e484b5134943b6e45e880178", "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/references/awesome-ascend-communication-tests.md": "0cb27a3d24409171bb414d7ebf0c49ad62be5f46482f29624695496ba9eb3e63", "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/references/hccl-LICENSE.md": "05205a02acebd671c78d3b876c1f6097b84cce89780f5d9bdc204bfbea92d0c1", "src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/references/hccl-allreduce-readset.json": "4a3d403986dfceaa28605f2f30b79545e1efdc27f35c88755402b75b4d13d7e2", @@ -139,12 +139,31 @@ "references/hccl-allreduce.md", "references/hccl-allreduce-readset.json", "references/hccl-LICENSE.md" + ], + "applicability": { + "scope": "Select and diagnose Ascend parallel strategies and their activation/overlap, with a separately bounded native multi-rank HCCL AllReduce dispatch and correctness procedure.", + "input_contract": "Installed collective/runtime builds, rank/device map and topology, workload/strategy settings, count/dtype/reduction, effective dispatch, per-rank outputs and completed-collective/application timing evidence.", + "produced_artifact": "A topology- and workload-qualified strategy/dispatch diagnosis, activation and correctness checks, stage-cost attribution and a target-validation proposal; isolated test completion is not a service result.", + "failure_modes": "Requested parallel settings can silently fall back; stale local-head/chunk/shard parameters can disable a path, and changed topology/card count can confound strategy comparisons." + }, + "recommendations": [ + "Confirm the final collective algorithm/engine after fallback and observe sharding/collective activation before interpreting correct outputs or tuning performance.", + "Preserve peer/thread waits and test distinct rank/position data with explicit completion on every rank; keep enqueue time, collective completion and application-stage timing separate.", + "Recompute topology-derived parameters and remeasure the anchor after changing card groups or parallel degree; inherited diffusion topology restrictions are not universal HCCL gates.", + "Require producer/consumer timeline and exposed-communication evidence for overlap; compare the real pipeline wait cost rather than extrapolating small collectives from bytes." ] }, - "applicability": {}, + "applicability": { + "scope": "Select and diagnose Ascend parallel strategies and their activation/overlap, with a separately bounded native multi-rank HCCL AllReduce dispatch and correctness procedure.", + "input_contract": "Installed collective/runtime builds, rank/device map and topology, workload/strategy settings, count/dtype/reduction, effective dispatch, per-rank outputs and completed-collective/application timing evidence.", + "produced_artifact": "A topology- and workload-qualified strategy/dispatch diagnosis, activation and correctness checks, stage-cost attribution and a target-validation proposal; isolated test completion is not a service result.", + "failure_modes": "Requested parallel settings can silently fall back; stale local-head/chunk/shard parameters can disable a path, and changed topology/card count can confound strategy comparisons." + }, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Confirm the final collective algorithm/engine after fallback and observe sharding/collective activation before interpreting correct outputs or tuning performance.", + "Preserve peer/thread waits and test distinct rank/position data with explicit completion on every rank; keep enqueue time, collective completion and application-stage timing separate.", + "Recompute topology-derived parameters and remeasure the anchor after changing card groups or parallel degree; inherited diffusion topology restrictions are not universal HCCL gates.", + "Require producer/consumer timeline and exposed-communication evidence for overlap; compare the real pipeline wait cost rather than extrapolating small collectives from bytes." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-graph-mode.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-graph-mode.json index 6f7dedbe0..d4224a4e2 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-graph-mode.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-graph-mode.json @@ -26,8 +26,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/metadata.json", @@ -47,7 +47,7 @@ "checkout_ref": "checkout:ascend-graph-mode", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/SKILL.md": "a7341b5bf3b43f32d6114e2109e5043e46f3ddeef9b7bb3b20c1c50236bab638", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/metadata.json": "3912bdfc721a703580a97a42ca13ac708396b17c4b600bf9e76375dd061fd29c", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/metadata.json": "017a288c514f6f0aab9d00247af7923258816f0987db15e09a5025a1f3937aa2", "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/references/legacy-source-notes.md": "a51c655aff59741cd7421277bd71dffeb9907560950459ae0a776207e496de4a", "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/references/torchair-LICENSE.md": "bc07d81fa332b6543463588a120518c57b5ce8582d3747de75d2f6b09b068c01", "src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/references/torchair-graph-path.md": "272424571ff439278c8f2675406eae7da9a6482c581973e24319739fa0e58348", @@ -119,12 +119,31 @@ "references/torchair-LICENSE.md", "references/legacy-source-notes.md", "../ascend-aclgraph-capture-replay/SKILL.md" + ], + "applicability": { + "scope": "Diagnose the TorchAir Python ACL graph path from configuration and FX compilation through capture-key selection, fallback, input staging, replay and output lifetime.", + "prerequisites": "Eager correctness established first; configuration must match the installed backend, with authorization and workload-specific tolerances for any NPU comparison.", + "input_contract": "Installed hardware/runtime versions, actual compile backend/options, shape/dtype/stride and alias/mutation contract, retained outputs, capture/replay/fallback observations and workload mix.", + "produced_artifact": "A branch-specific diagnosis and bounded configuration or lifetime proposal with correctness, cold/warm cost, resource and concurrency checks still required on the actual stack.", + "failure_modes": "Shape equality or clone_input=False does not prove capture reuse or zero-copy; capture limits can trigger persistent fallback and later replay can overwrite retained outputs." + }, + "recommendations": [ + "Use the installed CompilerConfig/backend surface and a fresh compiled instance for option changes; do not mix registered-backend snippets with callable-backend configuration.", + "Observe capture, recapture, replay and persistent fallback separately, including changed addresses and revisiting old keys after a capture-limit event.", + "Preserve earlier results before another replay and check views/input-output aliases; keep cold capture, input/output copying, optional compiler passes and service timing separate." ] }, - "applicability": {}, + "applicability": { + "scope": "Diagnose the TorchAir Python ACL graph path from configuration and FX compilation through capture-key selection, fallback, input staging, replay and output lifetime.", + "prerequisites": "Eager correctness established first; configuration must match the installed backend, with authorization and workload-specific tolerances for any NPU comparison.", + "input_contract": "Installed hardware/runtime versions, actual compile backend/options, shape/dtype/stride and alias/mutation contract, retained outputs, capture/replay/fallback observations and workload mix.", + "produced_artifact": "A branch-specific diagnosis and bounded configuration or lifetime proposal with correctness, cold/warm cost, resource and concurrency checks still required on the actual stack.", + "failure_modes": "Shape equality or clone_input=False does not prove capture reuse or zero-copy; capture limits can trigger persistent fallback and later replay can overwrite retained outputs." + }, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Use the installed CompilerConfig/backend surface and a fresh compiled instance for option changes; do not mix registered-backend snippets with callable-backend configuration.", + "Observe capture, recapture, replay and persistent fallback separately, including changed addresses and revisiting old keys after a capture-limit event.", + "Preserve earlier results before another replay and check views/input-output aliases; keep cold capture, input/output copying, optional compiler passes and service timing separate." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-model-adaptation.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-model-adaptation.json index b2970a363..3a338ea45 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-model-adaptation.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-model-adaptation.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/metadata.json", @@ -39,7 +39,7 @@ "checkout_ref": "checkout:ascend-model-adaptation", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/SKILL.md": "8fdf46fb2743b67a66bc069d22a45305a222debfb606777bc451b4b8f31d9cc6", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/metadata.json": "be681a3206e5e183b4c9670c9d7784bcffce18c891449e5b15f94ca5f1324b9a", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/metadata.json": "989b91821b36c0b80caf1323ec527e7ac847219b8f4fe8ca4ea22d292365cc3c", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -65,12 +65,31 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Checkpoint onboarding for LLM/VLM adapters on Ascend: weight/scale loading, KV-head replication under tensor parallelism and staged multimodal feature checks.", + "prerequisites": "Check the installed CANN and checkpoint format against the versioned guidance; final sign-off requires real weights and at least one full-layer validation.", + "input_contract": "Checkpoint weights/configuration and scale keys, attention-head/TP configuration, model modalities and expected graph/capacity features.", + "produced_artifact": "A checkpoint/feature report separating dummy and real-weight evidence, applicable feature outcomes, and theoretical versus demonstrated serving capacity.", + "failure_modes": "Dummy-only success misses scale/remapping/sharding defects; blindly sharding replicated KV heads or accepting reduced-layer results can conceal loading or full-model failures." + }, + "recommendations": [ + "Gate onboarding in order: dummy architecture check, real-weight loading, model endpoint, text request and then multimodal request when the model supports VL; retain the evidence each stage actually supplies.", + "Check weight/scale pairing and each attention tensor loading path, especially when TP exceeds the KV-head count; verify historical FP8 guidance against the actual stack.", + "Expand capacity/concurrency only after basic modality and expected replay checks; mark MoE-only features inapplicable for non-MoE models and require full-layer validation before sign-off." + ] + }, + "applicability": { + "scope": "Checkpoint onboarding for LLM/VLM adapters on Ascend: weight/scale loading, KV-head replication under tensor parallelism and staged multimodal feature checks.", + "prerequisites": "Check the installed CANN and checkpoint format against the versioned guidance; final sign-off requires real weights and at least one full-layer validation.", + "input_contract": "Checkpoint weights/configuration and scale keys, attention-head/TP configuration, model modalities and expected graph/capacity features.", + "produced_artifact": "A checkpoint/feature report separating dummy and real-weight evidence, applicable feature outcomes, and theoretical versus demonstrated serving capacity.", + "failure_modes": "Dummy-only success misses scale/remapping/sharding defects; blindly sharding replicated KV heads or accepting reduced-layer results can conceal loading or full-model failures." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Gate onboarding in order: dummy architecture check, real-weight loading, model endpoint, text request and then multimodal request when the model supports VL; retain the evidence each stage actually supplies.", + "Check weight/scale pairing and each attention tensor loading path, especially when TP exceeds the KV-head count; verify historical FP8 guidance against the actual stack.", + "Expand capacity/concurrency only after basic modality and expected replay checks; mark MoE-only features inapplicable for non-MoE models and require full-layer validation before sign-off." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-profiling.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-profiling.json index 025c78bc9..a5bf84b10 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-profiling.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-profiling.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/metadata.json", @@ -40,7 +40,7 @@ "checkout_ref": "checkout:ascend-operator-profiling", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/SKILL.md": "401981cf7828edcab0c9ea882f7ecd83badfa3c2a95006e912cf99d67b3d6a12", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/metadata.json": "efd37bb23acb500dad4ec8ebe7ddfe5c3f196374052825f923ac85da8445f06b", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/metadata.json": "b2b93637f01546ecb1b7076be6798d234988c594cccdcb764ad222af9ad21af9", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -71,12 +71,31 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Build, measure and diagnose one Ascend operator in isolation using msprof op, before interpreting system-level or multi-kernel performance.", + "prerequisites": "A built executable or test harness and access to real NPU hardware with msprof op for collection.", + "input_contract": "Operator executable/harness, collection settings and OPPROF output directory, plus the operator directory used to archive each measurement round.", + "produced_artifact": "Per-round raw CSV archives and observational min/average/max summaries, followed by a bottleneck interpretation and comparison of operator duration and core balance.", + "failure_modes": "Unwarmed or reduced-frequency runs distort timing; separately budgeting simultaneous GM reads/writes misses shared bandwidth, and tiny workloads can be dominated by launch overhead." + }, + "recommendations": [ + "Collect warmup and repeated measurements into a named round, preserve the raw CSVs, and distinguish the summary statistics from the subsequent bottleneck judgment.", + "Compare task duration, dominant pipeline ratios and per-core balance together; change one optimization point, rebuild as needed and archive the new round before deciding to keep it.", + "Check current versus rated frequency and shared read/write bandwidth before blaming the kernel; aggregate msprof ratios do not provide an instruction-by-instruction timeline." + ] + }, + "applicability": { + "scope": "Build, measure and diagnose one Ascend operator in isolation using msprof op, before interpreting system-level or multi-kernel performance.", + "prerequisites": "A built executable or test harness and access to real NPU hardware with msprof op for collection.", + "input_contract": "Operator executable/harness, collection settings and OPPROF output directory, plus the operator directory used to archive each measurement round.", + "produced_artifact": "Per-round raw CSV archives and observational min/average/max summaries, followed by a bottleneck interpretation and comparison of operator duration and core balance.", + "failure_modes": "Unwarmed or reduced-frequency runs distort timing; separately budgeting simultaneous GM reads/writes misses shared bandwidth, and tiny workloads can be dominated by launch overhead." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Collect warmup and repeated measurements into a named round, preserve the raw CSVs, and distinguish the summary statistics from the subsequent bottleneck judgment.", + "Compare task duration, dominant pipeline ratios and per-core balance together; change one optimization point, rebuild as needed and archive the new round before deciding to keep it.", + "Check current versus rated frequency and shared read/write bandwidth before blaming the kernel; aggregate msprof ratios do not provide an instruction-by-instruction timeline." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-tuning.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-tuning.json index b39027a2c..6b1a09850 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-tuning.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-tuning.json @@ -24,8 +24,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/metadata.json", @@ -41,7 +41,7 @@ "checkout_ref": "checkout:ascend-operator-tuning", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/SKILL.md": "38b151bc6b4e9734c6fa41efb7a30343559400c0c75bbdd26bd8a968b8ea4592", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/metadata.json": "04d2002fc8a0a7becf86b0b73daaf2da8716ab466d7f988da43d41a10f26680e", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/metadata.json": "776fe88247ddacd3cf245920c580a9ff8f2a80fbc0ad1fa7d8be6d63b15a66f7", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -69,12 +69,33 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Run a bounded, accuracy-gated tuning campaign for a single Ascend operator already identified as the bottleneck, escalating from code-level to scheduling and instruction-level changes.", + "prerequisites": "A measured operator baseline, an explicit numeric target and a logged on-device accuracy pass before tuning; performance comparisons use real hardware.", + "input_contract": "Operator implementation, fixed shape/dtype/card and warmup policy, accuracy result, per-core work/wait measurements and round logs.", + "produced_artifact": "A bounded campaign record of each change, accuracy and measured timing delta, kept/reverted rounds, current stage and documented stop condition.", + "refusal_point": "Do not start without the baseline and accuracy gate; revert accuracy failures, and stop/escalate repeated failures, timeouts, exhausted stages or the campaign budget.", + "failure_modes": "Scheduler-idle and predecessor-wait bottlenecks need different fixes; output inplace-reshape can corrupt slice writes, and a changed analyzer log format can produce a misleading zero-core report." + }, + "recommendations": [ + "Change one parameter and recheck accuracy each round; keep the failure record when reverting and compare the final configuration against the same baseline workload and warmup policy.", + "Route scheduler bubbles separately from predecessor dependencies and enter instruction-level tuning only after isolating a specific long task.", + "Verify the analyzer parsed real cores before trusting its diagnosis, and rederive PyPTO tile/buffer/scheduling settings for the target SoC rather than copying numeric examples." + ] + }, + "applicability": { + "scope": "Run a bounded, accuracy-gated tuning campaign for a single Ascend operator already identified as the bottleneck, escalating from code-level to scheduling and instruction-level changes.", + "prerequisites": "A measured operator baseline, an explicit numeric target and a logged on-device accuracy pass before tuning; performance comparisons use real hardware.", + "input_contract": "Operator implementation, fixed shape/dtype/card and warmup policy, accuracy result, per-core work/wait measurements and round logs.", + "produced_artifact": "A bounded campaign record of each change, accuracy and measured timing delta, kept/reverted rounds, current stage and documented stop condition.", + "refusal_point": "Do not start without the baseline and accuracy gate; revert accuracy failures, and stop/escalate repeated failures, timeouts, exhausted stages or the campaign budget.", + "failure_modes": "Scheduler-idle and predecessor-wait bottlenecks need different fixes; output inplace-reshape can corrupt slice writes, and a changed analyzer log format can produce a misleading zero-core report." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Change one parameter and recheck accuracy each round; keep the failure record when reverting and compare the final configuration against the same baseline workload and warmup policy.", + "Route scheduler bubbles separately from predecessor dependencies and enter instruction-level tuning only after isolating a specific long task.", + "Verify the analyzer parsed real cores before trusting its diagnosis, and rederive PyPTO tile/buffer/scheduling settings for the target SoC rather than copying numeric examples." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-optimization-casebook.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-optimization-casebook.json index 37956bcf2..9f00de82c 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-optimization-casebook.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-optimization-casebook.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/metadata.json", @@ -39,7 +39,7 @@ "checkout_ref": "checkout:ascend-optimization-casebook", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/SKILL.md": "647f5e9a288f2c4e1617ba53df59d9d827df749eb4fe86182d21a9c41175caf8", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/metadata.json": "f425f7c1abbd616387273e8932c6bd02f4b1da012f099286ad4171e0f6037b22", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/metadata.json": "e5e49bf7b24fbc32ddaf1aa8ec14051ef6393533b12bb2c55fff2fb0da927541", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -65,12 +65,29 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Find source-derived prior cases for an already classified Ascend inference bottleneck, including fallback, memory traffic, exposed communication, graph startup and host scheduling gaps.", + "prerequisites": "A bottleneck classification from profiling and a check of the selected case preconditions/mechanism before applying it.", + "input_contract": "Bottleneck symptoms and matching profiler evidence, model/hardware/CANN/configuration context and, for a new case, measured before/after metrics.", + "produced_artifact": "A matching prior-art case and evidence requirements for a later measured application; a new case record requires a verified win or clear failure with a metric comparison.", + "refusal_point": "Do not add an INCONCLUSIVE case or one without a measured metric comparison; a subjective direction is insufficient evidence." + }, + "recommendations": [ + "Classify first, then check the matching case preconditions and use its owning procedure to apply and measure the candidate; the casebook itself does not perform profiling.", + "Keep profiler mechanism evidence and same-window end-to-end outcomes together, and retain locally_verified=false until the applied case has actually run." + ] + }, + "applicability": { + "scope": "Find source-derived prior cases for an already classified Ascend inference bottleneck, including fallback, memory traffic, exposed communication, graph startup and host scheduling gaps.", + "prerequisites": "A bottleneck classification from profiling and a check of the selected case preconditions/mechanism before applying it.", + "input_contract": "Bottleneck symptoms and matching profiler evidence, model/hardware/CANN/configuration context and, for a new case, measured before/after metrics.", + "produced_artifact": "A matching prior-art case and evidence requirements for a later measured application; a new case record requires a verified win or clear failure with a metric comparison.", + "refusal_point": "Do not add an INCONCLUSIVE case or one without a measured metric comparison; a subjective direction is insufficient evidence." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Classify first, then check the matching case preconditions and use its owning procedure to apply and measure the candidate; the casebook itself does not perform profiling.", + "Keep profiler mechanism evidence and same-window end-to-end outcomes together, and retain locally_verified=false until the applied case has actually run." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-performance-analysis.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-performance-analysis.json index 18fbb990e..2f257c972 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-performance-analysis.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-performance-analysis.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/metadata.json", @@ -41,7 +41,7 @@ "checkout_ref": "checkout:ascend-performance-analysis", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/SKILL.md": "a057b7f86a24f34a8f84abbbb4910d58d4e50ff47060e1c404600017e3febe89", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/metadata.json": "9e705625c8308013c287576b0247da6f6116d817a4a535cbecff80abd6ea35ee", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/metadata.json": "f3fb35b14b5b1054a9192459862451149395368f4a75f430caef2f41ad050296", "src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/references/cannbot-CANN-2.0-LICENSE.md": "89b1c114df62cfd183004f38d18d07f186436c3b37203dd69c3e84becf9d2282", "src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/references/cannbot-stage-evidence.md": "f56e4125325c9c1b9235a1d64fd732861c7686444492422daff44ba8dd648be4", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" @@ -102,12 +102,31 @@ "provenance_readsets": [ "references/cannbot-stage-evidence.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Interpret Ascend CANN profiling evidence from step breakdown through kernel/utilization/communication analysis, and assess execution/validator evidence in automated optimization-stage reports.", + "prerequisites": "Usable warm-state captures with representative steps, required files and non-null utilization columns; healthy cards and a consistent valid topology for multi-card comparisons.", + "input_contract": "CANN step/kernel/utilization/communication outputs with verified column semantics; for stage acceptance, the loaded candidate, baseline, quality-validator output and comparable measurements.", + "produced_artifact": "An evidence-qualified bottleneck classification and optimization direction; stage conclusions retain missing-execution/validator INCONCLUSIVE or observed gate-failure FAIL.", + "failure_modes": "Summing concurrent communication durations double-counts overlap; misidentified columns can drop communication, and a successful export can still lack usable utilization data." + }, + "recommendations": [ + "Start from the step-level computing/communication/overlap/free breakdown and stop deepening the analysis once the bottleneck is located; do not sum concurrent streams as wall time.", + "Inspect actual column headers and enum values on the installed CANN version, then verify files and non-null metrics before interpreting utilization heuristics.", + "Use same-window interleaved baseline/candidate measurements on shared machines; progress markers, hashes and source-derived thresholds do not substitute for quality and execution evidence." + ] + }, + "applicability": { + "scope": "Interpret Ascend CANN profiling evidence from step breakdown through kernel/utilization/communication analysis, and assess execution/validator evidence in automated optimization-stage reports.", + "prerequisites": "Usable warm-state captures with representative steps, required files and non-null utilization columns; healthy cards and a consistent valid topology for multi-card comparisons.", + "input_contract": "CANN step/kernel/utilization/communication outputs with verified column semantics; for stage acceptance, the loaded candidate, baseline, quality-validator output and comparable measurements.", + "produced_artifact": "An evidence-qualified bottleneck classification and optimization direction; stage conclusions retain missing-execution/validator INCONCLUSIVE or observed gate-failure FAIL.", + "failure_modes": "Summing concurrent communication durations double-counts overlap; misidentified columns can drop communication, and a successful export can still lack usable utilization data." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Start from the step-level computing/communication/overlap/free breakdown and stop deepening the analysis once the bottleneck is located; do not sum concurrent streams as wall time.", + "Inspect actual column headers and enum values on the installed CANN version, then verify files and non-null metrics before interpreting utilization heuristics.", + "Use same-window interleaved baseline/candidate measurements on shared machines; progress markers, hashes and source-derived thresholds do not substitute for quality and execution evidence." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-video-diffusion-optimization.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-video-diffusion-optimization.json index 54dd5bc6f..0317d20ca 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-video-diffusion-optimization.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-video-diffusion-optimization.json @@ -26,8 +26,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/metadata.json", @@ -44,7 +44,7 @@ "checkout_ref": "checkout:ascend-video-diffusion-optimization", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/SKILL.md": "53c21e64f0dd47f9510faef1f2c01e1283899787ba7ebfe70cdabd8e57a76f00", - "src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/metadata.json": "8c2b364298330751fd1252516159b16c27e90354e2a724782d2851e68e43cdb3", + "src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/metadata.json": "35f725c9d9e0a8638b234da798232d2ae49a37b70f0b0360710bce333f9265ca", "src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/references/field-notes-video-diffusion.md": "dadac7b23462fdc325218c72ddf8a2ac553151761a5d3e45b854b53d2c8c6908", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, @@ -78,7 +78,10 @@ "applicability": { "scope": "Ascend NPU video diffusion inference and serving optimization", "hardware": "Ascend NPU; the measure-change-verify workflow skeleton is backend-agnostic and lives in methods/video-diffusion-optimization, while the operator, layout and profiler references here are Ascend-specific", - "prerequisites": "A reproducible benchmark, a frozen quality check, and numeric gates defined in the governing acceptance issue" + "prerequisites": "A reproducible benchmark, a frozen quality check, and numeric gates defined in the governing acceptance issue", + "input_contract": "Issue-scoped performance and quality gates, timing boundary, representative and held-out workloads, frozen model/runtime/input settings and an authorized optimization budget.", + "produced_artifact": "An experiment ledger and final report of the frozen goal, baseline/final samples, quality/resource checks, accepted or reverted changes and remaining gap; verdicts require the acceptance issue evidence.", + "failure_modes": "Packed-layout conversion from noncontiguous weights can corrupt outputs; missing side-stream lifetime/order handling or omitted layout-copy costs can invalidate an optimization comparison." }, "limitations": [ "Ascend specialization of the backend-agnostic methods/video-diffusion-optimization skeleton; every operator, layout and profiler reference (TransData, FRACTAL_NZ, CANN) is Ascend-specific and must be re-derived per backend.", @@ -95,16 +98,25 @@ "../../../methods/video-diffusion-optimization/scripts/evaluate_target.py", "../../../methods/video-diffusion-optimization/assets/campaign.template.json" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "recommendations": [ + "Follow the common goal-contract and measure-change-verify loop, including final restarted-artifact acceptance; an operator win does not establish end-to-end improvement.", + "Materialize contiguous weights before FRACTAL_NZ conversion when strides differ from physical order, and attribute TransData/copy costs before proposing fusion.", + "Use field notes only to form hypotheses; derive thresholds, chunking, precision and sparsity from the target model measurements, and preserve stream dependencies and tensor lifetimes." + ] }, "applicability": { "scope": "Ascend NPU video diffusion inference and serving optimization", "hardware": "Ascend NPU; the measure-change-verify workflow skeleton is backend-agnostic and lives in methods/video-diffusion-optimization, while the operator, layout and profiler references here are Ascend-specific", - "prerequisites": "A reproducible benchmark, a frozen quality check, and numeric gates defined in the governing acceptance issue" + "prerequisites": "A reproducible benchmark, a frozen quality check, and numeric gates defined in the governing acceptance issue", + "input_contract": "Issue-scoped performance and quality gates, timing boundary, representative and held-out workloads, frozen model/runtime/input settings and an authorized optimization budget.", + "produced_artifact": "An experiment ledger and final report of the frozen goal, baseline/final samples, quality/resource checks, accepted or reverted changes and remaining gap; verdicts require the acceptance issue evidence.", + "failure_modes": "Packed-layout conversion from noncontiguous weights can corrupt outputs; missing side-stream lifetime/order handling or omitted layout-copy costs can invalidate an optimization comparison." }, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Follow the common goal-contract and measure-change-verify loop, including final restarted-artifact acceptance; an operator win does not establish end-to-end improvement.", + "Materialize contiguous weights before FRACTAL_NZ conversion when strides differ from physical order, and attribute TransData/copy costs before proposing fusion.", + "Use field notes only to form hypotheses; derive thresholds, chunking, precision and sparsity from the target model measurements, and preserve stream dependencies and tensor lifetimes." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascendc-tiling-design.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascendc-tiling-design.json index 0de8de571..6ea88932d 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascendc-tiling-design.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascendc-tiling-design.json @@ -24,8 +24,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/metadata.json", @@ -41,7 +41,7 @@ "checkout_ref": "checkout:ascendc-tiling-design", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/SKILL.md": "93aa1b775ced304cebfe6c4dec0503ddb2260ecb3cb01edc17ce329446c5ce2b", - "src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/metadata.json": "f6d94f104cb70969024b2f4542078a240e200712c66279eca8b94f60bee1dd71", + "src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/metadata.json": "03cfd09faa3edf42f9d08d0d8878fe5cb7c7a376abacf211dd8f500c698f3a8f", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -69,12 +69,29 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Design or restructure AscendC tiling for the covered reduction, broadcast and elementwise classes, plus the bounded mxfp8 fusion and small-channel transpose cases.", + "input_contract": "Operator class and semantics, normalized shapes/axes, dtype, target chip generation, valid/aligned lengths and intermediate-buffer requirements.", + "produced_artifact": "A multi-core split, UB chunk formula, buffer-size/total-usage plan and branch matrix with edge tests; these are design outputs, not benchmark results.", + "failure_modes": "Budgeting only inputs omits intermediate UB storage; mixing valid and aligned lengths or copy units corrupts boundaries, and choosing unsupported generation-specific primitives invalidates the design." + }, + "recommendations": [ + "Normalize axes first, then decide full-load versus chunking from the entire live working set; derive tile size from buffer, axis, API and load-balance constraints.", + "Keep valid compute/copy lengths separate from aligned storage offsets and sizes, and complete dtype, tail/alignment and boundary branches before tuning.", + "Select primitives by the target generation and preserve class-specific coverage limits; re-evaluate sample constants and API semantics instead of treating formulas as tested performance evidence." + ] + }, + "applicability": { + "scope": "Design or restructure AscendC tiling for the covered reduction, broadcast and elementwise classes, plus the bounded mxfp8 fusion and small-channel transpose cases.", + "input_contract": "Operator class and semantics, normalized shapes/axes, dtype, target chip generation, valid/aligned lengths and intermediate-buffer requirements.", + "produced_artifact": "A multi-core split, UB chunk formula, buffer-size/total-usage plan and branch matrix with edge tests; these are design outputs, not benchmark results.", + "failure_modes": "Budgeting only inputs omits intermediate UB storage; mixing valid and aligned lengths or copy units corrupts boundaries, and choosing unsupported generation-specific primitives invalidates the design." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Normalize axes first, then decide full-load versus chunking from the entire live working set; derive tile size from buffer, axis, API and load-balance constraints.", + "Keep valid compute/copy lengths separate from aligned storage offsets and sizes, and complete dtype, tail/alignment and boundary branches before tuning.", + "Select primitives by the target generation and preserve class-specific coverage limits; re-evaluate sample constants and API semantics instead of treating formulas as tested performance evidence." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/cann-attribution-overlap.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/cann-attribution-overlap.json index fba89f6ca..9fc85b313 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/cann-attribution-overlap.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/cann-attribution-overlap.json @@ -24,8 +24,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/metadata.json", @@ -41,7 +41,7 @@ "checkout_ref": "checkout:cann-attribution-overlap", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/SKILL.md": "0e6f094dc554abea12e07def50f20b233b47127779a8aefad595b4ab1efd24c2", - "src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/metadata.json": "acccc8eb86de0df6caf78a9b3c6db76a2a686adc4a5ba0029a4d62d50ff9a8f8", + "src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/metadata.json": "7ad137076afb55fbea74c6c5c0c0ca8eb3a8e615a765ec23199e8df75a8abd4f", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -69,12 +69,33 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Attribute representative CANN trace kernels to source owners and plan bounded multistream overlap using data, state, event and collective-order dependencies.", + "prerequisites": "Pin the installed CANN/TorchNPU/TorchAir versions before choosing one execution-mode synchronization API family; communication proposals require communication evidence.", + "input_contract": "Representative-step selection and shapes, kernel/stream inventory with code_ref, adjacent wait windows and dependency edges; communication analysis also needs rank/transport evidence.", + "produced_artifact": "An attribution map, serial/candidate/pending dependency groups and a minimal overlap plan with joins, enable/fallback path, resource tradeoffs and acceptance checks.", + "failure_modes": "Kernel names and mechanical coverage can misidentify ownership; logical independence can hide resource contention, and overlap ratios or summed durations can hide unchanged wall time or new tails." + }, + "recommendations": [ + "Join hotspots to source owners and adjacent wait windows before selecting a target; keep compute cost, waiting and host gaps separate.", + "Build explicit data/state/event/collective-order edges, then verify one correct overlap point before increasing overlap or partitioning resources.", + "Require observed overlap, preserved state/order and fallback behavior plus latency and outside-module checks; report wall time, interval unions and duration sums separately.", + "Carry disputed formulas and source-revision distinctions forward; device free time alone does not identify Python, GIL or OS causes without matching host evidence." + ] + }, + "applicability": { + "scope": "Attribute representative CANN trace kernels to source owners and plan bounded multistream overlap using data, state, event and collective-order dependencies.", + "prerequisites": "Pin the installed CANN/TorchNPU/TorchAir versions before choosing one execution-mode synchronization API family; communication proposals require communication evidence.", + "input_contract": "Representative-step selection and shapes, kernel/stream inventory with code_ref, adjacent wait windows and dependency edges; communication analysis also needs rank/transport evidence.", + "produced_artifact": "An attribution map, serial/candidate/pending dependency groups and a minimal overlap plan with joins, enable/fallback path, resource tradeoffs and acceptance checks.", + "failure_modes": "Kernel names and mechanical coverage can misidentify ownership; logical independence can hide resource contention, and overlap ratios or summed durations can hide unchanged wall time or new tails." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Join hotspots to source owners and adjacent wait windows before selecting a target; keep compute cost, waiting and host gaps separate.", + "Build explicit data/state/event/collective-order edges, then verify one correct overlap point before increasing overlap or partitioning resources.", + "Require observed overlap, preserved state/order and fallback behavior plus latency and outside-module checks; report wall time, interval unions and duration sums separately.", + "Carry disputed formulas and source-revision distinctions forward; device free time alone does not identify Python, GIL or OS causes without matching host evidence." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torch-npu.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torch-npu.json index deb5a8d02..9aa4f492c 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torch-npu.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torch-npu.json @@ -20,8 +20,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/frameworks/torch-npu/torch-npu/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/frameworks/torch-npu/torch-npu/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/frameworks/torch-npu/torch-npu/SKILL.md", "src/inferrsi/data/skill_library/frameworks/torch-npu/torch-npu/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-device-memory-lifecycle.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-device-memory-lifecycle.json index cf82999ed..cb172cfa5 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-device-memory-lifecycle.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-device-memory-lifecycle.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/metadata.json", @@ -40,7 +40,7 @@ "checkout_ref": "checkout:torchnpu-device-memory-lifecycle", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/SKILL.md": "8428df7157af024fa17cfe0b3818ed54bd9f468306dda46eb8d4f0edf4f3f230", - "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/metadata.json": "c650dce88c07b636d68e063dbda4d319f6f7f3ecbcdd5e47f393cbfc3af7c71d", + "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/metadata.json": "02de593e638e71c6debb763b6b0d5a5596e0b810bbe48450ead28dc43de83f99", "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/references/source-notes.md": "80cba4d3a884e7ee2618326cf74b9f9c3a34e4d9cf443707f6bbe673f2d5ba65", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, @@ -69,12 +69,29 @@ "provenance_readsets": [ "references/source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose TorchNPU device-HBM reuse, stream lifetimes, fragmentation and graph/private-pool retention before proposing allocator changes.", + "input_contract": "Allocation failure/size sequence, device and allocator path, installed versions/settings, stream and graph-pool timeline, retained tensor references and allocator statistics with synchronization boundaries.", + "produced_artifact": "A suspected allocator state transition with source evidence IDs, one eligible action, resource cost, counter-signals and a correctness-first verification/rollback plan.", + "refusal_point": "Missing evidence supports only a conditional proposal, not a diagnosed leak; stop when external/custom/shared allocation ownership is untraced and keep baseline settings for unsupported versions or live-tensor capacity pressure." + }, + "recommendations": [ + "Separate stream lifetime protection from producer/consumer ordering, and distinguish live tensors, pending events, inactive splits and private-pool retention before tuning.", + "Match split or expandable-segment proposals to the observed allocation pattern and actual feature gates; do not combine incompatible controls or import comment thresholds as defaults.", + "Treat cache release as synchronization/allocation work at a quiescent boundary; compare identical allocation sequences in fresh processes at the same synchronization points." + ] + }, + "applicability": { + "scope": "Diagnose TorchNPU device-HBM reuse, stream lifetimes, fragmentation and graph/private-pool retention before proposing allocator changes.", + "input_contract": "Allocation failure/size sequence, device and allocator path, installed versions/settings, stream and graph-pool timeline, retained tensor references and allocator statistics with synchronization boundaries.", + "produced_artifact": "A suspected allocator state transition with source evidence IDs, one eligible action, resource cost, counter-signals and a correctness-first verification/rollback plan.", + "refusal_point": "Missing evidence supports only a conditional proposal, not a diagnosed leak; stop when external/custom/shared allocation ownership is untraced and keep baseline settings for unsupported versions or live-tensor capacity pressure." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Separate stream lifetime protection from producer/consumer ordering, and distinguish live tensors, pending events, inactive splits and private-pool retention before tuning.", + "Match split or expandable-segment proposals to the observed allocation pattern and actual feature gates; do not combine incompatible controls or import comment thresholds as defaults.", + "Treat cache release as synchronization/allocation work at a quiescent boundary; compare identical allocation sequences in fresh processes at the same synchronization points." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-pinned-host-memory-lifecycle.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-pinned-host-memory-lifecycle.json index 0da5a9009..9a64b5a41 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-pinned-host-memory-lifecycle.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-pinned-host-memory-lifecycle.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/SKILL.md", "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/metadata.json", @@ -40,7 +40,7 @@ "checkout_ref": "checkout:torchnpu-pinned-host-memory-lifecycle", "source_files": { "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/SKILL.md": "23e93ea7c98f99743509fdc04139d78ed2e7123c63e80b366c6beaba7eb70d0d", - "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/metadata.json": "97836a38465106d816a9ace894a7b277d6d330f9accade8f8493ce6f0fb57ef9", + "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/metadata.json": "0fa51de079663043fd5785beffb153d989b1cac5833dbd2c99535f6b782a5e95", "src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/references/source-notes.md": "435193590b4a2ba32e2e4c6fa9d7e8f889528d412cbbb48e35ec5433f7dab384", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, @@ -69,12 +69,29 @@ "provenance_readsets": [ "references/source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose TorchNPU pinned-host RAM allocation, asynchronous-copy ownership/readiness, reuse and path-specific cache controls.", + "input_contract": "Installed versions/settings, host pressure and allocation/reuse distribution, stream timeline, owned versus registered/pageable buffers, selected host allocator path and host statistics/allocation timings.", + "produced_artifact": "An ownership classification, source evidence IDs, one eligible allocator proposal, benefit/resource cost and rollback criteria for a later fresh-process comparison.", + "refusal_point": "Keep baseline settings for live-buffer growth, pageable copies, stable reuse, unverified versions or unsupported paths; stop tuning on event/runtime errors and escalate external ownership or gate conflicts." + }, + "recommendations": [ + "Do not mutate an H2D source or read a D2H destination before completion; non_blocking=True alone proves neither overlap nor external-buffer lifetime tracking.", + "Interpret host allocated/active bytes using the selected host path, and test round/cache controls only in supported default-path fresh processes; a per-buffer cache threshold is not a total-cache cap.", + "Keep host and device allocator options separate and use an explicit quiescent boundary for host cache release; cache clearing is not a copy-completion barrier." + ] + }, + "applicability": { + "scope": "Diagnose TorchNPU pinned-host RAM allocation, asynchronous-copy ownership/readiness, reuse and path-specific cache controls.", + "input_contract": "Installed versions/settings, host pressure and allocation/reuse distribution, stream timeline, owned versus registered/pageable buffers, selected host allocator path and host statistics/allocation timings.", + "produced_artifact": "An ownership classification, source evidence IDs, one eligible allocator proposal, benefit/resource cost and rollback criteria for a later fresh-process comparison.", + "refusal_point": "Keep baseline settings for live-buffer growth, pageable copies, stable reuse, unverified versions or unsupported paths; stop tuning on event/runtime errors and escalate external ownership or gate conflicts." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Do not mutate an H2D source or read a D2H destination before completion; non_blocking=True alone proves neither overlap nor external-buffer lifetime tracking.", + "Interpret host allocated/active bytes using the selected host path, and test round/cache controls only in supported default-path fresh processes; a per-buffer cache threshold is not a total-cache cap.", + "Keep host and device allocator options separate and use an explicit quiescent boundary for host cache release; cache clearing is not a copy-completion barrier." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-serving-preemption.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-serving-preemption.json index 4b0644d21..8bb622e47 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-serving-preemption.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-serving-preemption.json @@ -16,8 +16,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/assess-serving-preemption/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/assess-serving-preemption/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/assess-serving-preemption/SKILL.md", "src/inferrsi/data/skill_library/methods/assess-serving-preemption/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-split-backward-schedule.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-split-backward-schedule.json index 7f38c7cb2..abf0d4947 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-split-backward-schedule.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-split-backward-schedule.json @@ -16,8 +16,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/assess-split-backward-schedule/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/assess-split-backward-schedule/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/assess-split-backward-schedule/SKILL.md", "src/inferrsi/data/skill_library/methods/assess-split-backward-schedule/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-fixed-workload-claim.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-fixed-workload-claim.json index f4c665268..fdbdf3259 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-fixed-workload-claim.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-fixed-workload-claim.json @@ -20,8 +20,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/audit-fixed-workload-claim/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/audit-fixed-workload-claim/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/audit-fixed-workload-claim/SKILL.md", "src/inferrsi/data/skill_library/methods/audit-fixed-workload-claim/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-metal-fasth3-semantics.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-metal-fasth3-semantics.json index bb7e7f3a5..e1ea58288 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-metal-fasth3-semantics.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-metal-fasth3-semantics.json @@ -29,8 +29,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/h3-metal/audit-h3-metal-fasth3-semantics/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/h3-metal/audit-h3-metal-fasth3-semantics/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/h3-metal/audit-h3-metal-fasth3-semantics/LICENSE", "src/inferrsi/data/skill_library/repositories/h3-metal/audit-h3-metal-fasth3-semantics/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-runtime-residency.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-runtime-residency.json index 238d0d0b9..7d2147f9e 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-runtime-residency.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-runtime-residency.json @@ -30,8 +30,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/h3-c/audit-h3-runtime-residency/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/h3-c/audit-h3-runtime-residency/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/h3-c/audit-h3-runtime-residency/LICENSE", "src/inferrsi/data/skill_library/repositories/h3-c/audit-h3-runtime-residency/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-llama-runtime-state.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-llama-runtime-state.json index 8efdd50cd..41c071fb0 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-llama-runtime-state.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-llama-runtime-state.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/llama-cpp/audit-llama-runtime-state/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/llama-cpp/audit-llama-runtime-state/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/llama-cpp/audit-llama-runtime-state/SKILL.md", "src/inferrsi/data/skill_library/repositories/llama-cpp/audit-llama-runtime-state/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-recurrent-kv-finalization.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-recurrent-kv-finalization.json index f3e33ac15..5ae945020 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-recurrent-kv-finalization.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-recurrent-kv-finalization.json @@ -26,8 +26,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/vllm-rlt/audit-recurrent-kv-finalization/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/vllm-rlt/audit-recurrent-kv-finalization/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/vllm-rlt/audit-recurrent-kv-finalization/LICENSE", "src/inferrsi/data/skill_library/repositories/vllm-rlt/audit-recurrent-kv-finalization/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sd-cpp-residency.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sd-cpp-residency.json index 9a398fafc..c32fef00c 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sd-cpp-residency.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sd-cpp-residency.json @@ -25,8 +25,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/stable-diffusion-cpp/audit-sd-cpp-residency/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/stable-diffusion-cpp/audit-sd-cpp-residency/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/stable-diffusion-cpp/audit-sd-cpp-residency/LICENSE", "src/inferrsi/data/skill_library/repositories/stable-diffusion-cpp/audit-sd-cpp-residency/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sglang-diffusion-lifetimes.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sglang-diffusion-lifetimes.json index da6a69568..8403d9756 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sglang-diffusion-lifetimes.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sglang-diffusion-lifetimes.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/sglang/audit-sglang-diffusion-lifetimes/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/sglang/audit-sglang-diffusion-lifetimes/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/sglang/audit-sglang-diffusion-lifetimes/LICENSE", "src/inferrsi/data/skill_library/repositories/sglang/audit-sglang-diffusion-lifetimes/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-vllm-kv-lifetimes.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-vllm-kv-lifetimes.json index f3873bf51..df9322c25 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-vllm-kv-lifetimes.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-vllm-kv-lifetimes.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/vllm/audit-vllm-kv-lifetimes/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/vllm/audit-vllm-kv-lifetimes/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/vllm/audit-vllm-kv-lifetimes/SKILL.md", "src/inferrsi/data/skill_library/repositories/vllm/audit-vllm-kv-lifetimes/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/bound-windowed-attention-replay.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/bound-windowed-attention-replay.json index 5f5885cf9..d203e1729 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/bound-windowed-attention-replay.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/bound-windowed-attention-replay.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/deepinfer/bound-windowed-attention-replay/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/deepinfer/bound-windowed-attention-replay/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/deepinfer/bound-windowed-attention-replay/SKILL.md", "src/inferrsi/data/skill_library/repositories/deepinfer/bound-windowed-attention-replay/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/budget-speculative-verification.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/budget-speculative-verification.json index a2e12f98e..816a7d646 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/budget-speculative-verification.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/budget-speculative-verification.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/deepinfer/budget-speculative-verification/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/deepinfer/budget-speculative-verification/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/deepinfer/budget-speculative-verification/SKILL.md", "src/inferrsi/data/skill_library/repositories/deepinfer/budget-speculative-verification/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/calibrate-serving-simulation.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/calibrate-serving-simulation.json index 4c0129585..3fa80c032 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/calibrate-serving-simulation.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/calibrate-serving-simulation.json @@ -16,8 +16,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/calibrate-serving-simulation/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/calibrate-serving-simulation/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/calibrate-serving-simulation/SKILL.md", "src/inferrsi/data/skill_library/methods/calibrate-serving-simulation/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cgroup-resource-controls.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cgroup-resource-controls.json index 57466f972..242a2926d 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cgroup-resource-controls.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cgroup-resource-controls.json @@ -25,8 +25,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/SKILL.md", "src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/metadata.json", @@ -42,7 +42,7 @@ "checkout_ref": "checkout:cgroup-resource-controls", "source_files": { "src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/SKILL.md": "fd1f5a7e6a55714730044155f5b38c1d700383d4e16c3e91963bbfbe1c773af5", - "src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/metadata.json": "19e40763fedc20990651bb989c32a7693306c5c54af46c3d4be77fd4f87b6c03", + "src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/metadata.json": "155aa391e573fa5bd90a089f4e3d06f357795f5d89c8cf9260e3e8ec3636b243", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -71,12 +71,33 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Audit Linux cgroup v2 CPU quota/shares, effective placement, memory pressure/protection and conditional block-device IO controls for serving or training workloads.", + "prerequisites": "Identify workload cgroup membership, kernel/controller support, ancestor limits and the authorized file owner; prepare previous values and stop conditions before a separately authorized trial.", + "input_contract": "Target PID and hierarchy/namespace view, requested/effective cpusets, time-aligned CPU/memory/IO counters and application/sibling observations; IO proposals require resolved block-backed traffic.", + "produced_artifact": "An evidence-qualified control review/proposal with capacity tradeoff, configuration provenance, rollback manifest and matched-window application/sibling checks.", + "failure_modes": "Ancestor constraints can invalidate requested placement; pressure movement alone is not application causality, and unsupported IO accounting or shared-inode attribution can misassign traffic." + }, + "recommendations": [ + "Separate own-quota throttling, ancestor limits and sibling contention before choosing a cpu.max or cpu.weight review.", + "Compare requested with effective CPU/node sets and budget cpuset.mems migration before proposing placement; align memory PSI with local versus descendant event deltas.", + "Treat increased headroom as a shared-capacity spend and verify application outcomes and sibling impact, not just counter improvements.", + "Resolve actual block-backed traffic and supported IO controls before proposing caps; preserve inaccessible-ancestor uncertainty and do not infer container write authority." + ] + }, + "applicability": { + "scope": "Audit Linux cgroup v2 CPU quota/shares, effective placement, memory pressure/protection and conditional block-device IO controls for serving or training workloads.", + "prerequisites": "Identify workload cgroup membership, kernel/controller support, ancestor limits and the authorized file owner; prepare previous values and stop conditions before a separately authorized trial.", + "input_contract": "Target PID and hierarchy/namespace view, requested/effective cpusets, time-aligned CPU/memory/IO counters and application/sibling observations; IO proposals require resolved block-backed traffic.", + "produced_artifact": "An evidence-qualified control review/proposal with capacity tradeoff, configuration provenance, rollback manifest and matched-window application/sibling checks.", + "failure_modes": "Ancestor constraints can invalidate requested placement; pressure movement alone is not application causality, and unsupported IO accounting or shared-inode attribution can misassign traffic." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Separate own-quota throttling, ancestor limits and sibling contention before choosing a cpu.max or cpu.weight review.", + "Compare requested with effective CPU/node sets and budget cpuset.mems migration before proposing placement; align memory PSI with local versus descendant event deltas.", + "Treat increased headroom as a shared-capacity spend and verify application outcomes and sibling impact, not just counter improvements.", + "Resolve actual block-backed traffic and supported IO controls before proposing caps; preserve inaccessible-ancestor uncertainty and do not infer container write authority." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/checkpoint-recovery-consistency.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/checkpoint-recovery-consistency.json index 0f98dcd89..d2ee84003 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/checkpoint-recovery-consistency.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/checkpoint-recovery-consistency.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/checkpoint-recovery-consistency/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/checkpoint-recovery-consistency/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/checkpoint-recovery-consistency/SKILL.md", "src/inferrsi/data/skill_library/methods/checkpoint-recovery-consistency/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/choose-parallel-training-plan.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/choose-parallel-training-plan.json index d0b8f03f3..2d437e595 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/choose-parallel-training-plan.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/choose-parallel-training-plan.json @@ -16,8 +16,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/choose-parallel-training-plan/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/choose-parallel-training-plan/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/choose-parallel-training-plan/SKILL.md", "src/inferrsi/data/skill_library/methods/choose-parallel-training-plan/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cite-check-downstream-pr.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cite-check-downstream-pr.json index db7d7a4e0..8514044af 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cite-check-downstream-pr.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cite-check-downstream-pr.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/workflows/cite-check-downstream-pr/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/workflows/cite-check-downstream-pr/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/skill-index.json", "src/inferrsi/data/skill_library/workflows/cite-check-downstream-pr/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/claim-contract.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/claim-contract.json index b9c760916..9f55bdeeb 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/claim-contract.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/claim-contract.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/workflows/claim-contract/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/workflows/claim-contract/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/skill-index.json", "src/inferrsi/data/skill_library/workflows/claim-contract/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/comfy-ui.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/comfy-ui.json index fb37a8146..1d8c71c05 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/comfy-ui.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/comfy-ui.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/comfy-ui/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/comfy-ui/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/comfy-ui/LICENSE", "src/inferrsi/data/skill_library/repositories/comfy-ui/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/competitor-scan.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/competitor-scan.json index 6b9978048..58f20b2ea 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/competitor-scan.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/competitor-scan.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/workflows/competitor-scan/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/workflows/competitor-scan/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/skill-index.json", "src/inferrsi/data/skill_library/workflows/competitor-scan/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dcp-async-save-performance.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dcp-async-save-performance.json index 3f35fb7c5..1b82dd3f5 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dcp-async-save-performance.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dcp-async-save-performance.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/frameworks/pytorch/dcp-async-save-performance/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/frameworks/pytorch/dcp-async-save-performance/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/frameworks/pytorch/dcp-async-save-performance/SKILL.md", "src/inferrsi/data/skill_library/frameworks/pytorch/dcp-async-save-performance/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dense-performance-evidence.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dense-performance-evidence.json index fa36bc454..5939b6db3 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dense-performance-evidence.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dense-performance-evidence.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/dense-performance-evidence/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/dense-performance-evidence/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/dense-performance-evidence/SKILL.md", "src/inferrsi/data/skill_library/methods/dense-performance-evidence/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diagnose-vllm-admission-pressure.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diagnose-vllm-admission-pressure.json index 6b458bdbc..4a38dafb4 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diagnose-vllm-admission-pressure.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diagnose-vllm-admission-pressure.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/vllm/diagnose-vllm-admission-pressure/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/vllm/diagnose-vllm-admission-pressure/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/vllm/diagnose-vllm-admission-pressure/SKILL.md", "src/inferrsi/data/skill_library/repositories/vllm/diagnose-vllm-admission-pressure/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diffusers-invocation-state.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diffusers-invocation-state.json index 6f367301f..621e95c4d 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diffusers-invocation-state.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diffusers-invocation-state.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/frameworks/diffusers/diffusers-invocation-state/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/frameworks/diffusers/diffusers-invocation-state/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/frameworks/diffusers/diffusers-invocation-state/SKILL.md", "src/inferrsi/data/skill_library/frameworks/diffusers/diffusers-invocation-state/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/draft-acceptance-issue.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/draft-acceptance-issue.json index a6b8f26ef..2ab425603 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/draft-acceptance-issue.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/draft-acceptance-issue.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/workflows/draft-acceptance-issue/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/workflows/draft-acceptance-issue/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/skill-index.json", "src/inferrsi/data/skill_library/workflows/draft-acceptance-issue/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dwarfstar.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dwarfstar.json index e8307d3f3..b455bf99d 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dwarfstar.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dwarfstar.json @@ -25,8 +25,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/dwarfstar/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/dwarfstar/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/dwarfstar/LICENSE", "src/inferrsi/data/skill_library/repositories/dwarfstar/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/evaluate-elastic-serving-placement.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/evaluate-elastic-serving-placement.json index a412750b8..2d8d490bc 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/evaluate-elastic-serving-placement.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/evaluate-elastic-serving-placement.json @@ -16,8 +16,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/evaluate-elastic-serving-placement/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/evaluate-elastic-serving-placement/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/evaluate-elastic-serving-placement/SKILL.md", "src/inferrsi/data/skill_library/methods/evaluate-elastic-serving-placement/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/generation-cache-lifecycle.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/generation-cache-lifecycle.json index 49c108bcc..38e216200 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/generation-cache-lifecycle.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/generation-cache-lifecycle.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/mlx-lm/generation-cache-lifecycle/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/mlx-lm/generation-cache-lifecycle/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/mlx-lm/generation-cache-lifecycle/SKILL.md", "src/inferrsi/data/skill_library/repositories/mlx-lm/generation-cache-lifecycle/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-memory-management.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-memory-management.json index f15b08ef6..2062bc005 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-memory-management.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-memory-management.json @@ -30,8 +30,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/host/host-memory-management/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/host/host-memory-management/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/host/host-memory-management/SKILL.md", "src/inferrsi/data/skill_library/hardware/host/host-memory-management/metadata.json", @@ -56,7 +56,7 @@ "checkout_ref": "checkout:host-memory-management", "source_files": { "src/inferrsi/data/skill_library/hardware/host/host-memory-management/SKILL.md": "4c8db9f603cd581d002e8f41da65af9cbd03699be05c4965a55de47e044e4dd8", - "src/inferrsi/data/skill_library/hardware/host/host-memory-management/metadata.json": "0d1fe7238bf3e744b463df5f7dc683110468ae266709e63f0d3edfaa0e2f110c", + "src/inferrsi/data/skill_library/hardware/host/host-memory-management/metadata.json": "9fe5988b136da9aeff9d00b0c6c607cac00b4071efaf637d287a350e5d4fcafb", "src/inferrsi/data/skill_library/hardware/host/host-memory-management/references/cpython-PSF-LICENSE.md": "33f1a470702f459c160751bf3188b3fa7462fc761a006e03e80ef3f0a7a01ed6", "src/inferrsi/data/skill_library/hardware/host/host-memory-management/references/cpython-free-threading-readset.json": "46336623b3c573fad97d4c686d9836baab807adf10f4bea05352d7a46236e004", "src/inferrsi/data/skill_library/hardware/host/host-memory-management/references/legacy-source-notes.md": "bb1c0fb7a4d1a0301ca9e699e733224f3dcf0ded3cfe13e612e5c04d48a8cab5", @@ -168,12 +168,29 @@ "references/cpython-PSF-LICENSE.md", "references/legacy-source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Audit host preparation, pinned-host pressure and asynchronous CUDA-copy ownership/order/lifetime, with separately scoped routing for Ascend descriptor retention, Python preprocessing and NUMA placement.", + "input_contract": "Host buffer ownership and alias/mutation behavior, copy direction/dtype/layout, producer/consumer streams, live/in-flight/cache budget and the actual interpreter/placement context.", + "produced_artifact": "An ownership and dependency audit with bounded transfer candidates and a correctness-first validation plan separating enqueue, pinning, transfer, model and end-to-end cost.", + "failure_modes": "A stream wait does not prevent CPU mutation and record_stream does not create a data dependency; cached host storage may outlive Python scope, and the eager reusable-slot example is not capture-safe." + }, + "recommendations": [ + "Track copy-before-consumer order, CPU payload reuse and device storage lifetime as three independent obligations; wait for D2H completion before CPU reads.", + "Compare pageable, per-request pinning and bounded reuse on the real workload while budgeting all live and in-flight slots, cache and preprocessing memory.", + "Keep the eager staging-slot preconditions explicit and validate ordering/lifetime under stress before performance; a small passing sample does not establish a hazardous pattern is safe." + ] + }, + "applicability": { + "scope": "Audit host preparation, pinned-host pressure and asynchronous CUDA-copy ownership/order/lifetime, with separately scoped routing for Ascend descriptor retention, Python preprocessing and NUMA placement.", + "input_contract": "Host buffer ownership and alias/mutation behavior, copy direction/dtype/layout, producer/consumer streams, live/in-flight/cache budget and the actual interpreter/placement context.", + "produced_artifact": "An ownership and dependency audit with bounded transfer candidates and a correctness-first validation plan separating enqueue, pinning, transfer, model and end-to-end cost.", + "failure_modes": "A stream wait does not prevent CPU mutation and record_stream does not create a data dependency; cached host storage may outlive Python scope, and the eager reusable-slot example is not capture-safe." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Track copy-before-consumer order, CPU payload reuse and device storage lifetime as three independent obligations; wait for D2H completion before CPU reads.", + "Compare pageable, per-request pinning and bounded reuse on the real workload while budgeting all live and in-flight slots, cache and preprocessing memory.", + "Keep the eager staging-slot preconditions explicit and validate ordering/lifetime under stress before performance; a small passing sample does not establish a hazardous pattern is safe." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-overhead-optimization.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-overhead-optimization.json index e7c2ea831..ba15d0baf 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-overhead-optimization.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-overhead-optimization.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/SKILL.md", "src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/metadata.json", @@ -40,7 +40,7 @@ "checkout_ref": "checkout:host-overhead-optimization", "source_files": { "src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/SKILL.md": "36ef88826a32ac3147b869001004ded17a8d5a491e25bfe105005ba39ea9d1eb", - "src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/metadata.json": "ae71c389dfdb1a19d267feecb4c6f1fbb4c9afad501ff6d8fab7e38b29bcc37a", + "src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/metadata.json": "db3c63ca77a46e647a806e094ae662504768a958d537630a4d7bcabde35d6da3", "src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/references/deepinfer-zero-overhead-scheduling.md": "f452bf40132c9195d739f1c86b3aa18857138c7ed0f1861af5853d93b9955924", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, @@ -67,12 +67,31 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Use line-level profiling to reduce exposed Python request-preparation, scheduling and execution-coordination overhead in a bounded serving optimization loop.", + "prerequisites": "Confirm host overhead is the limiting factor with the detection procedure before tuning; choose a representative workload and consistent CPU affinity for comparisons.", + "input_contract": "Detection/NVTX triage, qualified target function paths and line-profiler output, workload/affinity settings, related correctness tests and serving benchmark metrics.", + "produced_artifact": "Per-round hotspot/change/rollback and correctness records plus a final before/after benchmark report, failed attempts, remaining hotspots and scoped follow-up recommendations.", + "failure_modes": "Optimizing the default preparation function can miss a different regressing owner; caching/hoisting/preallocation can violate lifetime or invalidation, and a line-level speedup can leave serving throughput unchanged." + }, + "recommendations": [ + "Profile the actual top regressing function by absolute exposed time, drilling into dominant unprofiled subcalls instead of assuming _prepare_tp_inputs is the owner.", + "Prefer one small evidence-supported change with explicit ownership/lifetime/invalidation checks, run relevant correctness tests and revert failed or regressing candidates.", + "Re-profile identical workloads after each accepted change and compare hotspot time, total function time and serving metrics; reassess the next bottleneck and stay within the authorized budget." + ] + }, + "applicability": { + "scope": "Use line-level profiling to reduce exposed Python request-preparation, scheduling and execution-coordination overhead in a bounded serving optimization loop.", + "prerequisites": "Confirm host overhead is the limiting factor with the detection procedure before tuning; choose a representative workload and consistent CPU affinity for comparisons.", + "input_contract": "Detection/NVTX triage, qualified target function paths and line-profiler output, workload/affinity settings, related correctness tests and serving benchmark metrics.", + "produced_artifact": "Per-round hotspot/change/rollback and correctness records plus a final before/after benchmark report, failed attempts, remaining hotspots and scoped follow-up recommendations.", + "failure_modes": "Optimizing the default preparation function can miss a different regressing owner; caching/hoisting/preallocation can violate lifetime or invalidation, and a line-level speedup can leave serving throughput unchanged." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Profile the actual top regressing function by absolute exposed time, drilling into dominant unprofiled subcalls instead of assuming _prepare_tp_inputs is the owner.", + "Prefer one small evidence-supported change with explicit ownership/lifetime/invalidation checks, run relevant correctness tests and revert failed or regressing candidates.", + "Re-profile identical workloads after each accepted change and compare hotspot time, total function time and serving metrics; reassess the next bottleneck and stay within the authorized budget." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/husky.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/husky.json index d6ecd221c..6ed5c46e2 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/husky.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/husky.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/husky/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/husky/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/husky/SKILL.md", "src/inferrsi/data/skill_library/repositories/husky/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-benchmark-design.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-benchmark-design.json index b671bc29f..328af8a6c 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-benchmark-design.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-benchmark-design.json @@ -35,8 +35,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/inference-benchmark-design/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/inference-benchmark-design/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/inference-benchmark-design/SKILL.md", "src/inferrsi/data/skill_library/methods/inference-benchmark-design/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-optimization-casebook.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-optimization-casebook.json index 344bae3cb..c096b8506 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-optimization-casebook.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-optimization-casebook.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/inference-optimization-casebook/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/inference-optimization-casebook/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/SKILL.md", "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/admission-drain-occupancy.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kernel-writing-guide.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kernel-writing-guide.json index d4d9423e2..ff9d9cf9f 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kernel-writing-guide.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kernel-writing-guide.json @@ -39,8 +39,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/kernel-writing-guide/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/kernel-writing-guide/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/kernel-writing-guide/SKILL.md", "src/inferrsi/data/skill_library/methods/kernel-writing-guide/cases/causal-conv1d-dispatch-state.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kv-tier-management.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kv-tier-management.json index 5bbd97561..d3df286e1 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kv-tier-management.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kv-tier-management.json @@ -24,8 +24,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/lmcache/kv-tier-management/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/lmcache/kv-tier-management/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/lmcache/kv-tier-management/SKILL.md", "src/inferrsi/data/skill_library/repositories/lmcache/kv-tier-management/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lazy-evaluation-stream-lifetimes.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lazy-evaluation-stream-lifetimes.json index 76d071a22..43c831378 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lazy-evaluation-stream-lifetimes.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lazy-evaluation-stream-lifetimes.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/frameworks/mlx/lazy-evaluation-stream-lifetimes/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/frameworks/mlx/lazy-evaluation-stream-lifetimes/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/frameworks/mlx/lazy-evaluation-stream-lifetimes/SKILL.md", "src/inferrsi/data/skill_library/frameworks/mlx/lazy-evaluation-stream-lifetimes/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lily.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lily.json index cfb60ddca..b7cc150a9 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lily.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lily.json @@ -25,8 +25,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/lily/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/lily/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/lily/LICENSE", "src/inferrsi/data/skill_library/repositories/lily/NOTICE.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lithos-metal.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lithos-metal.json index 2cf62297d..b9b43868d 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lithos-metal.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lithos-metal.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/lithos-metal/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/lithos-metal/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/lithos-metal/LICENSE", "src/inferrsi/data/skill_library/repositories/lithos-metal/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/local-dream.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/local-dream.json index 18e4aa3bf..32e907519 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/local-dream.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/local-dream.json @@ -29,8 +29,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/local-dream/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/local-dream/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/local-dream/SKILL.md", "src/inferrsi/data/skill_library/repositories/local-dream/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mistral-rs.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mistral-rs.json index 592dd3812..1984bb81f 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mistral-rs.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mistral-rs.json @@ -26,8 +26,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/mistral-rs/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/mistral-rs/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/mistral-rs/LICENSE", "src/inferrsi/data/skill_library/repositories/mistral-rs/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlc-llm.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlc-llm.json index 860b73efc..d18213bdb 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlc-llm.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlc-llm.json @@ -27,8 +27,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/mlc-llm/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/mlc-llm/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/mlc-llm/LICENSE", "src/inferrsi/data/skill_library/repositories/mlc-llm/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlx-swift-lm.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlx-swift-lm.json index b5a9f7d91..21e947454 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlx-swift-lm.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlx-swift-lm.json @@ -27,8 +27,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/mlx-swift-lm/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/mlx-swift-lm/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/mlx-swift-lm/LICENSE", "src/inferrsi/data/skill_library/repositories/mlx-swift-lm/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/npu-skill-factory.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/npu-skill-factory.json index 0b6fbb8ad..8b0ac1659 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/npu-skill-factory.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/npu-skill-factory.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/workflows/npu-skill-factory/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/workflows/npu-skill-factory/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/skill-index.json", "src/inferrsi/data/skill_library/workflows/npu-skill-factory/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/optimization-search-policy.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/optimization-search-policy.json index e4f81d8d1..c645d3c28 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/optimization-search-policy.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/optimization-search-policy.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/optimization-search-policy/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/optimization-search-policy/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/optimization-search-policy/SKILL.md", "src/inferrsi/data/skill_library/methods/optimization-search-policy/cases/sarathi-chunk-budget.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/os-process-placement.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/os-process-placement.json index 36f83e9db..242c9c23f 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/os-process-placement.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/os-process-placement.json @@ -24,8 +24,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/host/os-process-placement/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/host/os-process-placement/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/host/os-process-placement/SKILL.md", "src/inferrsi/data/skill_library/hardware/host/os-process-placement/metadata.json", @@ -42,7 +42,7 @@ "checkout_ref": "checkout:os-process-placement", "source_files": { "src/inferrsi/data/skill_library/hardware/host/os-process-placement/SKILL.md": "2003492e4d89fde0443b180d74933e764bd1979435e109c8d26e20eb8f6e5053", - "src/inferrsi/data/skill_library/hardware/host/os-process-placement/metadata.json": "ec02995c075f0a540921f57b4846f2cafe334eb90f44389f17c3c50457c3e9c5", + "src/inferrsi/data/skill_library/hardware/host/os-process-placement/metadata.json": "d53e53f724c7b6f261cf6c9b579afd20b2279cb1ffd0af89f8ce9f475046fa76", "src/inferrsi/data/skill_library/hardware/host/os-process-placement/references/llama-numa-thread-readset.md": "748b254b3b043a5ddb0f480eb4a566854d27eedd7b111499863e9bf0a5a6951e", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, @@ -92,12 +92,31 @@ "provenance_readsets": [ "references/llama-numa-thread-readset.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Prepare and record CPU/NUMA process placement, phase-specific thread settings, device contention and environment prerequisites before shared-host performance measurements.", + "prerequisites": "No outstanding hard environment errors: required devices/driver, planned device count and any container prerequisites must be present before running.", + "input_contract": "Current affinity/NUMA policy, accelerator locality, workload phase/thread controls, device occupancy, runtime environment and relevant container/resource limits.", + "produced_artifact": "A recorded placement/thread/environment configuration and preflight outcome, with errors requiring remediation and warnings retained for the measurement campaign.", + "failure_modes": "Changing affinity or thread settings between rounds confounds timing; combining independent affinity mechanisms is order-sensitive, and small driver memory usage can be mistaken for device occupation." + }, + "recommendations": [ + "Inspect affinity and NUMA policy before placement and hold them constant across comparisons; document and requalify a round when placement changes.", + "Choose one affinity-mask authority and distinguish generation, batch and frontend thread controls; source template thread counts are starting points rather than tuned constants.", + "Record device occupancy and structured ERROR/WARNING results before measuring, using the official environment setup for derived CANN paths." + ] + }, + "applicability": { + "scope": "Prepare and record CPU/NUMA process placement, phase-specific thread settings, device contention and environment prerequisites before shared-host performance measurements.", + "prerequisites": "No outstanding hard environment errors: required devices/driver, planned device count and any container prerequisites must be present before running.", + "input_contract": "Current affinity/NUMA policy, accelerator locality, workload phase/thread controls, device occupancy, runtime environment and relevant container/resource limits.", + "produced_artifact": "A recorded placement/thread/environment configuration and preflight outcome, with errors requiring remediation and warnings retained for the measurement campaign.", + "failure_modes": "Changing affinity or thread settings between rounds confounds timing; combining independent affinity mechanisms is order-sensitive, and small driver memory usage can be mistaken for device occupation." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Inspect affinity and NUMA policy before placement and hold them constant across comparisons; document and requalify a round when placement changes.", + "Choose one affinity-mask authority and distinguish generation, batch and frontend thread controls; source template thread counts are starting points rather than tuned constants.", + "Record device occupancy and structured ERROR/WARNING results before measuring, using the official environment setup for derived CANN paths." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/performance-ceiling-analysis.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/performance-ceiling-analysis.json index 683609a41..da76f5b07 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/performance-ceiling-analysis.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/performance-ceiling-analysis.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/performance-ceiling-analysis/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/performance-ceiling-analysis/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/performance-ceiling-analysis/SKILL.md", "src/inferrsi/data/skill_library/methods/performance-ceiling-analysis/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/plan-activation-residency.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/plan-activation-residency.json index 23d3810b7..672d773ce 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/plan-activation-residency.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/plan-activation-residency.json @@ -16,8 +16,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/plan-activation-residency/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/plan-activation-residency/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/plan-activation-residency/SKILL.md", "src/inferrsi/data/skill_library/methods/plan-activation-residency/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/project-maya.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/project-maya.json index 17c8095d5..7dd98248f 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/project-maya.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/project-maya.json @@ -25,8 +25,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/project-maya/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/project-maya/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/project-maya/LICENSE", "src/inferrsi/data/skill_library/repositories/project-maya/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/pytorch.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/pytorch.json index 09306d843..2333fef75 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/pytorch.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/pytorch.json @@ -24,8 +24,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/frameworks/pytorch/pytorch/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/frameworks/pytorch/pytorch/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/frameworks/pytorch/pytorch/LICENSE", "src/inferrsi/data/skill_library/frameworks/pytorch/pytorch/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/repository-evolution-analysis.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/repository-evolution-analysis.json index 87ac2caa3..446dc35d3 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/repository-evolution-analysis.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/repository-evolution-analysis.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/repository-evolution-analysis/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/repository-evolution-analysis/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/repository-evolution-analysis/SKILL.md", "src/inferrsi/data/skill_library/methods/repository-evolution-analysis/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/rsi-evidence.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/rsi-evidence.json index 3a66d4cde..abc3542df 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/rsi-evidence.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/rsi-evidence.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/workflows/rsi-evidence/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/workflows/rsi-evidence/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/skill-index.json", "src/inferrsi/data/skill_library/workflows/rsi-evidence/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/skill-evolution-playbook.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/skill-evolution-playbook.json index f360339fa..1bb5dc671 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/skill-evolution-playbook.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/skill-evolution-playbook.json @@ -21,8 +21,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/skill-evolution-playbook/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/skill-evolution-playbook/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/skill-evolution-playbook/SKILL.md", "src/inferrsi/data/skill_library/methods/skill-evolution-playbook/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/splash.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/splash.json index 23c775be0..574fae850 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/splash.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/splash.json @@ -25,8 +25,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/splash/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/splash/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/splash/LICENSE", "src/inferrsi/data/skill_library/repositories/splash/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/storage-io-measurement.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/storage-io-measurement.json index 130c9cf61..bcecd3676 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/storage-io-measurement.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/storage-io-measurement.json @@ -24,8 +24,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/SKILL.md", "src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/metadata.json", @@ -41,7 +41,7 @@ "checkout_ref": "checkout:storage-io-measurement", "source_files": { "src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/SKILL.md": "63b883c10a8d3e7d918abfc7175b72e2b401ff1e02697f94b8382ec1c8f369b7", - "src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/metadata.json": "0a41c7b00978332b54ee1e4a7c1ade88ecde3e961128f24d1b4f7708caff5ff5", + "src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/metadata.json": "5017aa6c04b8cc45d8549b71bc283bfced8e7e1bdb29cf0b305a0447a3c12a9d", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -69,12 +69,33 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Measure and attribute storage traffic for model loading or serving while separating device/process observations from application outcomes and cache/startup effects.", + "prerequisites": "Resolve backing devices and participating worker PIDs first; active fio benchmarks or cache manipulation require separate authorization, with bounded observation during already-authorized runs.", + "input_contract": "Observed loader access pattern, tool/OS/filesystem versions, file-to-device mapping, worker PIDs, phase timestamps, cache-state method and raw IO/job/application measurements.", + "produced_artifact": "A workload- and cache-qualified IO evidence record with units, achieved depth, errors/bytes/completion and device/process attribution, plus a separately measured application outcome where benefit is claimed.", + "refusal_point": "Reject unspecified or copied-example benchmark workloads; do not name a storage bottleneck from util/iowait alone or infer application gain from synthetic bandwidth." + }, + "recommendations": [ + "Match the fio read pattern to the observed loader and verify achieved rather than requested depth; more queued work can increase latency.", + "Record warm/cold/unknown cache state and its method, separate startup from repeated/steady reads, and check completed bytes for truncated runs.", + "Align per-device and per-process observations with the application phase, retain units and latency provenance, and corroborate saturation using traffic, queues and process activity.", + "Only run a separately authorized bounded read-only job against an explicit existing regular file, then remeasure the real application before accepting a benefit." + ] + }, + "applicability": { + "scope": "Measure and attribute storage traffic for model loading or serving while separating device/process observations from application outcomes and cache/startup effects.", + "prerequisites": "Resolve backing devices and participating worker PIDs first; active fio benchmarks or cache manipulation require separate authorization, with bounded observation during already-authorized runs.", + "input_contract": "Observed loader access pattern, tool/OS/filesystem versions, file-to-device mapping, worker PIDs, phase timestamps, cache-state method and raw IO/job/application measurements.", + "produced_artifact": "A workload- and cache-qualified IO evidence record with units, achieved depth, errors/bytes/completion and device/process attribution, plus a separately measured application outcome where benefit is claimed.", + "refusal_point": "Reject unspecified or copied-example benchmark workloads; do not name a storage bottleneck from util/iowait alone or infer application gain from synthetic bandwidth." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Match the fio read pattern to the observed loader and verify achieved rather than requested depth; more queued work can increase latency.", + "Record warm/cold/unknown cache state and its method, separate startup from repeated/steady reads, and check completed bytes for truncated runs.", + "Align per-device and per-process observations with the application phase, retain units and latency provenance, and corroborate saturation using traffic, queues and process activity.", + "Only run a separately authorized bounded read-only job against an explicit existing regular file, then remeasure the real application before accepting a benefit." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-input-pipeline.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-input-pipeline.json index 25f5955b9..a6ad85977 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-input-pipeline.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-input-pipeline.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/training-input-pipeline/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/training-input-pipeline/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/training-input-pipeline/SKILL.md", "src/inferrsi/data/skill_library/methods/training-input-pipeline/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-resource-budget.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-resource-budget.json index 5027f5a98..a230cb0e2 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-resource-budget.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-resource-budget.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/training-resource-budget/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/training-resource-budget/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/training-resource-budget/SKILL.md", "src/inferrsi/data/skill_library/methods/training-resource-budget/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/video-diffusion-optimization.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/video-diffusion-optimization.json index ba51c5a5f..aaab5d179 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/video-diffusion-optimization.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/video-diffusion-optimization.json @@ -26,8 +26,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/video-diffusion-optimization/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/video-diffusion-optimization/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/video-diffusion-optimization/SKILL.md", "src/inferrsi/data/skill_library/methods/video-diffusion-optimization/assets/campaign.template.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/vllm-metal.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/vllm-metal.json index e953111bf..6768c018b 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/vllm-metal.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/vllm-metal.json @@ -26,8 +26,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/vllm-metal/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/vllm-metal/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/vllm-metal/LICENSE", "src/inferrsi/data/skill_library/repositories/vllm-metal/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/weight-loading-optimization.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/weight-loading-optimization.json index ecad06118..a00f7bdce 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/weight-loading-optimization.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/weight-loading-optimization.json @@ -29,8 +29,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/methods/weight-loading-optimization/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/methods/weight-loading-optimization/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/methods/weight-loading-optimization/SKILL.md", "src/inferrsi/data/skill_library/methods/weight-loading-optimization/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-afd-p2p-exchanges.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-afd-p2p-exchanges.json index 686bf7f82..e66056723 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-afd-p2p-exchanges.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-afd-p2p-exchanges.json @@ -23,8 +23,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/afd-plugin/audit-afd-p2p-exchanges/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/afd-plugin/audit-afd-p2p-exchanges/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/afd-plugin/audit-afd-p2p-exchanges/SKILL.md", "src/inferrsi/data/skill_library/repositories/afd-plugin/audit-afd-p2p-exchanges/metadata.json", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-flare-session-lifecycle.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-flare-session-lifecycle.json index 8227a0045..33099d173 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-flare-session-lifecycle.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-flare-session-lifecycle.json @@ -29,8 +29,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/repositories/flare-local-inference/audit-flare-session-lifecycle/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/repositories/flare-local-inference/audit-flare-session-lifecycle/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/repositories/flare-local-inference/audit-flare-session-lifecycle/LICENSE", "src/inferrsi/data/skill_library/repositories/flare-local-inference/audit-flare-session-lifecycle/SKILL.md", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/diagnose-attention-bottlenecks.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/diagnose-attention-bottlenecks.json index eb8eb6dba..6b1a774fd 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/diagnose-attention-bottlenecks.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/diagnose-attention-bottlenecks.json @@ -16,8 +16,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/SKILL.md", "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/metadata.json", @@ -42,7 +42,7 @@ "checkout_ref": "checkout:diagnose-attention-bottlenecks", "source_files": { "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/SKILL.md": "a25738dbb3b9daa15c5827cb536a20fe13f7c8b9dd14aa3fb7cfa7e132879431", - "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/metadata.json": "3abe626a6e4c73c943429f609ce2c62aa77aae7e1726475ebbbdfbe1794f6f7d", + "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/metadata.json": "6239c885aa83936a7bd9c49643b1c79b3734a17234af7c03d95839efc622c79e", "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/references/mechanisms.md": "fe08b2292fa587be3874774ddf41063b84c579a0085df422ec6710d8aa90b8b7", "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/references/papers-20261015/INTEGRATION_NOTES.md": "371b01ee201ef51fecbfd6da892d517aaba295930b9395025f03f34e21c030a1", "src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/references/papers-20261015/NEXT_GATE_LEADS.md": "35b8b58ae5db02b2df51ccbe5cdf870a7383d17f345f9ee5eb7b0a4146dfc74b", @@ -81,12 +81,29 @@ "references/papers-20261015/README.md", "references/sources.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose attention-kernel bottlenecks after IO reduction, tile/pipeline regressions and precision or hardware-port assumptions.", + "input_contract": "Actual kernel/device revisions, attention shapes and semantics, operand/accumulator types, correctness/quality criteria, and existing traffic, resource, parallelism and stall observations.", + "produced_artifact": "A bottleneck diagnosis with confidence, one bounded candidate, resource exchange, counter-signal, missing evidence, source ID and next authorization gate.", + "refusal_point": "Return conditional hypotheses when observations are missing; reject or defer changes with wrong outputs/gradients, unsafe lifetimes/order, unsupported primitives, unacceptable accuracy or gains erased by omitted work." + }, + "recommendations": [ + "Preserve masks, dropout replay, online-softmax normalization and gradient obligations before comparing costs; exact algebra does not imply bitwise equality.", + "After fusion, reclassify the exposed limit using scalar work, independent output tiles and resource ceilings; larger tiles and deeper pipelines can reduce residency or spill.", + "Include precision preprocessing/conversion in the measurement boundary and check generated asynchronous scheduling; validate accelerator-specific primitives separately before a port." + ] + }, + "applicability": { + "scope": "Diagnose attention-kernel bottlenecks after IO reduction, tile/pipeline regressions and precision or hardware-port assumptions.", + "input_contract": "Actual kernel/device revisions, attention shapes and semantics, operand/accumulator types, correctness/quality criteria, and existing traffic, resource, parallelism and stall observations.", + "produced_artifact": "A bottleneck diagnosis with confidence, one bounded candidate, resource exchange, counter-signal, missing evidence, source ID and next authorization gate.", + "refusal_point": "Return conditional hypotheses when observations are missing; reject or defer changes with wrong outputs/gradients, unsafe lifetimes/order, unsupported primitives, unacceptable accuracy or gains erased by omitted work." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Preserve masks, dropout replay, online-softmax normalization and gradient obligations before comparing costs; exact algebra does not imply bitwise equality.", + "After fusion, reclassify the exposed limit using scalar work, independent output tiles and resource ceilings; larger tiles and deeper pipelines can reduce residency or spill.", + "Include precision preprocessing/conversion in the measurement boundary and check generated asynchronous scheduling; validate accelerator-specific primitives separately before a port." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/host-overhead-profiling.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/host-overhead-profiling.json index f79630e3d..f66551c70 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/host-overhead-profiling.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/host-overhead-profiling.json @@ -22,8 +22,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/SKILL.md", "src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/metadata.json", @@ -39,7 +39,7 @@ "checkout_ref": "checkout:host-overhead-profiling", "source_files": { "src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/SKILL.md": "326e566fbe30d3ba04e4b50c3e87aad9df037f0ac4ad6fe129165ae97dc5f91d", - "src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/metadata.json": "76e34c1c64aba473a9e126b032a776417caa0f913f6ac3cf4dba3a5d123b1ee0", + "src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/metadata.json": "bc4236c65e37378f4a74e0b88c47776055c186aca44c000b1f68e8c63cc4b277", "src/inferrsi/data/skill_library/skill-index.json": "9ea8b2ef190777e683a3905f0614612a37782be4d655d230c000188b0c7073db" }, "skill_metadata": { @@ -65,12 +65,31 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Detect exposed host overhead and diagnose per-step host regressions in CUDA inference serving from existing nsys timelines.", + "prerequisites": "An existing serving nsys trace and Python with sqlite3; comparative root-cause analysis needs baseline and target traces, with nsys export available for report-format input.", + "input_contract": "One trace for detection/breakdown or two comparable traces for regression analysis, including the workload/phase context needed to isolate steady-state forward steps.", + "produced_artifact": "A detection verdict with metric/phase evidence, per-step NVTX/kernel/API breakdown and ranked host-operation deltas for a targeted optimization handoff.", + "failure_modes": "Warmup/loading or mismatched phase mixtures distort per-step comparisons; duplicated rank ranges, unresolved NVTX text IDs or overlapping rank end times can miscompute host gaps." + }, + "recommendations": [ + "Isolate comparable steady-state forward iterations and inspect context/generation separately; aggregate utilization can hide a phase-specific host bottleneck.", + "Confirm exposed preparation using both performance impact and idle attribution, retain communication as a confounder, and triage absolute NVTX time deltas before line-level optimization.", + "Resolve NVTX text IDs, account for TP rank duplication and use the maximum overlapping end time for gaps; do not compare full-trace totals as per-step overhead." + ] + }, + "applicability": { + "scope": "Detect exposed host overhead and diagnose per-step host regressions in CUDA inference serving from existing nsys timelines.", + "prerequisites": "An existing serving nsys trace and Python with sqlite3; comparative root-cause analysis needs baseline and target traces, with nsys export available for report-format input.", + "input_contract": "One trace for detection/breakdown or two comparable traces for regression analysis, including the workload/phase context needed to isolate steady-state forward steps.", + "produced_artifact": "A detection verdict with metric/phase evidence, per-step NVTX/kernel/API breakdown and ranked host-operation deltas for a targeted optimization handoff.", + "failure_modes": "Warmup/loading or mismatched phase mixtures distort per-step comparisons; duplicated rank ranges, unresolved NVTX text IDs or overlapping rank end times can miscompute host gaps." }, - "applicability": {}, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "Isolate comparable steady-state forward iterations and inspect context/generation separately; aggregate utilization can hide a phase-specific host bottleneck.", + "Confirm exposed preparation using both performance impact and idle attribution, retain communication as a confounder, and triage absolute NVTX time deltas before line-level optimization.", + "Resolve NVTX text IDs, account for TP rank duplication and use the maximum overlapping end time for gaps; do not compare full-trace totals as per-step overhead." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/reason-hopper-kernels.json b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/reason-hopper-kernels.json index 7a0c4d427..7d3d5ae81 100644 --- a/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/reason-hopper-kernels.json +++ b/src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/reason-hopper-kernels.json @@ -36,8 +36,8 @@ "sources": [ { "type": "git", - "url": "https://github.com/InferMatrixLab/InferRSI/blob/8115da15b9ef34978de500b08aa9f14ea790c35b/src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/SKILL.md", - "commit": "8115da15b9ef34978de500b08aa9f14ea790c35b", + "url": "https://github.com/InferMatrixLab/InferRSI/blob/fb4171e87b4c78d4d62c927f297374ed917949f5/src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/SKILL.md", + "commit": "fb4171e87b4c78d4d62c927f297374ed917949f5", "paths": [ "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/SKILL.md", "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/metadata.json", @@ -62,7 +62,7 @@ "checkout_ref": "checkout:reason-hopper-kernels", "source_files": { "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/SKILL.md": "cec4e3aa1eb64c31c54b5f5ca40af2b61b7919d94be4174968581d5f752c0538", - "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/metadata.json": "7520da1cc97412631a600957ecb18aa5a7a4461ea21e76c237330180193ed898", + "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/metadata.json": "79ca64dc97ad34331036dc071e86954c98ac568e651adfae74cce74f1ca61c7b", "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/references/fp8.md": "31d9c211c11c2224007abbdcd4059913c4a54833fe2d2f926411c5238fcd3501", "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/references/licenses/cutlass-bsd.md": "42fec630f410aa308f70a51a89fadcd19586fa620f9831a32bee528a9a10000e", "src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/references/licenses/deepgemm-mit.md": "6c73a30c14a2938abaa6afe98ebb19e6d81dac5bd4ace0cb05c61c20afa37b85", @@ -238,7 +238,10 @@ "CLC", "two-SM MMA", "native NVFP4/block-scaled tcgen05 MMA" - ] + ], + "input_contract": "Device/compute capability, compiler target and selected implementation, kernel/library revisions, shapes/strides/alignment, numeric and grouping/epilogue semantics, correctness criterion and measurement boundary.", + "produced_artifact": "A source-qualified, reviewable hypothesis with one bounded change, resource/accuracy exchange, counter-signal, stop condition and next verification step.", + "failure_modes": "SM90 tags or import/dispatch guards can hide an unbuilt or unselected SM90a instruction path; extra stages or register caps can increase spills or lower residency." }, "limitations": [ "Native compilation, GPU correctness, numerical accuracy, profiling, performance, model/service behavior and skill efficacy were not run.", @@ -256,7 +259,12 @@ "../diagnose-attention-bottlenecks/SKILL.md", "../../../methods/kernel-writing-guide/SKILL.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "recommendations": [ + "For WGMMA advice, confirm the compiled and selected SM90a path; do not transplant Blackwell-only instruction or memory mechanisms.", + "Resolve producer/consumer ownership and completion before tuning stage depth; budget live accumulators, padded shared memory, scales and epilogue storage together.", + "For later validation, check tails, short K, stage wraparound and grouped offsets against the frozen reference, inspect actual PTX/SASS resources, and include setup/conversion/reduction costs." + ] }, "applicability": { "scope": "Source-derived Hopper SM90/SM90a kernel reasoning for TMA/mbarrier, WGMMA, resource/layout/pipeline/software scheduling and selected FP8 GEMM. CUDA categorization does not certify other GPU architectures, library dispatch, or a combined tested stack.", @@ -270,11 +278,15 @@ "CLC", "two-SM MMA", "native NVFP4/block-scaled tcgen05 MMA" - ] + ], + "input_contract": "Device/compute capability, compiler target and selected implementation, kernel/library revisions, shapes/strides/alignment, numeric and grouping/epilogue semantics, correctness criterion and measurement boundary.", + "produced_artifact": "A source-qualified, reviewable hypothesis with one bounded change, resource/accuracy exchange, counter-signal, stop condition and next verification step.", + "failure_modes": "SM90 tags or import/dispatch guards can hide an unbuilt or unselected SM90a instruction path; extra stages or register caps can increase spills or lower residency." }, "recommendations": [ - "Read the pinned SKILL.md and its prerequisites before choosing this procedure.", - "Read the packaged references and owner-local cases alongside the procedure." + "For WGMMA advice, confirm the compiled and selected SM90a path; do not transplant Blackwell-only instruction or memory mechanisms.", + "Resolve producer/consumer ownership and completion before tuning stage depth; budget live accumulators, padded shared memory, scales and epilogue storage together.", + "For later validation, check tails, short K, stage wraparound and grouped offsets against the frozen reference, inspect actual PTX/SASS resources, and include setup/conversion/reduction costs." ], "limitations": [ "This generated abstract points to the complete packaged skill; external evidence and upstream repositories remain source links.", diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/metadata.json index 12434bb01..2aaea9993 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-aclgraph-capture-replay/metadata.json @@ -20,5 +20,17 @@ "provenance_readsets": [ "references/source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose vLLM-Ascend ACLGraph eligibility, capture/replay dispatch, caller-buffer ownership and capture-resource failures.", + "prerequisites": "An existing eager correctness baseline; authorization before any new run or live configuration change.", + "input_contract": "Installed stack and device, requested/effective graph mode, runner/backend settings, capture sizes and batch descriptors, error phase, replay observations and HBM/stream evidence.", + "produced_artifact": "A bounded diagnosis, smallest reversible proposal, expected tradeoff and correctness/resource verification plan with unresolved compatibility or authorization questions.", + "refusal_point": "Stop on output mismatch, unstable replay addresses, capture exhaustion, unknown ordering or version drift; missing evidence permits only a conditional proposal." + }, + "recommendations": [ + "Diagnose the effective runtime mode and batch descriptor before changing capture sizes; intended warmup/profile bypass is not a cache defect.", + "Trace stable replay buffers to the owning caller and preserve synchronization/update ordering; the wrapper does not stage new inputs into persistent buffers.", + "Compare eager and graph execution on the same workload, separating initial capture, repeated replay, compiler changes and memory/stream costs; a replay log alone proves neither coverage nor speedup." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/metadata.json index 4b807de3d..ffc1a92b3 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-device-health/metadata.json @@ -20,5 +20,17 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Pre-run Ascend device-health, topology, occupancy and timing checks before a trusted baseline, multi-card run or graph capture, including after a killed job.", + "hardware": "Ascend NPU card groups with topology and health visible through npu-smi.", + "input_contract": "Intended card group, current topology/health and process occupancy, prior termination history and expected workload step timing.", + "produced_artifact": "A pre-run health/occupancy and step-timing record, with recovery observations and a baseline-remeasurement requirement after a card-group change.", + "failure_modes": "Health=OK can miss degraded post-kill timing; foreign processes, unwarmed clocks or comparing different card groups can contaminate the baseline." + }, + "recommendations": [ + "Read topology each session rather than hardcoding card numbers, then check health and foreign-process occupancy before the workload smoke check.", + "Use the short step-timing check to investigate post-kill degradation; record affected cards and timings instead of treating Health=OK as sufficient evidence.", + "Warm up operator measurements and remeasure the baseline after changing card groups; set only environment variables needed by the run." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/metadata.json index db5b7e067..d698e50b1 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-distributed-parallel/metadata.json @@ -80,5 +80,17 @@ "references/hccl-allreduce.md", "references/hccl-allreduce-readset.json", "references/hccl-LICENSE.md" + ], + "applicability": { + "scope": "Select and diagnose Ascend parallel strategies and their activation/overlap, with a separately bounded native multi-rank HCCL AllReduce dispatch and correctness procedure.", + "input_contract": "Installed collective/runtime builds, rank/device map and topology, workload/strategy settings, count/dtype/reduction, effective dispatch, per-rank outputs and completed-collective/application timing evidence.", + "produced_artifact": "A topology- and workload-qualified strategy/dispatch diagnosis, activation and correctness checks, stage-cost attribution and a target-validation proposal; isolated test completion is not a service result.", + "failure_modes": "Requested parallel settings can silently fall back; stale local-head/chunk/shard parameters can disable a path, and changed topology/card count can confound strategy comparisons." + }, + "recommendations": [ + "Confirm the final collective algorithm/engine after fallback and observe sharding/collective activation before interpreting correct outputs or tuning performance.", + "Preserve peer/thread waits and test distinct rank/position data with explicit completion on every rank; keep enqueue time, collective completion and application-stage timing separate.", + "Recompute topology-derived parameters and remeasure the anchor after changing card groups or parallel degree; inherited diffusion topology restrictions are not universal HCCL gates.", + "Require producer/consumer timeline and exposed-communication evidence for overlap; compare the real pipeline wait cost rather than extrapolating small collectives from bytes." ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/metadata.json index 62b8305e6..144b6045d 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-graph-mode/metadata.json @@ -61,5 +61,17 @@ "references/torchair-LICENSE.md", "references/legacy-source-notes.md", "../ascend-aclgraph-capture-replay/SKILL.md" + ], + "applicability": { + "scope": "Diagnose the TorchAir Python ACL graph path from configuration and FX compilation through capture-key selection, fallback, input staging, replay and output lifetime.", + "prerequisites": "Eager correctness established first; configuration must match the installed backend, with authorization and workload-specific tolerances for any NPU comparison.", + "input_contract": "Installed hardware/runtime versions, actual compile backend/options, shape/dtype/stride and alias/mutation contract, retained outputs, capture/replay/fallback observations and workload mix.", + "produced_artifact": "A branch-specific diagnosis and bounded configuration or lifetime proposal with correctness, cold/warm cost, resource and concurrency checks still required on the actual stack.", + "failure_modes": "Shape equality or clone_input=False does not prove capture reuse or zero-copy; capture limits can trigger persistent fallback and later replay can overwrite retained outputs." + }, + "recommendations": [ + "Use the installed CompilerConfig/backend surface and a fresh compiled instance for option changes; do not mix registered-backend snippets with callable-backend configuration.", + "Observe capture, recapture, replay and persistent fallback separately, including changed addresses and revisiting old keys after a capture-limit event.", + "Preserve earlier results before another replay and check views/input-output aliases; keep cold capture, input/output copying, optional compiler passes and service timing separate." ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/metadata.json index f278df661..767cd2646 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-model-adaptation/metadata.json @@ -19,5 +19,17 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Checkpoint onboarding for LLM/VLM adapters on Ascend: weight/scale loading, KV-head replication under tensor parallelism and staged multimodal feature checks.", + "prerequisites": "Check the installed CANN and checkpoint format against the versioned guidance; final sign-off requires real weights and at least one full-layer validation.", + "input_contract": "Checkpoint weights/configuration and scale keys, attention-head/TP configuration, model modalities and expected graph/capacity features.", + "produced_artifact": "A checkpoint/feature report separating dummy and real-weight evidence, applicable feature outcomes, and theoretical versus demonstrated serving capacity.", + "failure_modes": "Dummy-only success misses scale/remapping/sharding defects; blindly sharding replicated KV heads or accepting reduced-layer results can conceal loading or full-model failures." + }, + "recommendations": [ + "Gate onboarding in order: dummy architecture check, real-weight loading, model endpoint, text request and then multimodal request when the model supports VL; retain the evidence each stage actually supplies.", + "Check weight/scale pairing and each attention tensor loading path, especially when TP exceeds the KV-head count; verify historical FP8 guidance against the actual stack.", + "Expand capacity/concurrency only after basic modality and expected replay checks; mark MoE-only features inapplicable for non-MoE models and require full-layer validation before sign-off." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/metadata.json index 286692d5d..58068bb3f 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-profiling/metadata.json @@ -24,5 +24,17 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Build, measure and diagnose one Ascend operator in isolation using msprof op, before interpreting system-level or multi-kernel performance.", + "prerequisites": "A built executable or test harness and access to real NPU hardware with msprof op for collection.", + "input_contract": "Operator executable/harness, collection settings and OPPROF output directory, plus the operator directory used to archive each measurement round.", + "produced_artifact": "Per-round raw CSV archives and observational min/average/max summaries, followed by a bottleneck interpretation and comparison of operator duration and core balance.", + "failure_modes": "Unwarmed or reduced-frequency runs distort timing; separately budgeting simultaneous GM reads/writes misses shared bandwidth, and tiny workloads can be dominated by launch overhead." + }, + "recommendations": [ + "Collect warmup and repeated measurements into a named round, preserve the raw CSVs, and distinguish the summary statistics from the subsequent bottleneck judgment.", + "Compare task duration, dominant pipeline ratios and per-core balance together; change one optimization point, rebuild as needed and archive the new round before deciding to keep it.", + "Check current versus rated frequency and shared read/write bandwidth before blaming the kernel; aggregate msprof ratios do not provide an instruction-by-instruction timeline." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/metadata.json index b9d8ca065..e8c6fb63f 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-operator-tuning/metadata.json @@ -21,5 +21,18 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Run a bounded, accuracy-gated tuning campaign for a single Ascend operator already identified as the bottleneck, escalating from code-level to scheduling and instruction-level changes.", + "prerequisites": "A measured operator baseline, an explicit numeric target and a logged on-device accuracy pass before tuning; performance comparisons use real hardware.", + "input_contract": "Operator implementation, fixed shape/dtype/card and warmup policy, accuracy result, per-core work/wait measurements and round logs.", + "produced_artifact": "A bounded campaign record of each change, accuracy and measured timing delta, kept/reverted rounds, current stage and documented stop condition.", + "refusal_point": "Do not start without the baseline and accuracy gate; revert accuracy failures, and stop/escalate repeated failures, timeouts, exhausted stages or the campaign budget.", + "failure_modes": "Scheduler-idle and predecessor-wait bottlenecks need different fixes; output inplace-reshape can corrupt slice writes, and a changed analyzer log format can produce a misleading zero-core report." + }, + "recommendations": [ + "Change one parameter and recheck accuracy each round; keep the failure record when reverting and compare the final configuration against the same baseline workload and warmup policy.", + "Route scheduler bubbles separately from predecessor dependencies and enter instruction-level tuning only after isolating a specific long task.", + "Verify the analyzer parsed real cores before trusting its diagnosis, and rederive PyPTO tile/buffer/scheduling settings for the target SoC rather than copying numeric examples." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/metadata.json index b060f084b..75e659d0c 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-optimization-casebook/metadata.json @@ -19,5 +19,16 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Find source-derived prior cases for an already classified Ascend inference bottleneck, including fallback, memory traffic, exposed communication, graph startup and host scheduling gaps.", + "prerequisites": "A bottleneck classification from profiling and a check of the selected case preconditions/mechanism before applying it.", + "input_contract": "Bottleneck symptoms and matching profiler evidence, model/hardware/CANN/configuration context and, for a new case, measured before/after metrics.", + "produced_artifact": "A matching prior-art case and evidence requirements for a later measured application; a new case record requires a verified win or clear failure with a metric comparison.", + "refusal_point": "Do not add an INCONCLUSIVE case or one without a measured metric comparison; a subjective direction is insufficient evidence." + }, + "recommendations": [ + "Classify first, then check the matching case preconditions and use its owning procedure to apply and measure the candidate; the casebook itself does not perform profiling.", + "Keep profiler mechanism evidence and same-window end-to-end outcomes together, and retain locally_verified=false until the applied case has actually run." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/metadata.json index 560a96150..13ba90189 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-performance-analysis/metadata.json @@ -52,5 +52,17 @@ "provenance_readsets": [ "references/cannbot-stage-evidence.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Interpret Ascend CANN profiling evidence from step breakdown through kernel/utilization/communication analysis, and assess execution/validator evidence in automated optimization-stage reports.", + "prerequisites": "Usable warm-state captures with representative steps, required files and non-null utilization columns; healthy cards and a consistent valid topology for multi-card comparisons.", + "input_contract": "CANN step/kernel/utilization/communication outputs with verified column semantics; for stage acceptance, the loaded candidate, baseline, quality-validator output and comparable measurements.", + "produced_artifact": "An evidence-qualified bottleneck classification and optimization direction; stage conclusions retain missing-execution/validator INCONCLUSIVE or observed gate-failure FAIL.", + "failure_modes": "Summing concurrent communication durations double-counts overlap; misidentified columns can drop communication, and a successful export can still lack usable utilization data." + }, + "recommendations": [ + "Start from the step-level computing/communication/overlap/free breakdown and stop deepening the analysis once the bottleneck is located; do not sum concurrent streams as wall time.", + "Inspect actual column headers and enum values on the installed CANN version, then verify files and non-null metrics before interpreting utilization heuristics.", + "Use same-window interleaved baseline/candidate measurements on shared machines; progress markers, hashes and source-derived thresholds do not substitute for quality and execution evidence." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/metadata.json index 36a513071..fa959015c 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascend-video-diffusion-optimization/metadata.json @@ -3,7 +3,9 @@ "profile": "local-skill-v1", "kind": "skill", "status": "candidate", - "origin": ["first-party"], + "origin": [ + "first-party" + ], "tags": [ "ascend", "npu", @@ -24,7 +26,10 @@ "applicability": { "scope": "Ascend NPU video diffusion inference and serving optimization", "hardware": "Ascend NPU; the measure-change-verify workflow skeleton is backend-agnostic and lives in methods/video-diffusion-optimization, while the operator, layout and profiler references here are Ascend-specific", - "prerequisites": "A reproducible benchmark, a frozen quality check, and numeric gates defined in the governing acceptance issue" + "prerequisites": "A reproducible benchmark, a frozen quality check, and numeric gates defined in the governing acceptance issue", + "input_contract": "Issue-scoped performance and quality gates, timing boundary, representative and held-out workloads, frozen model/runtime/input settings and an authorized optimization budget.", + "produced_artifact": "An experiment ledger and final report of the frozen goal, baseline/final samples, quality/resource checks, accepted or reverted changes and remaining gap; verdicts require the acceptance issue evidence.", + "failure_modes": "Packed-layout conversion from noncontiguous weights can corrupt outputs; missing side-stream lifetime/order handling or omitted layout-copy costs can invalidate an optimization comparison." }, "limitations": [ "Ascend specialization of the backend-agnostic methods/video-diffusion-optimization skeleton; every operator, layout and profiler reference (TransData, FRACTAL_NZ, CANN) is Ascend-specific and must be re-derived per backend.", @@ -41,5 +46,10 @@ "../../../methods/video-diffusion-optimization/scripts/evaluate_target.py", "../../../methods/video-diffusion-optimization/assets/campaign.template.json" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "recommendations": [ + "Follow the common goal-contract and measure-change-verify loop, including final restarted-artifact acceptance; an operator win does not establish end-to-end improvement.", + "Materialize contiguous weights before FRACTAL_NZ conversion when strides differ from physical order, and attribute TransData/copy costs before proposing fusion.", + "Use field notes only to form hypotheses; derive thresholds, chunking, precision and sparsity from the target model measurements, and preserve stream dependencies and tensor lifetimes." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/metadata.json index 734086dd2..988348711 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/ascendc-tiling-design/metadata.json @@ -21,5 +21,16 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Design or restructure AscendC tiling for the covered reduction, broadcast and elementwise classes, plus the bounded mxfp8 fusion and small-channel transpose cases.", + "input_contract": "Operator class and semantics, normalized shapes/axes, dtype, target chip generation, valid/aligned lengths and intermediate-buffer requirements.", + "produced_artifact": "A multi-core split, UB chunk formula, buffer-size/total-usage plan and branch matrix with edge tests; these are design outputs, not benchmark results.", + "failure_modes": "Budgeting only inputs omits intermediate UB storage; mixing valid and aligned lengths or copy units corrupts boundaries, and choosing unsupported generation-specific primitives invalidates the design." + }, + "recommendations": [ + "Normalize axes first, then decide full-load versus chunking from the entire live working set; derive tile size from buffer, axis, API and load-balance constraints.", + "Keep valid compute/copy lengths separate from aligned storage offsets and sizes, and complete dtype, tail/alignment and boundary branches before tuning.", + "Select primitives by the target generation and preserve class-specific coverage limits; re-evaluate sample constants and API semantics instead of treating formulas as tested performance evidence." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/metadata.json index 5eed776ca..8e36a12dc 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/cann-attribution-overlap/metadata.json @@ -21,5 +21,18 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Attribute representative CANN trace kernels to source owners and plan bounded multistream overlap using data, state, event and collective-order dependencies.", + "prerequisites": "Pin the installed CANN/TorchNPU/TorchAir versions before choosing one execution-mode synchronization API family; communication proposals require communication evidence.", + "input_contract": "Representative-step selection and shapes, kernel/stream inventory with code_ref, adjacent wait windows and dependency edges; communication analysis also needs rank/transport evidence.", + "produced_artifact": "An attribution map, serial/candidate/pending dependency groups and a minimal overlap plan with joins, enable/fallback path, resource tradeoffs and acceptance checks.", + "failure_modes": "Kernel names and mechanical coverage can misidentify ownership; logical independence can hide resource contention, and overlap ratios or summed durations can hide unchanged wall time or new tails." + }, + "recommendations": [ + "Join hotspots to source owners and adjacent wait windows before selecting a target; keep compute cost, waiting and host gaps separate.", + "Build explicit data/state/event/collective-order edges, then verify one correct overlap point before increasing overlap or partitioning resources.", + "Require observed overlap, preserved state/order and fallback behavior plus latency and outside-module checks; report wall time, interval unions and duration sums separately.", + "Carry disputed formulas and source-revision distinctions forward; device free time alone does not identify Python, GIL or OS causes without matching host evidence." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/metadata.json index 9fc88432a..d1f4c947d 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-device-memory-lifecycle/metadata.json @@ -21,5 +21,16 @@ "provenance_readsets": [ "references/source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose TorchNPU device-HBM reuse, stream lifetimes, fragmentation and graph/private-pool retention before proposing allocator changes.", + "input_contract": "Allocation failure/size sequence, device and allocator path, installed versions/settings, stream and graph-pool timeline, retained tensor references and allocator statistics with synchronization boundaries.", + "produced_artifact": "A suspected allocator state transition with source evidence IDs, one eligible action, resource cost, counter-signals and a correctness-first verification/rollback plan.", + "refusal_point": "Missing evidence supports only a conditional proposal, not a diagnosed leak; stop when external/custom/shared allocation ownership is untraced and keep baseline settings for unsupported versions or live-tensor capacity pressure." + }, + "recommendations": [ + "Separate stream lifetime protection from producer/consumer ordering, and distinguish live tensors, pending events, inactive splits and private-pool retention before tuning.", + "Match split or expandable-segment proposals to the observed allocation pattern and actual feature gates; do not combine incompatible controls or import comment thresholds as defaults.", + "Treat cache release as synchronization/allocation work at a quiescent boundary; compare identical allocation sequences in fresh processes at the same synchronization points." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/metadata.json b/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/metadata.json index 18b00d69e..7450407c6 100644 --- a/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/ascend/torchnpu-pinned-host-memory-lifecycle/metadata.json @@ -21,5 +21,16 @@ "provenance_readsets": [ "references/source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose TorchNPU pinned-host RAM allocation, asynchronous-copy ownership/readiness, reuse and path-specific cache controls.", + "input_contract": "Installed versions/settings, host pressure and allocation/reuse distribution, stream timeline, owned versus registered/pageable buffers, selected host allocator path and host statistics/allocation timings.", + "produced_artifact": "An ownership classification, source evidence IDs, one eligible allocator proposal, benefit/resource cost and rollback criteria for a later fresh-process comparison.", + "refusal_point": "Keep baseline settings for live-buffer growth, pageable copies, stable reuse, unverified versions or unsupported paths; stop tuning on event/runtime errors and escalate external ownership or gate conflicts." + }, + "recommendations": [ + "Do not mutate an H2D source or read a D2H destination before completion; non_blocking=True alone proves neither overlap nor external-buffer lifetime tracking.", + "Interpret host allocated/active bytes using the selected host path, and test round/cache controls only in supported default-path fresh processes; a per-buffer cache threshold is not a total-cache cap.", + "Keep host and device allocator options separate and use an explicit quiescent boundary for host cache release; cache clearing is not a copy-completion barrier." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/metadata.json b/src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/metadata.json index 21436e632..a372310a2 100644 --- a/src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/cuda/diagnose-attention-bottlenecks/metadata.json @@ -23,5 +23,16 @@ "references/papers-20261015/README.md", "references/sources.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Diagnose attention-kernel bottlenecks after IO reduction, tile/pipeline regressions and precision or hardware-port assumptions.", + "input_contract": "Actual kernel/device revisions, attention shapes and semantics, operand/accumulator types, correctness/quality criteria, and existing traffic, resource, parallelism and stall observations.", + "produced_artifact": "A bottleneck diagnosis with confidence, one bounded candidate, resource exchange, counter-signal, missing evidence, source ID and next authorization gate.", + "refusal_point": "Return conditional hypotheses when observations are missing; reject or defer changes with wrong outputs/gradients, unsafe lifetimes/order, unsupported primitives, unacceptable accuracy or gains erased by omitted work." + }, + "recommendations": [ + "Preserve masks, dropout replay, online-softmax normalization and gradient obligations before comparing costs; exact algebra does not imply bitwise equality.", + "After fusion, reclassify the exposed limit using scalar work, independent output tiles and resource ceilings; larger tiles and deeper pipelines can reduce residency or spill.", + "Include precision preprocessing/conversion in the measurement boundary and check generated asynchronous scheduling; validate accelerator-specific primitives separately before a port." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/metadata.json b/src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/metadata.json index 33677a018..f2a7d642d 100644 --- a/src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/cuda/host-overhead-profiling/metadata.json @@ -19,5 +19,17 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Detect exposed host overhead and diagnose per-step host regressions in CUDA inference serving from existing nsys timelines.", + "prerequisites": "An existing serving nsys trace and Python with sqlite3; comparative root-cause analysis needs baseline and target traces, with nsys export available for report-format input.", + "input_contract": "One trace for detection/breakdown or two comparable traces for regression analysis, including the workload/phase context needed to isolate steady-state forward steps.", + "produced_artifact": "A detection verdict with metric/phase evidence, per-step NVTX/kernel/API breakdown and ranked host-operation deltas for a targeted optimization handoff.", + "failure_modes": "Warmup/loading or mismatched phase mixtures distort per-step comparisons; duplicated rank ranges, unresolved NVTX text IDs or overlapping rank end times can miscompute host gaps." + }, + "recommendations": [ + "Isolate comparable steady-state forward iterations and inspect context/generation separately; aggregate utilization can hide a phase-specific host bottleneck.", + "Confirm exposed preparation using both performance impact and idle attribution, retain communication as a confounder, and triage absolute NVTX time deltas before line-level optimization.", + "Resolve NVTX text IDs, account for TP rank duplication and use the maximum overlapping end time for gaps; do not compare full-trace totals as per-step overhead." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/metadata.json b/src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/metadata.json index fc6c105e2..024ad9144 100644 --- a/src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/cuda/reason-hopper-kernels/metadata.json @@ -160,7 +160,10 @@ "CLC", "two-SM MMA", "native NVFP4/block-scaled tcgen05 MMA" - ] + ], + "input_contract": "Device/compute capability, compiler target and selected implementation, kernel/library revisions, shapes/strides/alignment, numeric and grouping/epilogue semantics, correctness criterion and measurement boundary.", + "produced_artifact": "A source-qualified, reviewable hypothesis with one bounded change, resource/accuracy exchange, counter-signal, stop condition and next verification step.", + "failure_modes": "SM90 tags or import/dispatch guards can hide an unbuilt or unselected SM90a instruction path; extra stages or register caps can increase spills or lower residency." }, "limitations": [ "Native compilation, GPU correctness, numerical accuracy, profiling, performance, model/service behavior and skill efficacy were not run.", @@ -178,5 +181,10 @@ "../diagnose-attention-bottlenecks/SKILL.md", "../../../methods/kernel-writing-guide/SKILL.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "recommendations": [ + "For WGMMA advice, confirm the compiled and selected SM90a path; do not transplant Blackwell-only instruction or memory mechanisms.", + "Resolve producer/consumer ownership and completion before tuning stage depth; budget live accumulators, padded shared memory, scales and epilogue storage together.", + "For later validation, check tails, short K, stage wraparound and grouped offsets against the frozen reference, inspect actual PTX/SASS resources, and include setup/conversion/reduction costs." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/metadata.json b/src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/metadata.json index cc1764616..792eb68c7 100644 --- a/src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/host/cgroup-resource-controls/metadata.json @@ -22,5 +22,18 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Audit Linux cgroup v2 CPU quota/shares, effective placement, memory pressure/protection and conditional block-device IO controls for serving or training workloads.", + "prerequisites": "Identify workload cgroup membership, kernel/controller support, ancestor limits and the authorized file owner; prepare previous values and stop conditions before a separately authorized trial.", + "input_contract": "Target PID and hierarchy/namespace view, requested/effective cpusets, time-aligned CPU/memory/IO counters and application/sibling observations; IO proposals require resolved block-backed traffic.", + "produced_artifact": "An evidence-qualified control review/proposal with capacity tradeoff, configuration provenance, rollback manifest and matched-window application/sibling checks.", + "failure_modes": "Ancestor constraints can invalidate requested placement; pressure movement alone is not application causality, and unsupported IO accounting or shared-inode attribution can misassign traffic." + }, + "recommendations": [ + "Separate own-quota throttling, ancestor limits and sibling contention before choosing a cpu.max or cpu.weight review.", + "Compare requested with effective CPU/node sets and budget cpuset.mems migration before proposing placement; align memory PSI with local versus descendant event deltas.", + "Treat increased headroom as a shared-capacity spend and verify application outcomes and sibling impact, not just counter improvements.", + "Resolve actual block-backed traffic and supported IO controls before proposing caps; preserve inaccessible-ancestor uncertainty and do not infer container write authority." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/host/host-memory-management/metadata.json b/src/inferrsi/data/skill_library/hardware/host/host-memory-management/metadata.json index e0f888f71..299878606 100644 --- a/src/inferrsi/data/skill_library/hardware/host/host-memory-management/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/host/host-memory-management/metadata.json @@ -96,5 +96,16 @@ "references/cpython-PSF-LICENSE.md", "references/legacy-source-notes.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Audit host preparation, pinned-host pressure and asynchronous CUDA-copy ownership/order/lifetime, with separately scoped routing for Ascend descriptor retention, Python preprocessing and NUMA placement.", + "input_contract": "Host buffer ownership and alias/mutation behavior, copy direction/dtype/layout, producer/consumer streams, live/in-flight/cache budget and the actual interpreter/placement context.", + "produced_artifact": "An ownership and dependency audit with bounded transfer candidates and a correctness-first validation plan separating enqueue, pinning, transfer, model and end-to-end cost.", + "failure_modes": "A stream wait does not prevent CPU mutation and record_stream does not create a data dependency; cached host storage may outlive Python scope, and the eager reusable-slot example is not capture-safe." + }, + "recommendations": [ + "Track copy-before-consumer order, CPU payload reuse and device storage lifetime as three independent obligations; wait for D2H completion before CPU reads.", + "Compare pageable, per-request pinning and bounded reuse on the real workload while budgeting all live and in-flight slots, cache and preprocessing memory.", + "Keep the eager staging-slot preconditions explicit and validate ordering/lifetime under stress before performance; a small passing sample does not establish a hazardous pattern is safe." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/metadata.json b/src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/metadata.json index 5196577ba..d21287f3a 100644 --- a/src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/host/host-overhead-optimization/metadata.json @@ -19,5 +19,17 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Use line-level profiling to reduce exposed Python request-preparation, scheduling and execution-coordination overhead in a bounded serving optimization loop.", + "prerequisites": "Confirm host overhead is the limiting factor with the detection procedure before tuning; choose a representative workload and consistent CPU affinity for comparisons.", + "input_contract": "Detection/NVTX triage, qualified target function paths and line-profiler output, workload/affinity settings, related correctness tests and serving benchmark metrics.", + "produced_artifact": "Per-round hotspot/change/rollback and correctness records plus a final before/after benchmark report, failed attempts, remaining hotspots and scoped follow-up recommendations.", + "failure_modes": "Optimizing the default preparation function can miss a different regressing owner; caching/hoisting/preallocation can violate lifetime or invalidation, and a line-level speedup can leave serving throughput unchanged." + }, + "recommendations": [ + "Profile the actual top regressing function by absolute exposed time, drilling into dominant unprofiled subcalls instead of assuming _prepare_tp_inputs is the owner.", + "Prefer one small evidence-supported change with explicit ownership/lifetime/invalidation checks, run relevant correctness tests and revert failed or regressing candidates.", + "Re-profile identical workloads after each accepted change and compare hotspot time, total function time and serving metrics; reassess the next bottleneck and stay within the authorized budget." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/host/os-process-placement/metadata.json b/src/inferrsi/data/skill_library/hardware/host/os-process-placement/metadata.json index 00129b420..1cd78a334 100644 --- a/src/inferrsi/data/skill_library/hardware/host/os-process-placement/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/host/os-process-placement/metadata.json @@ -42,5 +42,17 @@ "provenance_readsets": [ "references/llama-numa-thread-readset.md" ], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Prepare and record CPU/NUMA process placement, phase-specific thread settings, device contention and environment prerequisites before shared-host performance measurements.", + "prerequisites": "No outstanding hard environment errors: required devices/driver, planned device count and any container prerequisites must be present before running.", + "input_contract": "Current affinity/NUMA policy, accelerator locality, workload phase/thread controls, device occupancy, runtime environment and relevant container/resource limits.", + "produced_artifact": "A recorded placement/thread/environment configuration and preflight outcome, with errors requiring remediation and warnings retained for the measurement campaign.", + "failure_modes": "Changing affinity or thread settings between rounds confounds timing; combining independent affinity mechanisms is order-sensitive, and small driver memory usage can be mistaken for device occupation." + }, + "recommendations": [ + "Inspect affinity and NUMA policy before placement and hold them constant across comparisons; document and requalify a round when placement changes.", + "Choose one affinity-mask authority and distinguish generation, batch and frontend thread controls; source template thread counts are starting points rather than tuned constants.", + "Record device occupancy and structured ERROR/WARNING results before measuring, using the official environment setup for derived CANN paths." + ] } diff --git a/src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/metadata.json b/src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/metadata.json index 932d16ce7..899caaed8 100644 --- a/src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/metadata.json +++ b/src/inferrsi/data/skill_library/hardware/host/storage-io-measurement/metadata.json @@ -21,5 +21,18 @@ "Original typed source inventory is not normalized; retain source identities and limits in the procedure/readsets." ], "provenance_readsets": [], - "consumption_mode": "packaged" + "consumption_mode": "packaged", + "applicability": { + "scope": "Measure and attribute storage traffic for model loading or serving while separating device/process observations from application outcomes and cache/startup effects.", + "prerequisites": "Resolve backing devices and participating worker PIDs first; active fio benchmarks or cache manipulation require separate authorization, with bounded observation during already-authorized runs.", + "input_contract": "Observed loader access pattern, tool/OS/filesystem versions, file-to-device mapping, worker PIDs, phase timestamps, cache-state method and raw IO/job/application measurements.", + "produced_artifact": "A workload- and cache-qualified IO evidence record with units, achieved depth, errors/bytes/completion and device/process attribution, plus a separately measured application outcome where benefit is claimed.", + "refusal_point": "Reject unspecified or copied-example benchmark workloads; do not name a storage bottleneck from util/iowait alone or infer application gain from synthetic bandwidth." + }, + "recommendations": [ + "Match the fio read pattern to the observed loader and verify achieved rather than requested depth; more queued work can increase latency.", + "Record warm/cold/unknown cache state and its method, separate startup from repeated/steady reads, and check completed bytes for truncated runs.", + "Align per-device and per-process observations with the application phase, retain units and latency provenance, and corroborate saturation using traffic, queues and process activity.", + "Only run a separately authorized bounded read-only job against an explicit existing regular file, then remeasure the real application before accepting a benefit." + ] }