AGENT SKILL

reference-and-backend-tests

Guides ONNX ReferenceEvaluator usage, reference-op behavior, backend test corpus, and bounded backend-data generation.

License 许可
Apache-2.0
最近更新
2026-09-03
Stars
★ 351
Forks
27

01 前言 Front Matter

name
reference-and-backend-tests
license
Apache 2.0
metadata
{ "disco-role": "operating" }
description
Guides ONNX ReferenceEvaluator usage, reference-op behavior, backend test corpus, and bounded backend-data generation.
disable-model-invocation
true

02 资源文件 5

03 SKILL.md 正文

ONNX Reference and Backend Tests

Use this sub-skill when a task needs to execute ONNX with the pure-Python ReferenceEvaluator, compare outputs against expected NumPy values, inspect reference operator behavior, work with the backend test corpus, or generate small backend-test data sets.

Workflow

  1. Use ReferenceEvaluator when you need a local execution baseline that follows ONNX semantics rather than a framework runtime.
  2. If the model already exists, load it and run a tiny, deterministic input dictionary first.
  3. For backend-test corpus work, distinguish between safe local node/model cases and real model downloads. Prefer small, source-defined cases for smoke tests.
  4. Keep optional dependencies optional: install onnx[reference] only when image-decoder/reference workflows need Pillow.
  5. When a result differs from a backend/runtime, treat the ONNX spec and reference operator as the source of truth.
  6. Use the bounded helper script to create a small backend-test data directory or to smoke-check a tiny model.

Route to References and Helpers

  • Read references/reference-evaluator.md for ReferenceEvaluator and debugging details.
  • Read references/backend-test-workflows.md for backend-interface concepts and test-data generation patterns.
  • Read references/troubleshooting.md before retrying a missing-op, optional-dependency, or download-based backend issue.
  • Run scripts/reference_eval_smoke.py --help to see the safe tiny-model smoke options.
  • Run scripts/generate_backend_test_subset.py --help to see the bounded backend-data generator options.

Scope Boundaries

  • Use model-authoring for creating or saving models and fixtures.
  • Use validation-and-conversion for checker, parser/printer, shape inference, and opset conversion.
  • Use operator-spec-maintenance when the task changes the reference operator implementations or backend node tests themselves.

04 同仓库更多 Skills

VectorSpaceLab
VectorSpaceLab/AREX-Skill

passnet-triton-opt

Make a single PassNet Triton kernel fast AND numerically faithful: performance model (when a replacement can win at all), block/grid/warp tuning, autotune policy, launch overhead, and per-op numeric recipes to pass the dtype baseline tolerances. Use when a pass matches and is correct but speedup below expected, or when correctness fails by small numeric margins.

★ 351
VectorSpaceLab
VectorSpaceLab/AREX-Skill

passnet-solve

END-TO-END playbook for solving one PassNet sample: analyze the computation graphs, decide the optimization strategy (what to fuse, what to replace, what to leave alone), drive the iteration loop, and maximize the sample score. This is the ENTRY skill — invoke it first for any PassNet optimization task; it tells you when to use passnet-pattern-fusion, passnet-triton-opt and passnet-feedback.

★ 351
VectorSpaceLab
VectorSpaceLab/AREX-Skill

passnet-skill

PassNet GPU kernel optimization via compiler passes. Design and implement Triton-based optimization passes, create pass files under ./pass_dir/, self-evaluate with pass_evaluator, and iterate to maximize GPU speedup.

★ 351
VectorSpaceLab
VectorSpaceLab/AREX-Skill

passnet-pattern-fusion

Author PassNet pass files: write patterns that actually MATCH the FX graph, pick fusion regions (which ops to absorb into one Triton kernel), and structure multi-pass submissions with the mandatory shared-dispatch architecture. Use when creating or fixing pattern()/replacement_args()/replacement_func() files, when a pass "failed to match", or when deciding how to fuse multiple kernels/ops.

★ 351
VectorSpaceLab
VectorSpaceLab/AREX-Skill

passnet-orchestrate

Round/batch planning and decision support for PassNet graph optimization. Use for multi-sample triage, worker allocation, eval-budget policy, and post-eval keep/revert decisions. For solving one concrete sample end to end, use passnet-solve as the entry skill; consult this skill only when you need broader planning or a specific decision gate.

★ 351
VectorSpaceLab
VectorSpaceLab/AREX-Skill

passnet-feedback

Fast, deterministic feedback for PassNet work: pre-flight pattern/match verification WITHOUT burning a GPU evaluation, per-node bottleneck analysis of a sample's graphs, and eval-log parsing into per-variant status + estimated score + failure classification. Use BEFORE every GPU evaluation (check_pattern), at the START of a sample (analyze_graph), and AFTER every evaluation (parse_eval_log).

★ 351