Skip to content

Instantly share code, notes, and snippets.

@leonardoalt
leonardoalt / combined_metrics.json
Created April 3, 2026 17:52
Keccak benchmark metrics - OpenVM v2 CPU prover (2026-04-01)
This file has been truncated, but you can view the full file.
@leonardoalt
leonardoalt / apc_candidates_v2_selected.json
Created April 2, 2026 16:32
reth eth-block 24171384 - 100 SELECTED APCs (value-based, no density), execution frequencies from metered run
{"apcs":[{"cost_after":757.0,"cost_before":1793.0,"execution_frequency":11560,"original_blocks":[{"instructions":["ADD r5, r2, r0","ADD r7, r5, 3","ADD r6, r1, r2","ADD r8, r6, 3","LOADBU r8, [r8 + 0x2120]","STOREB [r7 + 0x2120], r8","ADD r7, r5, 2","ADD r8, r6, 2","LOADBU r8, [r8 + 0x2120]","STOREB [r7 + 0x2120], r8","ADD r7, r5, 1","ADD r8, r6, 1","LOADBU r8, [r8 + 0x2120]","STOREB [r7 + 0x2120], r8","LOADBU r6, [r6 + 0x2120]","STOREB [r5 + 0x2120], r6","SUB r2, r2, 4","JUMP_IF cond=r2, target_pc=3073140"],"start_pc":3073140}],"stats":{"after":{"bus_interactions":424,"constraints":0,"main_columns":333},"before":{"bus_interactions":1048,"constraints":0,"main_columns":745}},"value":11976160,"width_before":1793},{"cost_after":535.0,"cost_before":3573.0,"execution_frequency":16368,"original_blocks":[{"instructions":["LOADW r5, [r0 + 0x2120]","STOREW [r1 + 0x2120], r5","ADD r5, r1, 4","ADD r6, r0, 4","LOADW r6, [r6 + 0x2120]","STOREW [r5 + 0x2120], r6","ADD r5, r1, 8","ADD r6, r0, 8","LOADW r6, [r6 + 0x2120]","S
@leonardoalt
leonardoalt / apc_candidates.json
Created April 2, 2026 16:32
reth eth-block 24171384 - all 4167 APC candidates, static blocks, value-based selection (no density division), cutoff 100, 100 APCs selected
This file has been truncated, but you can view the full file.
@leonardoalt
leonardoalt / apc_candidates_local.json
Created April 2, 2026 14:29
reth eth-block 24171384 - 100 APCs with static blocks (powdr2 unconditional-superblocks-rebase-test)
{"apcs":[{"cost_after":101.0,"cost_before":435.0,"execution_frequency":3459,"original_blocks":[{"instructions":["ADD r0, r0, 1","ADD r1, r1, 1","ADD r2, r2, -1","EQ r6, r2, 0","JUMP_IF_ZERO cond=r6, target_pc=3069676"],"start_pc":3069648}],"stats":{"after":{"bus_interactions":56,"constraints":0,"main_columns":45},"before":{"bus_interactions":252,"constraints":0,"main_columns":183}},"value":1155306,"width_before":435},{"cost_after":139.0,"cost_before":563.0,"execution_frequency":12221,"original_blocks":[{"instructions":["LOADW r7, [r0 + 0x2120]","STOREW [r6 + 0x2120], r7","ADD r0, r0, 4","ADD r6, r6, 4","SUB r1, r1, 1","JUMP_IF cond=r1, target_pc=3073276"],"start_pc":3073276}],"stats":{"after":{"bus_interactions":80,"constraints":0,"main_columns":59},"before":{"bus_interactions":328,"constraints":0,"main_columns":235}},"value":5181704,"width_before":563},{"cost_after":347.0,"cost_before":1933.0,"execution_frequency":7482,"original_blocks":[{"instructions":["ADD r7, r2, r6","ADD r9, r7, 12","ADD r8, r2, r5","AD
@leonardoalt
leonardoalt / metrics_combined_1000.json
Created April 2, 2026 09:32
OpenVM metrics combined: keccak 1000 iterations — baseline (32 regs) vs extended (1024 regs)
{"metrics_baseline_1000": {"counter": [{"labels": [["air_name", "ProgramAir"]], "metric": "quotient_deg", "value": "1"}, {"labels": [["air_name", "ProgramAir"]], "metric": "constraints", "value": "4"}, {"labels": [["air_name", "ProgramAir"]], "metric": "interactions", "value": "1"}, {"labels": [["air_name", "VmConnectorAir"]], "metric": "quotient_deg", "value": "2"}, {"labels": [["air_name", "VmConnectorAir"]], "metric": "constraints", "value": "11"}, {"labels": [["air_name", "VmConnectorAir"]], "metric": "interactions", "value": "5"}, {"labels": [["air_name", "PersistentBoundaryAir<8>"]], "metric": "quotient_deg", "value": "2"}, {"labels": [["air_name", "PersistentBoundaryAir<8>"]], "metric": "constraints", "value": "7"}, {"labels": [["air_name", "PersistentBoundaryAir<8>"]], "metric": "interactions", "value": "3"}, {"labels": [["air_name", "MemoryMerkleAir<8>"]], "metric": "quotient_deg", "value": "2"}, {"labels": [["air_name", "MemoryMerkleAir<8>"]], "metric": "constraints", "value": "39"}, {"labels": [["a
@leonardoalt
leonardoalt / metrics_combined.json
Created April 2, 2026 09:22
OpenVM metrics combined: keccak 100 iterations — baseline (32 regs) vs extended (1024 regs)
{"metrics_baseline": {"counter": [{"labels": [["air_name", "ProgramAir"]], "metric": "quotient_deg", "value": "1"}, {"labels": [["air_name", "ProgramAir"]], "metric": "constraints", "value": "4"}, {"labels": [["air_name", "ProgramAir"]], "metric": "interactions", "value": "1"}, {"labels": [["air_name", "VmConnectorAir"]], "metric": "quotient_deg", "value": "2"}, {"labels": [["air_name", "VmConnectorAir"]], "metric": "constraints", "value": "11"}, {"labels": [["air_name", "VmConnectorAir"]], "metric": "interactions", "value": "5"}, {"labels": [["air_name", "PersistentBoundaryAir<8>"]], "metric": "quotient_deg", "value": "2"}, {"labels": [["air_name", "PersistentBoundaryAir<8>"]], "metric": "constraints", "value": "7"}, {"labels": [["air_name", "PersistentBoundaryAir<8>"]], "metric": "interactions", "value": "3"}, {"labels": [["air_name", "MemoryMerkleAir<8>"]], "metric": "quotient_deg", "value": "2"}, {"labels": [["air_name", "MemoryMerkleAir<8>"]], "metric": "constraints", "value": "39"}, {"labels": [["air_na
@leonardoalt
leonardoalt / metrics_extended.json
Created April 2, 2026 09:19
OpenVM metrics: keccak 100 iterations — EXTENDED (1024 registers)
{
"counter": [
{
"labels": [
[
"air_name",
"ProgramAir"
]
],
"metric": "quotient_deg",
@leonardoalt
leonardoalt / metrics_baseline.json
Created April 2, 2026 09:19
OpenVM metrics: keccak 100 iterations — BASELINE (32 registers)
{
"counter": [
{
"labels": [
[
"air_name",
"ProgramAir"
]
],
"metric": "quotient_deg",

WOMIR APC Generation Profiling Results

Date: 2026-03-10 Block: 24171384, --apc-count 10

High-Level Timing

Phase Wall Time
APC generation (parallel) 57.1 min
@leonardoalt
leonardoalt / diff-hintstore-cu.diff
Last active March 4, 2026 22:19
CUDA diffs: WOMIR HintStore vs upstream OpenVM rv32im HintStore
Diff of extensions/womir_circuit/cuda/src/hintstore.cu vs upstream extensions/rv32im/circuit/cuda/src/hintstore.cu
WOMIR-specific changes:
- WomirExecutionState (has fp) instead of ExecutionState
- fp and fp_read_aux fields in record header and columns
- Timestamp delta is 4 per row (fp_read=+0, mem_ptr_read=+1, num_words_read=+2, write=+3) instead of 3
- womir_ prefix on kernel/extern names
- Different includes (histogram.cuh, offline_checker.cuh, womir/execution.cuh)
--- /home/leo/.cargo/git/checkouts/openvm-77dd23e285a1262c/72e9013/extensions/rv32im/circuit/cuda/src/hintstore.cu 2026-03-02 19:09:24.445511386 +0100