Skip to content

Raising: unroll budget for constant-bound loops - #3004

Open
wsmoses wants to merge 1 commit into
mainfrom
pb/unroll-budget
Open

Raising: unroll budget for constant-bound loops#3004
wsmoses wants to merge 1 commit into
mainfrom
pb/unroll-budget

Conversation

@wsmoses

@wsmoses wsmoses commented Aug 28, 2026

Copy link
Copy Markdown
Member

Nested constant-bound loops unroll multiplicatively: mfem's generic max-degree EA fallback kernels (runtime degree, loops bounded by MAX_D1D-style constants) reached millions of opsbilininteg_diffusion_ea.cpp produced a 2 GB object whose largest embedded module was a gigabyte of textual IR with SSA ids past 2.2M. Estimate the unrolled op count recursively and, past a 64k budget, try the while raising first even when unrolling is preferred (prefer_while_raising=false): the diffusion EA object shrinks to 78 MB, convection EA 935 MB → 30 MB, all still raising fully.

Part of #2968.

🤖 Generated with Claude Code

https://claude.ai/code/session_016zErYp7upmqr4NHfhod9UD

Nested constant-bound loops unroll multiplicatively: mfem's generic
max-degree EA fallback kernels reached millions of ops and a 2 GB
object (one embedded module was a gigabyte of text). Estimate the
unrolled op count and, past a 64k budget, try the while raising first
even when unrolling is preferred: the diffusion EA object shrinks from
2 GB to 78 MB and still raises fully.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016zErYp7upmqr4NHfhod9UD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant