| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: constrain U32DIV outputs in the AIR (#3604) | 1 个月前 | |
feat: bound prover memory with a byte budget instead of a trace-row cap (#3706) * feat: bound prover memory with a byte budget instead of a trace-row cap The trace-row cap stopped tracking memory once the VM moved to three independently-padded AIRs: it checked max per-AIR height, ignoring width differences and real workload divergence (2^18 core vs 2^20 chiplets on bench-tx b2agg). At ~10 KiB peak prover memory per row, the 2^29 default admitted ~5 TB. Add `miden_air::memory`, which models peak prover memory from per-AIR padded heights, deriving widths, aux widths, and quotient degrees from the AIR trait impls, and blowup from `PcsParams`. Trace building enforces it in two tiers: a permissive row cap from the cheapest AIR retains the existing incremental chiplet guards, and an exact check on padded heights runs before the padded matrices are allocated, returning `ExecutionError::ProverMemoryExceeded`. The budget is configured via `ExecutionOptions::max_prover_memory_bytes` (default 64 GiB, CLI flag `--max-prover-memory`) and rides to `build_trace` on the witness, covering both buffered and overlapped proving paths. `build_trace_with_max_len` is replaced by `build_trace_with_budget`, and `TraceLenSummary` now records per-AIR padded heights for telemetry. The model covers main and aux traces at 1x plus their LDEs, the quotient accumulator, and the three LMCS digest trees; smaller/transient allocations are covered by a safety multiplier rather than modelled. It does not cover the precompile prover. Addresses #2845. * review: address comments * refactor: apply adr1anh's suggestion * fix | 1 个月前 | |
fix(processor): return error on empty OverflowTable instead of panicking (#3370) Signed-off-by: Sertug17 <104278804+Sertug17@users.noreply.github.com> Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com> | 1 个月前 | |
feat: bound prover memory with a byte budget instead of a trace-row cap (#3706) * feat: bound prover memory with a byte budget instead of a trace-row cap The trace-row cap stopped tracking memory once the VM moved to three independently-padded AIRs: it checked max per-AIR height, ignoring width differences and real workload divergence (2^18 core vs 2^20 chiplets on bench-tx b2agg). At ~10 KiB peak prover memory per row, the 2^29 default admitted ~5 TB. Add `miden_air::memory`, which models peak prover memory from per-AIR padded heights, deriving widths, aux widths, and quotient degrees from the AIR trait impls, and blowup from `PcsParams`. Trace building enforces it in two tiers: a permissive row cap from the cheapest AIR retains the existing incremental chiplet guards, and an exact check on padded heights runs before the padded matrices are allocated, returning `ExecutionError::ProverMemoryExceeded`. The budget is configured via `ExecutionOptions::max_prover_memory_bytes` (default 64 GiB, CLI flag `--max-prover-memory`) and rides to `build_trace` on the witness, covering both buffered and overlapped proving paths. `build_trace_with_max_len` is replaced by `build_trace_with_budget`, and `TraceLenSummary` now records per-AIR padded heights for telemetry. The model covers main and aux traces at 1x plus their LDEs, the quotient accumulator, and the three LMCS digest trees; smaller/transient allocations are covered by a safety multiplier rather than modelled. It does not cover the precompile prover. Addresses #2845. * review: address comments * refactor: apply adr1anh's suggestion * fix | 1 个月前 | |
feat(debug): add initial support for debugging inline calls (#3427) * fix(debug): preserve source context while stepping * fix: add changelog input * feat(debug): emit inline calls with consolidated metadata * fix(debug): retain inline chains on MAST control nodes * fix(debug): preserve inline contexts across MAST uses * fix(debug): bound inline exec source growth * fix(debug): stabilize external inline contexts * fix(debug): preserve exact inline source contexts * fix(debug): harden inline source graph handling * test(assembly): reuse named inline marker helper * fix(assembly-syntax): propagate debug types serde | 1 个月前 | |
feat: bound prover memory with a byte budget instead of a trace-row cap (#3706) * feat: bound prover memory with a byte budget instead of a trace-row cap The trace-row cap stopped tracking memory once the VM moved to three independently-padded AIRs: it checked max per-AIR height, ignoring width differences and real workload divergence (2^18 core vs 2^20 chiplets on bench-tx b2agg). At ~10 KiB peak prover memory per row, the 2^29 default admitted ~5 TB. Add `miden_air::memory`, which models peak prover memory from per-AIR padded heights, deriving widths, aux widths, and quotient degrees from the AIR trait impls, and blowup from `PcsParams`. Trace building enforces it in two tiers: a permissive row cap from the cheapest AIR retains the existing incremental chiplet guards, and an exact check on padded heights runs before the padded matrices are allocated, returning `ExecutionError::ProverMemoryExceeded`. The budget is configured via `ExecutionOptions::max_prover_memory_bytes` (default 64 GiB, CLI flag `--max-prover-memory`) and rides to `build_trace` on the witness, covering both buffered and overlapped proving paths. `build_trace_with_max_len` is replaced by `build_trace_with_budget`, and `TraceLenSummary` now records per-AIR padded heights for telemetry. The model covers main and aux traces at 1x plus their LDEs, the quotient accumulator, and the three LMCS digest trees; smaller/transient allocations are covered by a safety multiplier rather than modelled. It does not cover the precompile prover. Addresses #2845. * review: address comments * refactor: apply adr1anh's suggestion * fix | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |