Skip to content

refactor(hipsr): move shape regions to placeholders - #610

Draft
zpye wants to merge 3 commits into
mainfrom
feat/hipsr-placeholder-shape-population
Draft

refactor(hipsr): move shape regions to placeholders#610
zpye wants to merge 3 commits into
mainfrom
feat/hipsr-placeholder-shape-population

Conversation

@zpye

@zpye zpye commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Move HIPSR shape regions from compute operations to placeholders.
  • Populate placeholder shape regions from consumer-specific recipes.
  • Reconcile stale placeholder inputs after consumer canonicalization.

Testing

  • .\_local\build_local.bat incr
  • pre-commit run --all-files
  • Focused HIPSR LIT tests: 4 passed

zpye and others added 2 commits July 31, 2026 03:26
Make placeholder shape dependencies first-class and populate consumer-specific recipes in a dedicated pass. Remove obsolete shape and barrier interfaces while aligning pool-domain handling and LIT coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep placeholder shape dependencies synchronized with canonicalized DPS consumers, including stale inputs at arbitrary positions.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown

Thanks for opening a PR!

This project follows LLVM's incremental-development and AI-tool-use
guidance. See CONTRIBUTING.md
for the project workflow.

Before requesting review, please check that:

  1. The change is focused. Substantial work links the relevant issue
    or design discussion.
  2. The PR documents relevant test results and updates affected
    documentation.
  3. If AI tools provided substantial assistance, the description
    explains what was assisted and how it was validated, and commit
    trailers identify the tool. The contributor has reviewed and
    understands the result.

Reviewers are assigned through
CODEOWNERS where ownership
is configured.

@github-actions github-actions Bot added the large-pr Soft size threshold (>500 LOC or >10 files). Reviewer signal, not a block. label Jul 31, 2026
Restore Cast and MatMul ranked-result guards so unsupported unranked operations remain available to later conversions. Tighten shape-region LIT assertions to cover exact rewritten IR.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown

L2 Accuracy Results (EP vs CPU)

Model Combined L2 Total Elems Skipped NaN/Inf
conv_test_hybrid 4.8668E-07 64 0
GroupQueryAttention_seq256 25.2366 2621440 0
MatMulNBits_o_seq128 259.906 368640 0
QMoE_seq128 34.9552 368640 0

Threshold: 0.01 | Run: 3480 - Commit: ce3ad2d

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown

MorphiZen EP Performance Results

Model QPS Session (s) 1st Infer (ms) CPU% Mem (MB)
full_model_seq128 7.51 6.25 360 3 1244
GroupQueryAttention_seq128 4353.70 1.7726 11 6 311
matmul_down_seq128 525.36 2.39 73 3 352

EPContext Export Performance

Model QPS Session (s) 1st Infer (ms) CPU% Mem (MB)
full_model_seq128 7.52 45.31 357 3 15589

EPContext Import Performance

Model QPS Session (s) 1st Infer (ms) CPU% Mem (MB)
full_model_seq128 7.52 9.83 359 3 15760

OGA Benchmark Results

Model Warmup Reps Prompt Len Gen Tokens TTFT (ms) TPS Peak Mem (GB) GPU Mem (GB)
gpt-oss-20b-webgpu-int4-rtn-block-32 1 5 128 128 174.4 78.5 1.33 13.54
Llama-3.1-8B-awq-g128-int4-asym-fp16-onnx-dml 1 5 128 128 281.4 39.2 1.23 6.43

OGA Wheel Smoke (Python benchmark_e2e.py)

Model TTFT (ms) TPS
Llama-3.1-8B-awq-g128-int4-asym-fp16-onnx-dml 196 38.2

Run: 3480 - Commit: ce3ad2d

@zpye
zpye marked this pull request as draft July 31, 2026 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

large-pr Soft size threshold (>500 LOC or >10 files). Reviewer signal, not a block.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant