Date: 2026-03-10
Block: 24171384, --apc-count 10
| Phase | Wall Time |
|---|---|
| APC generation (parallel) | 57.1 min |
| {"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 |
| {"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 |
| {"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 |
| {"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 |
| { | |
| "counter": [ | |
| { | |
| "labels": [ | |
| [ | |
| "air_name", | |
| "ProgramAir" | |
| ] | |
| ], | |
| "metric": "quotient_deg", |
| { | |
| "counter": [ | |
| { | |
| "labels": [ | |
| [ | |
| "air_name", | |
| "ProgramAir" | |
| ] | |
| ], | |
| "metric": "quotient_deg", |
| 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 |