Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
56af575
research: add autoconfig POC with QNN NPU catalog sweep results
github-actions[bot] Jun 15, 2026
76bb07b
research: add winml-cli agent layer design doc
github-actions[bot] Jun 15, 2026
4a6ef5b
research: add WinML CLI Skills Design Doc
github-actions[bot] Jun 15, 2026
6de0e6b
research: reorganize skills doc into user/contributor + merge overlap…
github-actions[bot] Jun 15, 2026
ea3911e
research: rigorous review and correction of ep_knowledge findings
github-actions[bot] Jun 16, 2026
5c9cea7
research: validation sweep confirms npu-001 is DINOv2-specific, not g…
github-actions[bot] Jun 16, 2026
28031c7
research(autoconfig): correct npu KB based on review -- npu-001 mecha…
github-actions[bot] Jun 16, 2026
0976d39
research(autoconfig): Transpose analysis — npu-001 mechanism confirme…
github-actions[bot] Jun 16, 2026
967ddcc
research(autoconfig): extended model sweep — npu-001 scope confirmed …
github-actions[bot] Jun 16, 2026
b3c0856
research(autoconfig): correct cpu/dml/qnn_gpu KB -- remove invalid fi…
github-actions[bot] Jun 17, 2026
9f31db7
research(autoconfig): update skills-design with validated KB findings
github-actions[bot] Jun 17, 2026
21dda6a
research(autoconfig): add operational constraints to autoconfig skill…
github-actions[bot] Jun 17, 2026
e903f67
research(autoconfig): add npu-006/npu-007 constraints to catalog swee…
github-actions[bot] Jun 17, 2026
0cd43d9
research(autoconfig): fix 5 bugs found in code review + add bench_utils
github-actions[bot] Jun 17, 2026
59e7329
research(autoconfig): add VerdictPolicy, screen early exit, crash-res…
github-actions[bot] Jun 17, 2026
da32a88
research(autoconfig): update diagram + agent-design, add ep-findings-…
github-actions[bot] Jun 17, 2026
ef0b48b
research(autoconfig): hide single-model findings by default in ep-fin…
github-actions[bot] Jun 17, 2026
da6b29c
research(autoconfig): fix missing .finding CSS selector in ep-finding…
github-actions[bot] Jun 17, 2026
2c38721
research(autoconfig): rename --report to --json, drop dml-004 FR row
github-actions[bot] Jun 17, 2026
5c5684a
research(autoconfig): trim autoconfig_diagram.html — shorter bullets,…
github-actions[bot] Jun 17, 2026
e18e066
research(autoconfig): add Pending Features badge to Phase 3 in diagram
github-actions[bot] Jun 17, 2026
526fcd0
research(autoconfig): add local PyTorch reference FR; clarify correct…
github-actions[bot] Jun 17, 2026
9d5148e
research(autoconfig): fix Phase 0 layout — nowrap, 3 equal-width boxes
github-actions[bot] Jun 17, 2026
408c647
research(autoconfig): pending features badge — outcome-focused descri…
github-actions[bot] Jun 17, 2026
d761741
research(autoconfig): Phase 3 -> Outcome; Feature Requirements badge …
github-actions[bot] Jun 17, 2026
e9f1cf4
research(autoconfig): align Feature Requirements badge style with oth…
github-actions[bot] Jun 17, 2026
d242fdd
research(autoconfig): simplify Feature Requirements badge to issue nu…
github-actions[bot] Jun 17, 2026
0940ef5
research(autoconfig): feature requirements badge — issue numbers in c…
github-actions[bot] Jun 17, 2026
eeef0b9
research(autoconfig): feature requirements badge — show issue templat…
github-actions[bot] Jun 17, 2026
75bea5a
research(autoconfig): simplify Insight Engine boxes to concept + exam…
github-actions[bot] Jun 17, 2026
2dd7f05
research(autoconfig): implement Phase 1 Insight Engine + Phase 3 repo…
github-actions[bot] Jun 17, 2026
0ef818c
research(autoconfig): expand graph analysis + hypothesis matrix from …
github-actions[bot] Jun 17, 2026
7765775
research(autoconfig): add --only-hypotheses + --reuse-h0-config flags…
github-actions[bot] Jun 17, 2026
c3acb85
research(autoconfig): add QNN GPU sweep script (catalog_gpu_sweep.py)
github-actions[bot] Jun 17, 2026
bb34c9d
research(autoconfig): add Phase C confirmation pass to GPU + NPU sweeps
github-actions[bot] Jun 17, 2026
cc25e31
fix(autoconfig): fix GPU sweep perf flag and JSON parsing
github-actions[bot] Jun 17, 2026
7b30db9
fix(autoconfig): add --rebuild to GPU sweep build step
github-actions[bot] Jun 18, 2026
292d378
research(autoconfig): add CPU EP sweep script (catalog_cpu_sweep.py)
github-actions[bot] Jun 18, 2026
22a57c6
research(autoconfig): update EP findings report with GPU+NPU catalog …
github-actions[bot] Jun 18, 2026
0164c00
research(autoconfig): add CPU catalog sweep findings (cpu-007/008/009)
github-actions[bot] Jun 18, 2026
683ccf7
research(autoconfig): add self-evolution design doc (HTML)
github-actions[bot] Jun 18, 2026
5c38189
research(autoconfig): add per-model HTML report, champion config outp…
github-actions[bot] Jun 18, 2026
342dc1d
research(autoconfig): restructure feature-gaps to per-issue JSON files
github-actions[bot] Jun 18, 2026
1ca5ca6
research(autoconfig): add GPU/CPU sweep results and per-model reports
github-actions[bot] Jun 18, 2026
61649b4
research(autoconfig): add full hypothesis detail table to per-model r…
github-actions[bot] Jun 18, 2026
b01c575
research(autoconfig): restore skills-design docs accidentally deleted…
github-actions[bot] Jun 18, 2026
bc3ed98
research(autoconfig): replace ASCII art diagrams with SVG flowcharts
github-actions[bot] Jun 18, 2026
4739e3f
research(skill-plan): replace ASCII art diagrams with SVG flowcharts
github-actions[bot] Jun 18, 2026
7a15bc5
research(skill-plan): polish lifecycle section and soften accuracy-dr…
github-actions[bot] Jun 19, 2026
7693638
research(skill-plan): mark WinML CLI vs WinML scopes in lifecycle dia…
github-actions[bot] Jun 20, 2026
ba3338b
research(skill-plan): redesign lifecycle diagram aesthetics and expan…
github-actions[bot] Jun 20, 2026
f1a70ef
research(skill-plan): remove legend details below lifecycle diagram
github-actions[bot] Jun 20, 2026
5425316
research(skill-plan): align lifecycle diagram semantics with feedback
github-actions[bot] Jun 20, 2026
6f8f82a
research(skill-plan): drop versioning stage and remove shared ownership
github-actions[bot] Jun 20, 2026
e9a2833
research(skill-plan): remove duplicate build stage and shift numbering
github-actions[bot] Jun 20, 2026
3823bfb
research(skill-plan): replace scope labels with color-based lifecycle…
github-actions[bot] Jun 20, 2026
259fb33
research(skill-plan): remove validate stage and emphasize inference h…
github-actions[bot] Jun 20, 2026
d874fe6
research(skill-plan): fix iteration loop to connect stage 4 back to s…
github-actions[bot] Jun 20, 2026
462beb9
research(skill-plan): merge runtime and inference into stage 8
github-actions[bot] Jun 20, 2026
35dba55
research(skill-plan): make lifecycle SVG fill the frame
github-actions[bot] Jun 20, 2026
b064016
docs: refine skills design with debug-model and appendix
github-actions[bot] Jun 21, 2026
ac44feb
docs: reorder user and contributor skill rankings
github-actions[bot] Jun 21, 2026
3ab63e5
docs: remove fusedconv feature-request section
github-actions[bot] Jun 21, 2026
3dc5b4c
docs: add professional skill evaluation section
github-actions[bot] Jun 21, 2026
b736e7e
docs: move and simplify skill evaluation section
github-actions[bot] Jun 21, 2026
d9edd2e
docs: move pruning and queueing into Explorer stage
github-actions[bot] Jun 21, 2026
73b4bb5
docs: align phase-2 agent relationships with ppt flow
github-actions[bot] Jun 21, 2026
3f82473
docs: make phase-2 loop relationship explicit in autoconfig diagram
github-actions[bot] Jun 21, 2026
bdd8e29
docs: make lead role span full autoconfig lifecycle
github-actions[bot] Jun 21, 2026
c11fd26
docs: switch lifecycle lead bar to vertical orchestrator line
github-actions[bot] Jun 21, 2026
e3647d2
docs: add concise agent design html and widen orchestrator lifeline
github-actions[bot] Jun 21, 2026
75d963e
docs: restructure agent design flow to skills-style narrative
github-actions[bot] Jun 21, 2026
9a9f8bf
docs: regenerate agent design as skills-style document
github-actions[bot] Jun 21, 2026
1497501
docs: enrich agent design and align I/O with diagram
github-actions[bot] Jun 21, 2026
f1d43c3
docs: expand orchestration details and add customer evidence
github-actions[bot] Jun 21, 2026
06e1ff0
docs: sharpen winml-cli vs olive positioning
github-actions[bot] Jun 21, 2026
5683ca7
docs: revise problem focus and add key user scenarios
github-actions[bot] Jun 21, 2026
600a7ab
docs: add execution loop and scenario-driven outcomes
github-actions[bot] Jun 21, 2026
d049a9c
docs: refocus solution on loop and add role/policy sections
github-actions[bot] Jun 21, 2026
487ca02
docs: reorganize input section to match user-input strip
github-actions[bot] Jun 21, 2026
19bb6e5
docs: remove input details table
github-actions[bot] Jun 21, 2026
6e5f71b
research: revise MobileViT opset21 conclusion after clean rerun + add…
github-actions[bot] Jun 22, 2026
11f71be
research: revise npu-001 MobileViT opset21 finding in ep-findings-sum…
github-actions[bot] Jun 22, 2026
78b0ff4
research: implement self-evolution P0 features (paired A/B, adaptive …
github-actions[bot] Jun 22, 2026
aa5b6bc
research: agent-driven yolos-small sweep + harden npu-001 confirmatio…
github-actions[bot] Jun 22, 2026
dc3294c
research(autoconfig): refactor loop into explicit Explorer/Optimizer/…
github-actions[bot] Jun 23, 2026
30666eb
research: hide low-confidence EP findings, drop inaccurate perf gap, …
github-actions[bot] Jun 23, 2026
227a3a9
research(autoconfig): reorganize agent into skills/ + lib/ + tools/, …
github-actions[bot] Jun 23, 2026
b19b9eb
research(autoconfig): unify per-EP catalog sweeps into one JSON-drive…
github-actions[bot] Jun 23, 2026
0082d73
research(autoconfig): orchestrator enumerates full OFAT search grid
github-actions[bot] Jun 23, 2026
03d1cfb
research(autoconfig): add quantization precision as an OFAT axis
github-actions[bot] Jun 23, 2026
ebca7fb
research(autoconfig): prune graph passes via graph analysis
github-actions[bot] Jun 23, 2026
4c856e8
research(autoconfig): move champion config into per-model folder with…
github-actions[bot] Jun 23, 2026
c1bbc63
research: champion config is the raw winml_build_config.json
github-actions[bot] Jun 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,8 @@ lint.per-file-ignores."tests/**" = [ "ANN", "D", "PLR2004", "PT", "S101", "T20"
lint.per-file-ignores."tests/**/generate_patterns.py" = [ "PERF401" ]
# Generated opset code: Allow long lines
lint.per-file-ignores."src/winml/modelkit/analyze/onnx_opset/**" = [ "D", "E501", "N802", "N803", "N806", "TC001", "TC002", "TC003" ]
# Research scripts: POC code, not production — exempt from all style/type/security rules
lint.per-file-ignores."research/**" = [ "ANN", "D", "E", "N", "S", "T20", "UP", "W", "B", "C4", "FA", "I", "PERF", "PIE", "PT", "PTH", "RET", "RSE", "RUF", "SIM", "TCH", "TID", "TRY", "G", "ICN", "E402", "E501", "F401", "F403", "F811" ]
# === Import Conventions ===
lint.flake8-bandit.check-typed-exception = true
lint.flake8-bandit.hardcoded-tmp-directory = [ "/tmp", "/var/tmp", "C:\\Temp" ]
Expand Down
340 changes: 340 additions & 0 deletions research/autoconfig/README.md

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions research/autoconfig/catalog-cpu-sweep/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Hypothesis build artifacts (large binary files)
h*/
_tmp_config/
# Raw perf session files
full_perf_s*.json
screen_perf.json
confirm_s*.json
# Model weight files
*.data
*.onnx

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
{
"model_id": "apple/mobilevit-small",
"task": "image-classification",
"model_type": "mobilevit",
"timestamp": "2026-06-18T15:29:58",
"ep": "cpu",
"device": "cpu",
"hypotheses": {
"h0": {
"status": "OK",
"label": "baseline (opset 17, autoconf defaults)",
"opset": 17,
"extra_optim": null,
"screen_p50_ms": 66.804,
"screen_cv": 3.1693311777737856,
"full_p50s_ms": [
73.166,
72.1,
80.234
],
"median_p50_ms": 73.166,
"verdict": "BASELINE"
},
"h1": {
"status": "OK",
"label": "opset 17 explicit",
"opset": 17,
"extra_optim": null,
"screen_p50_ms": 69.007,
"screen_cv": 3.623472981001927,
"full_p50s_ms": [
87.48,
89.858,
57.036
],
"median_p50_ms": 87.48,
"gain_vs_baseline_pct": -19.56,
"verdict": "DISCARD"
},
"h2": {
"status": "OK",
"label": "opset 19 (cpu-001 risk — transformer test)",
"opset": 19,
"extra_optim": null,
"screen_p50_ms": 78.369,
"screen_cv": 3.1204047518789317,
"full_p50s_ms": [
74.505,
86.262,
79.826
],
"median_p50_ms": 79.826,
"gain_vs_baseline_pct": -9.1,
"verdict": "DISCARD"
},
"h3": {
"status": "OK",
"label": "opset 21 (cpu-001 risk — transformer test)",
"opset": 21,
"extra_optim": null,
"screen_p50_ms": 41.225,
"screen_cv": 5.67767131594906,
"full_p50s_ms": [
67.43,
84.267,
78.586
],
"median_p50_ms": 78.586,
"gain_vs_baseline_pct": -7.41,
"verdict": "DISCARD"
},
"h4": {
"status": "OK",
"label": "opset 17 + attention_fusion",
"opset": 17,
"extra_optim": {
"attention_fusion": true
},
"screen_p50_ms": 57.061,
"screen_cv": 4.881863269133033,
"full_p50s_ms": [
83.444,
70.192,
77.772
],
"median_p50_ms": 77.772,
"gain_vs_baseline_pct": -6.3,
"verdict": "DISCARD"
},
"h5": {
"status": "OK",
"label": "opset 17 + skip_layer_norm_fusion",
"opset": 17,
"extra_optim": {
"skip_layer_norm_fusion": true
},
"screen_p50_ms": 72.701,
"screen_cv": 3.3349472496939523,
"full_p50s_ms": [
80.514,
60.097,
785.991
],
"median_p50_ms": 80.514,
"gain_vs_baseline_pct": -10.04,
"verdict": "DISCARD"
},
"h6": {
"status": "OK",
"label": "opset 17 + layer_norm_fusion",
"opset": 17,
"extra_optim": {
"layer_norm_fusion": true
},
"screen_p50_ms": 759.837,
"screen_cv": 0.4795699603994014,
"full_p50s_ms": [
817.624,
803.217,
184.944
],
"median_p50_ms": 803.217,
"gain_vs_baseline_pct": -997.8,
"verdict": "DISCARD"
},
"h7": {
"status": "OK",
"label": "opset 17 + bias_softmax_fusion",
"opset": 17,
"extra_optim": {
"bias_softmax_fusion": true
},
"screen_p50_ms": 52.703,
"screen_cv": 0.4295580896723146,
"full_p50s_ms": [
60.637,
64.137,
119.521
],
"median_p50_ms": 64.137,
"gain_vs_baseline_pct": 12.34,
"verdict": "MARGINAL_UNCONFIRMED",
"confirm_p50s_ms": [
239.249,
279.325
],
"all_p50s_ms": [
60.637,
64.137,
119.521,
239.249,
279.325
],
"overall_median_p50_ms": 119.521,
"overall_gain_pct": -63.36,
"sessions_above_threshold": 2,
"total_sessions": 5
},
"h8": {
"status": "SKIPPED_CPU002",
"label": "opset 17 + matmul_add_fusion (cpu-002 guarded)",
"opset": 17,
"reason": "cpu-002: model already has Gemm — matmul_add_fusion skipped"
},
"h9": {
"status": "OK",
"label": "opset 17 + matmul_transpose_fusion",
"opset": 17,
"extra_optim": {
"matmul_transpose_fusion": true
},
"screen_p50_ms": 153.131,
"screen_cv": 1.1719312222868001,
"full_p50s_ms": [
194.194,
175.965,
203.405
],
"median_p50_ms": 194.194,
"gain_vs_baseline_pct": -165.42,
"verdict": "DISCARD"
},
"h10": {
"status": "OK",
"label": "opset 17 + attention + skip_layer_norm + layer_norm",
"opset": 17,
"extra_optim": {
"attention_fusion": true,
"skip_layer_norm_fusion": true,
"layer_norm_fusion": true
},
"screen_p50_ms": 202.155,
"screen_cv": 1.1776211322994732,
"full_p50s_ms": [
261.236,
189.739,
193.641
],
"median_p50_ms": 193.641,
"gain_vs_baseline_pct": -164.66,
"verdict": "DISCARD"
},
"h11": {
"status": "BUILD_FAIL",
"label": "opset 17 + nchwc_transformer (Conv-heavy models)",
"opset": 17,
"build_error": " device \n⏳ Optimize Optimizing ONNX graph...\n Analyzing 395 nodes (iter 1/3)\n Patterns\n Matmul Add → matmul_add_fusion\n Optimizing (applying autoconf)\n {'matmul_add_fusion': True}Error: Build failed: [Errno 28] No space left on device\n"
},
"h12": {
"status": "BUILD_FAIL",
"label": "opset 17 + transpose_optimizer",
"opset": 17,
"build_error": "pple--mobilevit-small\\h12\\export.onnx\n(21.6 MB)\n[06/18/26 16:34:49] ERROR ✗ ort_graph failed: [Errno 28] No space left on \n device \n⏳ Optimize Optimizing ONNX graph...Error: Build failed: [Errno 28] No space left on device\n"
},
"h13": {
"status": "BUILD_FAIL",
"label": "opset 17 + gelu_fusion explicit",
"opset": 17,
"build_error": "📂 Output: \nC:\\tmp\\autoconfig-demo\\catalog-cpu-sweep\\apple--mobilevit-small\\h13\n\n════════════════════════════════════════════════════════════\n🎯 Stages\n════════════════════════════════════════════════════════════\n⏳ Export Exporting to ONNX...Error: Build failed: [Errno 28] No space left on device\n"
}
},
"baseline_p50_ms": 73.166,
"best_p50_ms": 64.137,
"best_hypothesis": "h7",
"best_gain_pct": 12.34,
"errors": [
"h11: BUILD_FAIL",
"h12: BUILD_FAIL",
"h13: BUILD_FAIL"
],
"baseline_opset": 17
}
Loading
Loading