Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Support unaligned block memory accesses #718

Merged
merged 11 commits into from
Nov 3, 2024

Conversation

zlangley
Copy link
Contributor

Replaces previous Memory data structure with a new one. The new data structure represents the partition via a BST (using BTreeMap) rather than a segment tree. The new implementation is signficantly simpler than the previous one. It also separates the partition representation from the underlying data, reducing the amount of data copying.

Closes INT-2494

@zlangley zlangley added the run-benchmark triggers benchmark workflows on the pr label Oct 29, 2024
Copy link

linear bot commented Oct 29, 2024

INT-2494 Implement new memory data structure

Needs to support indexing at arbitrary locations, not just block-aligned

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@zlangley zlangley force-pushed the feat/memory-data-structure branch from 4bc96b5 to 7ce8c8d Compare October 29, 2024 21:37

This comment has been minimized.

This comment has been minimized.

@zlangley zlangley force-pushed the feat/memory-data-structure branch from 7ce8c8d to df5659c Compare October 29, 2024 21:41

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

vm/src/system/memory/manager/memory.rs Outdated Show resolved Hide resolved
vm/src/system/memory/manager/memory.rs Show resolved Hide resolved
vm/src/system/memory/manager/memory.rs Show resolved Hide resolved
vm/src/system/memory/manager/memory.rs Outdated Show resolved Hide resolved
vm/src/system/memory/manager/memory.rs Outdated Show resolved Hide resolved
vm/src/system/memory/manager/memory.rs Outdated Show resolved Hide resolved
vm/src/system/memory/manager/memory.rs Show resolved Hide resolved
vm/src/system/memory/manager/memory.rs Show resolved Hide resolved
@zlangley zlangley force-pushed the feat/memory-data-structure branch 2 times, most recently from a781f09 to e4095e1 Compare November 1, 2024 15:35
Replaces previous Memory data structure with a new one. The new data structure
represents the partition via a BST (using BTreeMap) rather than a segment tree.
The new implementation is signficantly simpler than the previous one. It also
separates the partition representation from the underlying data, reducing the
amount of data copying.
@zlangley zlangley force-pushed the feat/memory-data-structure branch from e4095e1 to 51ea5f0 Compare November 1, 2024 16:20

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link

github-actions bot commented Nov 3, 2024

group total_cells_used total_cycles total_proof_time_ms
verify_fibair
16,992,211
427,414
(+25.0 [+0.4%])
6,225.0
Detailed Metrics
air_name cells constraints main_cols quotient_deg rows
FibonacciAir
32
5
2
1
16
stark_prove_excluding_trace_time_ms total_cells
4.0
32
group collect_metrics execute_time_ms total_cells_used total_cycles
verify_fibair true (-94.0 [-1.5%])
6,327.0
16,992,211
427,414
group chip_name collect_metrics rows_used
verify_fibair BranchEqual true
66,726
verify_fibair FieldArithmetic true
138,549
verify_fibair FieldExtension true
4,886
verify_fibair FriMatOpening true
800
verify_fibair Jal true
11,004
verify_fibair LoadStore true
191,589
verify_fibair Memory AccessAdapter<2> true
35,439
verify_fibair Memory AccessAdapter<4> true
17,721
verify_fibair Memory AccessAdapter<8> true
3,851
verify_fibair Memory Boundary true
97,478
verify_fibair Phantom true
11,747
verify_fibair Poseidon2 true
2,613
verify_fibair ProgramChip true
37,491
group collect_metrics dsl_ir opcode frequency
verify_fibair true JAL
1
verify_fibair true STOREW
2
verify_fibair true AddE FE4ADD
1,130
verify_fibair true AddEFFI LOADW
128
verify_fibair true AddEFFI STOREW
384
verify_fibair true AddEI ADD
5,664
verify_fibair true AddFI ADD
2,823
verify_fibair true AddV ADD
1,815
verify_fibair true AddVI ADD
35,364
verify_fibair true Alloc ADD
13,011
verify_fibair true Alloc LOADW
13,011
verify_fibair true Alloc MUL
8,979
verify_fibair true AssertEqE BNE
404
verify_fibair true AssertEqEI BNE
4
verify_fibair true AssertEqF BNE
4,901
verify_fibair true AssertEqV BNE
3,540
verify_fibair true AssertEqVI BNE
20
verify_fibair true CT-VerifierProgram PHANTOM
2
verify_fibair true CT-compute-reduced-opening PHANTOM
400
verify_fibair true CT-exp-reverse-bits-len PHANTOM
400
verify_fibair true CT-poseidon2-hash PHANTOM
400
verify_fibair true CT-poseidon2-hash-ext PHANTOM
800
verify_fibair true CT-poseidon2-hash-setup PHANTOM
1,200
verify_fibair true CT-single-mat-reduced-opening PHANTOM
600
verify_fibair true CT-stage-c-build-rounds PHANTOM
2
verify_fibair true CT-stage-d-1-verify-shape-and-sample-challenges PHANTOM
2
verify_fibair true CT-stage-d-2-fri-fold PHANTOM
2
verify_fibair true CT-stage-d-3-verify-challenges PHANTOM
2
verify_fibair true CT-stage-d-verify-pcs PHANTOM
2
verify_fibair true CT-stage-e-verify-constraints PHANTOM
2
verify_fibair true CT-verify-batch PHANTOM
400
verify_fibair true CT-verify-batch-ext PHANTOM
800
verify_fibair true CT-verify-batch-reduce-fast PHANTOM
1,200
verify_fibair true CT-verify-batch-reduce-fast-setup PHANTOM
1,200
verify_fibair true CT-verify-query PHANTOM
200
verify_fibair true DivE BBE4DIV
702
verify_fibair true DivEIN BBE4DIV
1
verify_fibair true DivEIN STOREW
4
verify_fibair true DivFIN DIV
3
verify_fibair true For ADD
34,031
verify_fibair true For BNE
43,114
verify_fibair true For JAL
9,083
verify_fibair true For LOADW
700
verify_fibair true For STOREW
8,383
verify_fibair true FriMatOpening FRI_FOLD
300
verify_fibair true HintBitsF PHANTOM
101
verify_fibair true HintInputVec PHANTOM
4,032
verify_fibair true IfEq BNE
722
verify_fibair true IfEqI BNE
11,289
verify_fibair true IfEqI JAL
1,913
verify_fibair true IfNe BEQ
2,129
verify_fibair true IfNe JAL
7
verify_fibair true IfNeI BEQ
603
verify_fibair true ImmE STOREW
2,008
verify_fibair true ImmF STOREW
7,036
verify_fibair true ImmV STOREW
12,751
verify_fibair true LoadE LOADW
4,836
verify_fibair true LoadE LOADW2
10,800
verify_fibair true LoadF LOADW
13,252
verify_fibair true LoadF LOADW2
2,296
verify_fibair true LoadV LOADW
8,800
verify_fibair true LoadV LOADW2
19,451
verify_fibair true MulE BBE4MUL
1,818
verify_fibair true MulEF MUL
1,608
verify_fibair true MulEI BBE4MUL
33
verify_fibair true MulEI STOREW
132
verify_fibair true MulF MUL
2,204
verify_fibair true MulFI MUL
1
verify_fibair true MulV MUL
3,131
verify_fibair true MulVI MUL
2,604
verify_fibair true Poseidon2CompressBabyBear COMP_POS2
2,000
verify_fibair true Poseidon2PermuteBabyBear PERM_POS2
613
verify_fibair true StoreE STOREW
32,012
verify_fibair true StoreE STOREW2
4,816
verify_fibair true StoreF STOREW
6,484
verify_fibair true StoreF STOREW2
3,962
verify_fibair true StoreHintWord ADD
19,708
verify_fibair true StoreHintWord SHINTW
26,871
verify_fibair true StoreV STOREW
1,462
verify_fibair true StoreV STOREW2
11,093
verify_fibair true SubE FE4SUB
1,202
verify_fibair true SubEF LOADW
915
verify_fibair true SubEF SUB
305
verify_fibair true SubEI ADD
8
verify_fibair true SubV SUB
3,101
verify_fibair true SubVI SUB
3,789
verify_fibair true SubVIN SUB
400
group air_name collect_metrics dsl_ir opcode cells_used
verify_fibair <JalNativeAdapterAir,JalCoreAir> true JAL
10
verify_fibair Boundary true JAL
11
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true STOREW
82
verify_fibair Boundary true STOREW
22
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true AddE FE4ADD
45,200
verify_fibair AccessAdapter<2> true AddE FE4ADD
24,882
verify_fibair AccessAdapter<4> true AddE FE4ADD
14,703
verify_fibair Boundary true AddE FE4ADD
792
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true AddEFFI LOADW
5,248
verify_fibair AccessAdapter<2> true AddEFFI LOADW
132
verify_fibair AccessAdapter<4> true AddEFFI LOADW
156
verify_fibair Boundary true AddEFFI LOADW
176
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true AddEFFI STOREW
15,744
verify_fibair AccessAdapter<2> true AddEFFI STOREW
132
verify_fibair Boundary true AddEFFI STOREW
528
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddEI ADD
169,920
verify_fibair AccessAdapter<2> true AddEI ADD
24,420
verify_fibair AccessAdapter<4> true AddEI ADD
14,430
verify_fibair Boundary true AddEI ADD
440
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddFI ADD
84,690
verify_fibair Boundary true AddFI ADD
242
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddV ADD
54,450
verify_fibair Boundary true AddV ADD
33
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddVI ADD
1,060,920
verify_fibair Boundary true AddVI ADD
35,486
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true Alloc ADD
390,330
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true Alloc LOADW
533,451
verify_fibair Boundary true Alloc LOADW
1,815
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true Alloc MUL
269,370
verify_fibair AccessAdapter<2> true Alloc MUL
22
verify_fibair AccessAdapter<4> true Alloc MUL
26
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqE BNE
9,292
verify_fibair AccessAdapter<2> true AssertEqE BNE
2,222
verify_fibair AccessAdapter<4> true AssertEqE BNE
1,313
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqEI BNE
92
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqF BNE
112,723
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqV BNE
81,420
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqVI BNE
460
verify_fibair PhantomAir true CT-VerifierProgram PHANTOM
12
verify_fibair PhantomAir true CT-compute-reduced-opening PHANTOM
2,400
verify_fibair PhantomAir true CT-exp-reverse-bits-len PHANTOM
2,400
verify_fibair PhantomAir true CT-poseidon2-hash PHANTOM
2,400
verify_fibair PhantomAir true CT-poseidon2-hash-ext PHANTOM
4,800
verify_fibair PhantomAir true CT-poseidon2-hash-setup PHANTOM
7,200
verify_fibair PhantomAir true CT-single-mat-reduced-opening PHANTOM
3,600
verify_fibair PhantomAir true CT-stage-c-build-rounds PHANTOM
12
verify_fibair PhantomAir true CT-stage-d-1-verify-shape-and-sample-challenges PHANTOM
12
verify_fibair PhantomAir true CT-stage-d-2-fri-fold PHANTOM
12
verify_fibair PhantomAir true CT-stage-d-3-verify-challenges PHANTOM
12
verify_fibair PhantomAir true CT-stage-d-verify-pcs PHANTOM
12
verify_fibair PhantomAir true CT-stage-e-verify-constraints PHANTOM
12
verify_fibair PhantomAir true CT-verify-batch PHANTOM
2,400
verify_fibair PhantomAir true CT-verify-batch-ext PHANTOM
4,800
verify_fibair PhantomAir true CT-verify-batch-reduce-fast PHANTOM
7,200
verify_fibair PhantomAir true CT-verify-batch-reduce-fast-setup PHANTOM
7,200
verify_fibair PhantomAir true CT-verify-query PHANTOM
1,200
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true DivE BBE4DIV
28,080
verify_fibair AccessAdapter<2> true DivE BBE4DIV
6,710
verify_fibair AccessAdapter<4> true DivE BBE4DIV
3,965
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true DivEIN BBE4DIV
40
verify_fibair AccessAdapter<2> true DivEIN BBE4DIV
22
verify_fibair AccessAdapter<4> true DivEIN BBE4DIV
13
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true DivEIN STOREW
164
verify_fibair AccessAdapter<2> true DivEIN STOREW
11
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true DivFIN DIV
90
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true For ADD
1,020,930
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true For BNE
991,622
verify_fibair <JalNativeAdapterAir,JalCoreAir> true For JAL
90,830
verify_fibair AccessAdapter<2> true For JAL
55
verify_fibair AccessAdapter<4> true For JAL
65
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true For LOADW
28,700
verify_fibair Boundary true For LOADW
1,100
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true For STOREW
343,703
verify_fibair Boundary true For STOREW
561
verify_fibair AccessAdapter<2> true FriMatOpening FRI_FOLD
4,576
verify_fibair AccessAdapter<4> true FriMatOpening FRI_FOLD
2,704
verify_fibair FriMatOpeningAir true FriMatOpening FRI_FOLD
51,200
verify_fibair PhantomAir true HintBitsF PHANTOM
606
verify_fibair PhantomAir true HintInputVec PHANTOM
24,192
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfEq BNE
16,606
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfEqI BNE
259,647
verify_fibair <JalNativeAdapterAir,JalCoreAir> true IfEqI JAL
19,130
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfNe BEQ
48,967
verify_fibair <JalNativeAdapterAir,JalCoreAir> true IfNe JAL
70
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfNeI BEQ
13,869
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmE STOREW
82,328
verify_fibair AccessAdapter<2> true ImmE STOREW
2,200
verify_fibair AccessAdapter<4> true ImmE STOREW
1,300
verify_fibair Boundary true ImmE STOREW
44
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmF STOREW
288,476
verify_fibair Boundary true ImmF STOREW
2,156
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmV STOREW
522,791
verify_fibair Boundary true ImmV STOREW
37,334
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadE LOADW
198,276
verify_fibair AccessAdapter<2> true LoadE LOADW
17,864
verify_fibair AccessAdapter<4> true LoadE LOADW
10,556
verify_fibair Boundary true LoadE LOADW
220
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadE LOADW2
442,800
verify_fibair AccessAdapter<2> true LoadE LOADW2
28,644
verify_fibair AccessAdapter<4> true LoadE LOADW2
16,926
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadF LOADW
543,332
verify_fibair AccessAdapter<2> true LoadF LOADW
26,400
verify_fibair AccessAdapter<4> true LoadF LOADW
15,600
verify_fibair AccessAdapter<8> true LoadF LOADW
10,200
verify_fibair Boundary true LoadF LOADW
330
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadF LOADW2
94,136
verify_fibair AccessAdapter<2> true LoadF LOADW2
715
verify_fibair AccessAdapter<4> true LoadF LOADW2
429
verify_fibair AccessAdapter<8> true LoadF LOADW2
323
verify_fibair Boundary true LoadF LOADW2
1,199
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadV LOADW
360,800
verify_fibair Boundary true LoadV LOADW
34,881
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadV LOADW2
797,491
verify_fibair Boundary true LoadV LOADW2
935
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true MulE BBE4MUL
72,720
verify_fibair AccessAdapter<2> true MulE BBE4MUL
28,952
verify_fibair AccessAdapter<4> true MulE BBE4MUL
17,108
verify_fibair Boundary true MulE BBE4MUL
572
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulEF MUL
48,240
verify_fibair AccessAdapter<2> true MulEF MUL
8,822
verify_fibair AccessAdapter<4> true MulEF MUL
5,213
verify_fibair Boundary true MulEF MUL
44
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true MulEI BBE4MUL
1,320
verify_fibair AccessAdapter<2> true MulEI BBE4MUL
1,892
verify_fibair AccessAdapter<4> true MulEI BBE4MUL
1,118
verify_fibair Boundary true MulEI BBE4MUL
924
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true MulEI STOREW
5,412
verify_fibair AccessAdapter<2> true MulEI STOREW
638
verify_fibair AccessAdapter<4> true MulEI STOREW
338
verify_fibair Boundary true MulEI STOREW
33
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulF MUL
66,120
verify_fibair Boundary true MulF MUL
11
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulFI MUL
30
verify_fibair Boundary true MulFI MUL
11
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulV MUL
93,930
verify_fibair Boundary true MulV MUL
34,408
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulVI MUL
78,120
verify_fibair Boundary true MulVI MUL
44
verify_fibair AccessAdapter<2> true Poseidon2CompressBabyBear COMP_POS2
88,000
verify_fibair AccessAdapter<4> true Poseidon2CompressBabyBear COMP_POS2
52,000
verify_fibair AccessAdapter<8> true Poseidon2CompressBabyBear COMP_POS2
34,000
verify_fibair Poseidon2VmAir true Poseidon2CompressBabyBear COMP_POS2
836,000
verify_fibair AccessAdapter<2> true Poseidon2PermuteBabyBear PERM_POS2
53,801
verify_fibair AccessAdapter<4> true Poseidon2PermuteBabyBear PERM_POS2
31,798
verify_fibair AccessAdapter<8> true Poseidon2PermuteBabyBear PERM_POS2
20,842
verify_fibair Poseidon2VmAir true Poseidon2PermuteBabyBear PERM_POS2
256,234
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreE STOREW
1,312,492
verify_fibair AccessAdapter<2> true StoreE STOREW
8,800
verify_fibair AccessAdapter<4> true StoreE STOREW
5,200
verify_fibair Boundary true StoreE STOREW
352,132
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreE STOREW2
197,456
verify_fibair AccessAdapter<2> true StoreE STOREW2
8,800
verify_fibair AccessAdapter<4> true StoreE STOREW2
5,200
verify_fibair Boundary true StoreE STOREW2
17,776
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreF STOREW
265,844
verify_fibair Boundary true StoreF STOREW
71,324
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreF STOREW2
162,442
verify_fibair AccessAdapter<2> true StoreF STOREW2
231
verify_fibair AccessAdapter<4> true StoreF STOREW2
143
verify_fibair AccessAdapter<8> true StoreF STOREW2
102
verify_fibair Boundary true StoreF STOREW2
35,838
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true StoreHintWord ADD
591,240
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreHintWord SHINTW
1,101,711
verify_fibair Boundary true StoreHintWord SHINTW
295,581
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreV STOREW
59,942
verify_fibair Boundary true StoreV STOREW
16,082
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreV STOREW2
454,813
verify_fibair Boundary true StoreV STOREW2
93,258
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true SubE FE4SUB
48,080
verify_fibair AccessAdapter<2> true SubE FE4SUB
44,176
verify_fibair AccessAdapter<4> true SubE FE4SUB
26,104
verify_fibair Boundary true SubE FE4SUB
220
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true SubEF LOADW
37,515
verify_fibair AccessAdapter<2> true SubEF LOADW
3,333
verify_fibair Boundary true SubEF LOADW
99
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubEF SUB
9,150
verify_fibair AccessAdapter<2> true SubEF SUB
3,333
verify_fibair AccessAdapter<4> true SubEF SUB
3,939
verify_fibair Boundary true SubEF SUB
33
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubEI ADD
240
verify_fibair AccessAdapter<2> true SubEI ADD
44
verify_fibair AccessAdapter<4> true SubEI ADD
26
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubV SUB
93,030
verify_fibair Boundary true SubV SUB
44
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubVI SUB
113,670
verify_fibair Boundary true SubVI SUB
35,519
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubVIN SUB
12,000
group air_name constraints interactions quotient_deg
verify_fibair ProgramAir
4
1
1
verify_fibair VmConnectorAir
8
3
4
verify_fibair VolatileBoundaryAir
16
4
4
verify_fibair AccessAdapterAir<2>
11
5
4
verify_fibair AccessAdapterAir<4>
11
5
4
verify_fibair AccessAdapterAir<8>
11
5
4
verify_fibair AccessAdapterAir<16>
11
5
4
verify_fibair AccessAdapterAir<32>
11
5
4
verify_fibair AccessAdapterAir<64>
11
5
4
verify_fibair PhantomAir
4
3
4
verify_fibair VmAirWrapper<NativeLoadStoreAdapterAir<1>, KernelLoadStoreCoreAir<1>
30
19
8
verify_fibair VmAirWrapper<BranchNativeAdapterAir, BranchEqualCoreAir<1>
21
11
4
verify_fibair VmAirWrapper<JalNativeAdapterAir, JalCoreAir>
6
7
8
verify_fibair VmAirWrapper<NativeAdapterAir<2, 1>, FieldArithmeticCoreAir>
22
15
8
verify_fibair VmAirWrapper<NativeVectorizedAdapterAir<4>, FieldExtensionCoreAir>
22
15
8
verify_fibair FriMatOpeningAir
53
35
4
verify_fibair Poseidon2VmAir
374
32
8
verify_fibair VariableRangeCheckerAir
4
1
1
group commit_exe_time_ms execute_and_trace_gen_time_ms execute_time_ms keygen_time_ms num_segments total_cells_used total_cycles total_proof_time_ms verify_program_compile_ms
verify_fibair (+5.0 [+12.2%])
46.0
(+55.0 [+9.4%])
643.0
(+54.0 [+10.8%])
554.0
(-2.0 [-3.1%])
62.0
1
16,992,211
427,414
(+25.0 [+0.4%])
6,225.0
45.0
group air_name segment cells main_cols perm_cols prep_cols rows
verify_fibair ProgramAir 0
1,179,648
10
8
65,536
verify_fibair VmConnectorAir 0
24
4
8
1
2
verify_fibair VolatileBoundaryAir 0
2,490,368
11
8
131,072
verify_fibair AccessAdapterAir<2> 0
1,507,328
11
12
65,536
verify_fibair AccessAdapterAir<4> 0
819,200
13
12
32,768
verify_fibair AccessAdapterAir<8> 0
237,568
17
12
8,192
verify_fibair PhantomAir 0
229,376
6
8
16,384
verify_fibair VmAirWrapper<NativeLoadStoreAdapterAir<1>, KernelLoadStoreCoreAir<1> 0
15,990,784
41
20
262,144
verify_fibair VmAirWrapper<BranchNativeAdapterAir, BranchEqualCoreAir<1> 0
5,636,096
23
20
131,072
verify_fibair VmAirWrapper<JalNativeAdapterAir, JalCoreAir> 0
360,448
10
12
16,384
verify_fibair VmAirWrapper<NativeAdapterAir<2, 1>, FieldArithmeticCoreAir> 0
12,058,624
30
16
262,144
verify_fibair VmAirWrapper<NativeVectorizedAdapterAir<4>, FieldExtensionCoreAir> 0
458,752
40
16
8,192
verify_fibair FriMatOpeningAir 0
118,784
64
52
1,024
verify_fibair Poseidon2VmAir 0
1,826,816
418
28
4,096
verify_fibair VariableRangeCheckerAir 0
1,179,648
1
8
2
131,072
group segment stark_prove_excluding_trace_time_ms total_cells
verify_fibair 0 (-30.0 [-0.5%])
5,582.0
44,093,464
Flamegraphs




Commit: a10d82e
Instance Type: 64cpu-linux-arm64
Benchmark Workflow

Copy link

github-actions bot commented Nov 3, 2024

group total_cells_used total_cycles total_proof_time_ms
bench_program_inner
341,581
42
(-23.0 [-1.5%])
1,513.0
inner_verifier (+9,930 [+0.0%])
113,347,576
(+867 [+0.0%])
2,605,367
(-1,059.0 [-3.2%])
32,504.0
Detailed Metrics
group execute_and_trace_gen_time_ms execute_time_ms stark_prove_excluding_trace_time_ms total_cells total_cells_used total_cycles total_proof_time_ms verify_program_compile_ms
bench_program_inner
19.0
17.0
(-23.0 [-1.5%])
1,494.0
1,980,240
341,581
42
(-23.0 [-1.5%])
1,513.0
inner_verifier (+222.0 [+4.7%])
4,907.0
(+193.0 [+5.0%])
4,032.0
(-1,281.0 [-4.4%])
27,597.0
256,442,392
(+9,930 [+0.0%])
113,347,576
(+867 [+0.0%])
2,605,367
(-1,059.0 [-3.2%])
32,504.0
(-450.0 [-1.0%])
43,114.0
group chip_name rows_used
bench_program_inner BitwiseOperationLookup
65,536
bench_program_inner BranchEqual
5
bench_program_inner FieldArithmetic
13
bench_program_inner FieldExtension
1
bench_program_inner Jal
2
bench_program_inner Keccak256
24
bench_program_inner LoadStore
20
bench_program_inner Memory AccessAdapter<2>
26
bench_program_inner Memory AccessAdapter<4>
13
bench_program_inner Memory AccessAdapter<8>
5
bench_program_inner Memory Boundary
65
bench_program_inner ProgramChip
37
inner_verifier BranchEqual
506,299
inner_verifier FieldArithmetic (+21 [+0.0%])
1,002,771
inner_verifier FieldExtension
69,298
inner_verifier FriMatOpening
198,114
inner_verifier Jal (+846 [+3.1%])
27,798
inner_verifier LoadStore
753,248
inner_verifier Memory AccessAdapter<2> (+48 [+0.0%])
436,907
inner_verifier Memory AccessAdapter<4> (+24 [+0.0%])
218,497
inner_verifier Memory AccessAdapter<8>
33,560
inner_verifier Memory Boundary
598,935
inner_verifier Phantom
223,666
inner_verifier Poseidon2
20,397
inner_verifier ProgramChip
202,940
group dsl_ir opcode frequency
bench_program_inner JAL
1
bench_program_inner STOREW
2
bench_program_inner AddE FE4ADD
1
bench_program_inner AddF ADD
1
bench_program_inner AddVI ADD
6
bench_program_inner Alloc ADD
2
bench_program_inner Alloc LOADW
2
bench_program_inner Alloc MUL
2
bench_program_inner For ADD
2
bench_program_inner For BNE
3
bench_program_inner For JAL
1
bench_program_inner For STOREW
1
bench_program_inner IfEqI BNE
2
bench_program_inner ImmE STOREW
8
bench_program_inner ImmF STOREW
2
bench_program_inner ImmV STOREW
3
bench_program_inner Keccak256 KECCAK256
1
bench_program_inner StoreV STOREW2
2
inner_verifier JAL
1
inner_verifier STOREW
2
inner_verifier AddE FE4ADD
31,436
inner_verifier AddEFFI LOADW
133
inner_verifier AddEFFI STOREW
399
inner_verifier AddEFI ADD
224
inner_verifier AddEI ADD
67,996
inner_verifier AddFI ADD (+21 [+0.1%])
14,054
inner_verifier AddV ADD
6,262
inner_verifier AddVI ADD
278,789
inner_verifier Alloc ADD
24,557
inner_verifier Alloc LOADW
24,557
inner_verifier Alloc MUL
14,833
inner_verifier AssertEqE BNE
140
inner_verifier AssertEqEI BNE
4
inner_verifier AssertEqF BNE
4,054
inner_verifier AssertEqV BNE
1,205
inner_verifier AssertEqVI BNE
172
inner_verifier CT-VerifierProgram PHANTOM
2
inner_verifier CT-compute-reduced-opening PHANTOM
294
inner_verifier CT-exp-reverse-bits-len PHANTOM
2,436
inner_verifier CT-poseidon2-hash PHANTOM
1,302
inner_verifier CT-poseidon2-hash-ext PHANTOM
714
inner_verifier CT-poseidon2-hash-setup PHANTOM
200,298
inner_verifier CT-single-mat-reduced-opening PHANTOM
3,780
inner_verifier CT-stage-c-build-rounds PHANTOM
2
inner_verifier CT-stage-d-1-verify-shape-and-sample-challenges PHANTOM
2
inner_verifier CT-stage-d-2-fri-fold PHANTOM
2
inner_verifier CT-stage-d-3-verify-challenges PHANTOM
2
inner_verifier CT-stage-d-verify-pcs PHANTOM
2
inner_verifier CT-stage-e-verify-constraints PHANTOM
2
inner_verifier CT-verify-batch PHANTOM
294
inner_verifier CT-verify-batch-ext PHANTOM
714
inner_verifier CT-verify-batch-reduce-fast PHANTOM
2,016
inner_verifier CT-verify-batch-reduce-fast-setup PHANTOM
2,016
inner_verifier CT-verify-query PHANTOM
42
inner_verifier DivE BBE4DIV
2,275
inner_verifier DivEIN BBE4DIV
38
inner_verifier DivEIN STOREW
152
inner_verifier DivFIN DIV
90
inner_verifier For ADD
342,241
inner_verifier For BNE
360,213
inner_verifier For JAL
17,972
inner_verifier For LOADW
1,029
inner_verifier For STOREW
16,943
inner_verifier FriMatOpening FRI_FOLD
1,890
inner_verifier HintBitsF PHANTOM
22
inner_verifier HintInputVec PHANTOM
9,724
inner_verifier IfEq BNE
7,629
inner_verifier IfEqI BNE
124,910
inner_verifier IfEqI JAL (+846 [+9.4%])
9,805
inner_verifier IfNe BEQ
6,893
inner_verifier IfNe JAL
20
inner_verifier IfNeI BEQ
1,079
inner_verifier ImmE STOREW
12,496
inner_verifier ImmF STOREW
15,915
inner_verifier ImmV STOREW
22,284
inner_verifier LoadE LOADW
42,144
inner_verifier LoadE LOADW2
24,500
inner_verifier LoadF LOADW
11,474
inner_verifier LoadF LOADW2
107,203
inner_verifier LoadV LOADW
11,869
inner_verifier LoadV LOADW2
71,878
inner_verifier MulE BBE4MUL
18,978
inner_verifier MulEF MUL
1,732
inner_verifier MulEFI MUL
1,408
inner_verifier MulEI BBE4MUL
2,726
inner_verifier MulEI STOREW
10,904
inner_verifier MulF MUL
25,244
inner_verifier MulFI MUL
14
inner_verifier MulV MUL
682
inner_verifier MulVI MUL
8,463
inner_verifier NegE MUL
208
inner_verifier Poseidon2CompressBabyBear COMP_POS2
7,287
inner_verifier Poseidon2PermuteBabyBear PERM_POS2
13,110
inner_verifier StoreE STOREW
11,268
inner_verifier StoreE STOREW2
12,668
inner_verifier StoreF STOREW
13,388
inner_verifier StoreF STOREW2
103,775
inner_verifier StoreHintWord ADD
195,048
inner_verifier StoreHintWord SHINTW
205,454
inner_verifier StoreV STOREW
1,426
inner_verifier StoreV STOREW2
25,621
inner_verifier SubE FE4SUB
13,845
inner_verifier SubEF LOADW
5,766
inner_verifier SubEF SUB
1,922
inner_verifier SubEFI ADD
1,224
inner_verifier SubEI ADD
304
inner_verifier SubV SUB
15,848
inner_verifier SubVI SUB
1,271
inner_verifier SubVIN SUB
357
group air_name dsl_ir opcode cells_used
bench_program_inner <JalNativeAdapterAir,JalCoreAir> JAL
10
bench_program_inner Boundary JAL
11
bench_program_inner <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> STOREW
82
bench_program_inner Boundary STOREW
22
bench_program_inner <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> AddE FE4ADD
40
bench_program_inner AccessAdapter<2> AddE FE4ADD
66
bench_program_inner AccessAdapter<4> AddE FE4ADD
39
bench_program_inner Boundary AddE FE4ADD
44
bench_program_inner <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> AddF ADD
30
bench_program_inner Boundary AddF ADD
11
bench_program_inner <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> AddVI ADD
180
bench_program_inner Boundary AddVI ADD
22
bench_program_inner <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> Alloc ADD
60
bench_program_inner <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> Alloc LOADW
82
bench_program_inner Boundary Alloc LOADW
22
bench_program_inner <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> Alloc MUL
60
bench_program_inner <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> For ADD
60
bench_program_inner <BranchNativeAdapterAir,BranchEqualCoreAir<1>> For BNE
69
bench_program_inner <JalNativeAdapterAir,JalCoreAir> For JAL
10
bench_program_inner <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> For STOREW
41
bench_program_inner Boundary For STOREW
11
bench_program_inner <BranchNativeAdapterAir,BranchEqualCoreAir<1>> IfEqI BNE
46
bench_program_inner <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> ImmE STOREW
328
bench_program_inner Boundary ImmE STOREW
88
bench_program_inner <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> ImmF STOREW
82
bench_program_inner Boundary ImmF STOREW
22
bench_program_inner <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> ImmV STOREW
123
bench_program_inner Boundary ImmV STOREW
22
bench_program_inner AccessAdapter<2> Keccak256 KECCAK256
220
bench_program_inner AccessAdapter<4> Keccak256 KECCAK256
130
bench_program_inner AccessAdapter<8> Keccak256 KECCAK256
85
bench_program_inner Boundary Keccak256 KECCAK256
418
bench_program_inner KeccakVmAir Keccak256 KECCAK256
76,752
bench_program_inner <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreV STOREW2
82
bench_program_inner Boundary StoreV STOREW2
22
inner_verifier <JalNativeAdapterAir,JalCoreAir> JAL
10
inner_verifier Boundary JAL
11
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> STOREW
82
inner_verifier Boundary STOREW
22
inner_verifier <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> AddE FE4ADD
1,257,440
inner_verifier AccessAdapter<2> AddE FE4ADD
1,116,368
inner_verifier AccessAdapter<4> AddE FE4ADD
659,672
inner_verifier Boundary AddE FE4ADD
1,200,540
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> AddEFFI LOADW
5,453
inner_verifier AccessAdapter<2> AddEFFI LOADW
946
inner_verifier AccessAdapter<4> AddEFFI LOADW
1,118
inner_verifier Boundary AddEFFI LOADW
264
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> AddEFFI STOREW
16,359
inner_verifier AccessAdapter<2> AddEFFI STOREW
946
inner_verifier Boundary AddEFFI STOREW
792
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> AddEFI ADD
6,720
inner_verifier AccessAdapter<2> AddEFI ADD
858
inner_verifier AccessAdapter<4> AddEFI ADD
507
inner_verifier Boundary AddEFI ADD
1,232
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> AddEI ADD
2,039,880
inner_verifier AccessAdapter<2> AddEI ADD (+264 [+0.1%])
381,678
inner_verifier AccessAdapter<4> AddEI ADD (+156 [+0.1%])
225,537
inner_verifier Boundary AddEI ADD
660,220
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> AddFI ADD (+630 [+0.1%])
421,620
inner_verifier Boundary AddFI ADD
264
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> AddV ADD
187,860
inner_verifier Boundary AddV ADD
22
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> AddVI ADD
8,363,670
inner_verifier Boundary AddVI ADD
8,668
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> Alloc ADD
736,710
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> Alloc LOADW
1,006,837
inner_verifier Boundary Alloc LOADW
946
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> Alloc MUL
444,990
inner_verifier AccessAdapter<2> Alloc MUL
22
inner_verifier AccessAdapter<4> Alloc MUL
26
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> AssertEqE BNE
3,220
inner_verifier AccessAdapter<2> AssertEqE BNE
770
inner_verifier AccessAdapter<4> AssertEqE BNE
455
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> AssertEqEI BNE
92
inner_verifier AccessAdapter<2> AssertEqEI BNE
22
inner_verifier AccessAdapter<4> AssertEqEI BNE
13
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> AssertEqF BNE
93,242
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> AssertEqV BNE
27,715
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> AssertEqVI BNE
3,956
inner_verifier PhantomAir CT-VerifierProgram PHANTOM
12
inner_verifier PhantomAir CT-compute-reduced-opening PHANTOM
1,764
inner_verifier PhantomAir CT-exp-reverse-bits-len PHANTOM
14,616
inner_verifier PhantomAir CT-poseidon2-hash PHANTOM
7,812
inner_verifier PhantomAir CT-poseidon2-hash-ext PHANTOM
4,284
inner_verifier PhantomAir CT-poseidon2-hash-setup PHANTOM
1,201,788
inner_verifier PhantomAir CT-single-mat-reduced-opening PHANTOM
22,680
inner_verifier PhantomAir CT-stage-c-build-rounds PHANTOM
12
inner_verifier PhantomAir CT-stage-d-1-verify-shape-and-sample-challenges PHANTOM
12
inner_verifier PhantomAir CT-stage-d-2-fri-fold PHANTOM
12
inner_verifier PhantomAir CT-stage-d-3-verify-challenges PHANTOM
12
inner_verifier PhantomAir CT-stage-d-verify-pcs PHANTOM
12
inner_verifier PhantomAir CT-stage-e-verify-constraints PHANTOM
12
inner_verifier PhantomAir CT-verify-batch PHANTOM
1,764
inner_verifier PhantomAir CT-verify-batch-ext PHANTOM
4,284
inner_verifier PhantomAir CT-verify-batch-reduce-fast PHANTOM
12,096
inner_verifier PhantomAir CT-verify-batch-reduce-fast-setup PHANTOM
12,096
inner_verifier PhantomAir CT-verify-query PHANTOM
252
inner_verifier <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> DivE BBE4DIV
91,000
inner_verifier AccessAdapter<2> DivE BBE4DIV
42,526
inner_verifier AccessAdapter<4> DivE BBE4DIV
25,129
inner_verifier <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> DivEIN BBE4DIV
1,520
inner_verifier AccessAdapter<2> DivEIN BBE4DIV
1,584
inner_verifier AccessAdapter<4> DivEIN BBE4DIV
936
inner_verifier Boundary DivEIN BBE4DIV
396
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> DivEIN STOREW
6,232
inner_verifier AccessAdapter<2> DivEIN STOREW
550
inner_verifier AccessAdapter<4> DivEIN STOREW
156
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> DivFIN DIV
2,700
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> For ADD
10,267,230
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> For BNE
8,284,899
inner_verifier <JalNativeAdapterAir,JalCoreAir> For JAL
179,720
inner_verifier AccessAdapter<2> For JAL
484
inner_verifier AccessAdapter<4> For JAL
572
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> For LOADW
42,189
inner_verifier Boundary For LOADW
231
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> For STOREW
694,663
inner_verifier Boundary For STOREW
583
inner_verifier AccessAdapter<2> FriMatOpening FRI_FOLD
234,344
inner_verifier AccessAdapter<4> FriMatOpening FRI_FOLD
138,476
inner_verifier FriMatOpeningAir FriMatOpening FRI_FOLD
12,679,296
inner_verifier PhantomAir HintBitsF PHANTOM
132
inner_verifier PhantomAir HintInputVec PHANTOM
58,344
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> IfEq BNE
175,467
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> IfEqI BNE
2,872,930
inner_verifier <JalNativeAdapterAir,JalCoreAir> IfEqI JAL (+8,460 [+9.4%])
98,050
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> IfNe BEQ
158,539
inner_verifier <JalNativeAdapterAir,JalCoreAir> IfNe JAL
200
inner_verifier <BranchNativeAdapterAir,BranchEqualCoreAir<1>> IfNeI BEQ
24,817
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> ImmE STOREW
512,336
inner_verifier AccessAdapter<2> ImmE STOREW
3,806
inner_verifier AccessAdapter<4> ImmE STOREW
2,249
inner_verifier Boundary ImmE STOREW
124,168
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> ImmF STOREW
652,515
inner_verifier Boundary ImmF STOREW
1,353
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> ImmV STOREW
913,644
inner_verifier Boundary ImmV STOREW
8,701
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> LoadE LOADW
1,727,904
inner_verifier AccessAdapter<2> LoadE LOADW
265,804
inner_verifier AccessAdapter<4> LoadE LOADW
157,066
inner_verifier Boundary LoadE LOADW
309,760
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> LoadE LOADW2
1,004,500
inner_verifier AccessAdapter<2> LoadE LOADW2
24,068
inner_verifier AccessAdapter<4> LoadE LOADW2
14,222
inner_verifier Boundary LoadE LOADW2
44
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> LoadF LOADW
470,434
inner_verifier AccessAdapter<2> LoadF LOADW
22,176
inner_verifier AccessAdapter<4> LoadF LOADW
13,104
inner_verifier AccessAdapter<8> LoadF LOADW
8,568
inner_verifier Boundary LoadF LOADW
286
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> LoadF LOADW2
4,395,323
inner_verifier AccessAdapter<2> LoadF LOADW2
605
inner_verifier AccessAdapter<4> LoadF LOADW2
364
inner_verifier AccessAdapter<8> LoadF LOADW2
391
inner_verifier Boundary LoadF LOADW2
286
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> LoadV LOADW
486,629
inner_verifier Boundary LoadV LOADW
7,975
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> LoadV LOADW2
2,946,998
inner_verifier Boundary LoadV LOADW2
935
inner_verifier <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> MulE BBE4MUL
759,120
inner_verifier AccessAdapter<2> MulE BBE4MUL (+264 [+0.1%])
469,216
inner_verifier AccessAdapter<4> MulE BBE4MUL (+156 [+0.1%])
277,264
inner_verifier Boundary MulE BBE4MUL
698,060
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> MulEF MUL
51,960
inner_verifier AccessAdapter<2> MulEF MUL
8,514
inner_verifier AccessAdapter<4> MulEF MUL
5,031
inner_verifier Boundary MulEF MUL
704
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> MulEFI MUL
42,240
inner_verifier AccessAdapter<2> MulEFI MUL
1,782
inner_verifier AccessAdapter<4> MulEFI MUL
1,053
inner_verifier Boundary MulEFI MUL
13,640
inner_verifier <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> MulEI BBE4MUL
109,040
inner_verifier AccessAdapter<2> MulEI BBE4MUL
162,404
inner_verifier AccessAdapter<4> MulEI BBE4MUL
95,966
inner_verifier Boundary MulEI BBE4MUL
87,252
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> MulEI STOREW
447,064
inner_verifier AccessAdapter<2> MulEI STOREW
59,730
inner_verifier AccessAdapter<4> MulEI STOREW
35,165
inner_verifier Boundary MulEI STOREW
33
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> MulF MUL
757,320
inner_verifier Boundary MulF MUL
11
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> MulFI MUL
420
inner_verifier Boundary MulFI MUL
11
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> MulV MUL
20,460
inner_verifier Boundary MulV MUL
7,469
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> MulVI MUL
253,890
inner_verifier Boundary MulVI MUL
77
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> NegE MUL
6,240
inner_verifier AccessAdapter<2> NegE MUL
1,320
inner_verifier AccessAdapter<4> NegE MUL
780
inner_verifier Boundary NegE MUL
1,408
inner_verifier AccessAdapter<2> Poseidon2CompressBabyBear COMP_POS2
298,452
inner_verifier AccessAdapter<4> Poseidon2CompressBabyBear COMP_POS2
176,358
inner_verifier AccessAdapter<8> Poseidon2CompressBabyBear COMP_POS2
115,311
inner_verifier Poseidon2VmAir Poseidon2CompressBabyBear COMP_POS2
3,045,966
inner_verifier AccessAdapter<2> Poseidon2PermuteBabyBear PERM_POS2
617,309
inner_verifier AccessAdapter<4> Poseidon2PermuteBabyBear PERM_POS2
365,053
inner_verifier AccessAdapter<8> Poseidon2PermuteBabyBear PERM_POS2
240,465
inner_verifier Poseidon2VmAir Poseidon2PermuteBabyBear PERM_POS2
5,479,980
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreE STOREW
461,988
inner_verifier AccessAdapter<2> StoreE STOREW
7,898
inner_verifier AccessAdapter<4> StoreE STOREW
4,667
inner_verifier Boundary StoreE STOREW
123,948
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreE STOREW2
519,388
inner_verifier AccessAdapter<2> StoreE STOREW2
53,592
inner_verifier AccessAdapter<4> StoreE STOREW2
31,668
inner_verifier Boundary StoreE STOREW2
16,456
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreF STOREW
548,908
inner_verifier Boundary StoreF STOREW
147,268
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreF STOREW2
4,254,775
inner_verifier AccessAdapter<2> StoreF STOREW2
527,945
inner_verifier AccessAdapter<4> StoreF STOREW2
312,247
inner_verifier AccessAdapter<8> StoreF STOREW2
205,785
inner_verifier Boundary StoreF STOREW2
34,320
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> StoreHintWord ADD
5,851,440
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreHintWord SHINTW
8,423,614
inner_verifier Boundary StoreHintWord SHINTW
2,259,994
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreV STOREW
58,466
inner_verifier Boundary StoreV STOREW
15,686
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> StoreV STOREW2
1,050,461
inner_verifier Boundary StoreV STOREW2
279,356
inner_verifier <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> SubE FE4SUB
553,800
inner_verifier AccessAdapter<2> SubE FE4SUB
455,048
inner_verifier AccessAdapter<4> SubE FE4SUB
268,892
inner_verifier Boundary SubE FE4SUB
554,180
inner_verifier <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> SubEF LOADW
236,406
inner_verifier AccessAdapter<2> SubEF LOADW
21,131
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> SubEF SUB
57,660
inner_verifier AccessAdapter<2> SubEF SUB
21,131
inner_verifier AccessAdapter<4> SubEF SUB
24,973
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> SubEFI ADD
36,720
inner_verifier AccessAdapter<2> SubEFI ADD
572
inner_verifier AccessAdapter<4> SubEFI ADD
338
inner_verifier Boundary SubEFI ADD
12,232
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> SubEI ADD
9,120
inner_verifier AccessAdapter<2> SubEI ADD
2,376
inner_verifier AccessAdapter<4> SubEI ADD
1,404
inner_verifier Boundary SubEI ADD
704
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> SubV SUB
475,440
inner_verifier Boundary SubV SUB
44
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> SubVI SUB
38,130
inner_verifier Boundary SubVI SUB
7,733
inner_verifier <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> SubVIN SUB
10,710
group air_name cells constraints interactions main_cols perm_cols prep_cols quotient_deg rows
bench_program_inner ProgramAir
1,152
4
1
10
8
1
64
bench_program_inner VmConnectorAir
32
9
3
4
12
1
2
2
bench_program_inner VolatileBoundaryAir
2,944
17
4
11
12
2
128
bench_program_inner AccessAdapterAir<2>
2,240
14
5
11
24
2
64
bench_program_inner AccessAdapterAir<4>
1,184
14
5
13
24
2
32
bench_program_inner AccessAdapterAir<8>
656
14
5
17
24
2
16
bench_program_inner VmAirWrapper<NativeLoadStoreAdapterAir<1>, KernelLoadStoreCoreAir<1>
2,720
36
19
41
44
2
32
bench_program_inner VmAirWrapper<BranchNativeAdapterAir, BranchEqualCoreAir<1>
568
28
11
23
48
2
8
bench_program_inner VmAirWrapper<JalNativeAdapterAir, JalCoreAir>
60
8
7
10
20
2
2
bench_program_inner VmAirWrapper<NativeAdapterAir<2, 1>, FieldArithmeticCoreAir>
1,056
27
15
30
36
2
16
bench_program_inner VmAirWrapper<NativeVectorizedAdapterAir<4>, FieldExtensionCoreAir>
76
27
15
40
36
2
1
bench_program_inner KeccakVmAir
132,544
2,251
235
3,198
944
2
32
bench_program_inner BitwiseOperationLookupAir<8>
655,360
4
2
2
8
3
2
65,536
bench_program_inner VariableRangeCheckerAir
1,179,648
4
1
1
8
2
1
131,072
inner_verifier ProgramAir
4,718,592
4
1
10
8
1
262,144
inner_verifier VmConnectorAir
24
8
3
4
8
1
4
2
inner_verifier VolatileBoundaryAir
19,922,944
16
4
11
8
4
1,048,576
inner_verifier AccessAdapterAir<2>
24,117,248
11
5
11
12
4
1,048,576
inner_verifier AccessAdapterAir<4>
13,107,200
11
5
13
12
4
524,288
inner_verifier AccessAdapterAir<8>
1,900,544
11
5
17
12
4
65,536
inner_verifier PhantomAir
3,670,016
4
3
6
8
4
262,144
inner_verifier VmAirWrapper<NativeLoadStoreAdapterAir<1>, KernelLoadStoreCoreAir<1>
63,963,136
30
19
41
20
8
1,048,576
inner_verifier VmAirWrapper<BranchNativeAdapterAir, BranchEqualCoreAir<1>
22,544,384
21
11
23
20
4
524,288
inner_verifier VmAirWrapper<JalNativeAdapterAir, JalCoreAir>
720,896
6
7
10
12
8
32,768
inner_verifier VmAirWrapper<NativeAdapterAir<2, 1>, FieldArithmeticCoreAir>
48,234,496
22
15
30
16
8
1,048,576
inner_verifier VmAirWrapper<NativeVectorizedAdapterAir<4>, FieldExtensionCoreAir>
7,340,032
22
15
40
16
8
131,072
inner_verifier FriMatOpeningAir
30,408,704
53
35
64
52
4
262,144
inner_verifier Poseidon2VmAir
14,614,528
374
32
418
28
8
32,768
inner_verifier VariableRangeCheckerAir
1,179,648
4
1
1
8
2
1
131,072
Flamegraphs








Commit: a10d82e
Instance Type: 64cpu-linux-arm64
Benchmark Workflow

Copy link
Contributor

@jonathanpwang jonathanpwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The BTreeMap usage could probably be optimized with more iterator usage, however I added a criterion benchmark with flamegraph of fibonacci runtime, and the flamegraph now indicates memory access does not dominate the execution, so there is no need to overoptimize this.

Copy link

github-actions bot commented Nov 3, 2024

group total_cells_used total_cycles total_proof_time_ms
fibonacci_program
51,294,519
1,500,033
(-615.0 [-7.0%])
8,123.0
leaf_aggregation (+43,970 [+0.0%])
279,877,112
(+3,695 [+0.1%])
7,146,957
(+764.0 [+0.8%])
100,019.0
Detailed Metrics
group collect_metrics execute_time_ms total_cells_used total_cycles
fibonacci_program true (-740.0 [-2.0%])
36,430.0
51,294,519
1,500,033
group chip_name collect_metrics rows_used
fibonacci_program AuipcRv32 true
4
fibonacci_program BaseAluRv32 true
900,015
fibonacci_program BitwiseOperationLookup true
65,536
fibonacci_program BranchEqualRv32 true
200,001
fibonacci_program JalLuiRv32 true
100,002
fibonacci_program JalrRv32 true
3
fibonacci_program LessThanRv32 true
300,000
fibonacci_program LoadStoreRv32 true
8
fibonacci_program Memory AccessAdapter<8> true
11
fibonacci_program Memory Boundary true
22
fibonacci_program Memory Merkle true
196
fibonacci_program ProgramChip true
90
fibonacci_program RangeTupleChecker true
524,288
group collect_metrics dsl_ir opcode frequency
fibonacci_program true ADD
900,014
fibonacci_program true AUIPC
4
fibonacci_program true BEQ
100,001
fibonacci_program true BNE
100,000
fibonacci_program true JAL
100,001
fibonacci_program true JALR
3
fibonacci_program true LOADW
3
fibonacci_program true LUI
1
fibonacci_program true OR
1
fibonacci_program true SLTU
300,000
fibonacci_program true STOREW
5
group air_name collect_metrics dsl_ir opcode cells_used
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true ADD
32,400,504
fibonacci_program AccessAdapter<8> true ADD
51
fibonacci_program Boundary true ADD
120
fibonacci_program Merkle true ADD
64
fibonacci_program <Rv32RdWriteAdapterAir,Rv32AuipcCoreAir> true AUIPC
84
fibonacci_program AccessAdapter<8> true AUIPC
34
fibonacci_program Boundary true AUIPC
80
fibonacci_program Merkle true AUIPC
3,456
fibonacci_program <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true BEQ
2,600,026
fibonacci_program <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true BNE
2,600,000
fibonacci_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true JAL
1,800,018
fibonacci_program <Rv32JalrAdapterAir,Rv32JalrCoreAir> true JALR
84
fibonacci_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADW
120
fibonacci_program AccessAdapter<8> true LOADW
17
fibonacci_program Boundary true LOADW
40
fibonacci_program Merkle true LOADW
1,664
fibonacci_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true LUI
18
fibonacci_program AccessAdapter<8> true LUI
17
fibonacci_program Boundary true LUI
40
fibonacci_program Merkle true LUI
128
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true OR
36
fibonacci_program AccessAdapter<8> true OR
17
fibonacci_program Boundary true OR
40
fibonacci_program Merkle true OR
64
fibonacci_program <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true SLTU
11,100,000
fibonacci_program AccessAdapter<8> true SLTU
17
fibonacci_program Boundary true SLTU
40
fibonacci_program Merkle true SLTU
192
fibonacci_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREW
200
fibonacci_program AccessAdapter<8> true STOREW
34
fibonacci_program Boundary true STOREW
80
fibonacci_program Merkle true STOREW
640
group air_name constraints interactions quotient_deg
fibonacci_program ProgramAir
4
1
1
fibonacci_program VmConnectorAir
9
3
2
fibonacci_program PersistentBoundaryAir<8>
6
3
2
fibonacci_program MemoryMerkleAir<8>
40
4
2
fibonacci_program AccessAdapterAir<2>
14
5
2
fibonacci_program AccessAdapterAir<4>
14
5
2
fibonacci_program AccessAdapterAir<8>
14
5
2
fibonacci_program AccessAdapterAir<16>
14
5
2
fibonacci_program AccessAdapterAir<32>
14
5
2
fibonacci_program AccessAdapterAir<64>
14
5
2
fibonacci_program PhantomAir
5
3
2
fibonacci_program VmAirWrapper<Rv32BaseAluAdapterAir, BaseAluCoreAir<4, 8>
43
19
2
fibonacci_program VmAirWrapper<Rv32BaseAluAdapterAir, LessThanCoreAir<4, 8>
39
17
2
fibonacci_program VmAirWrapper<Rv32MultAdapterAir, MultiplicationCoreAir<4, 8>
26
19
2
fibonacci_program VmAirWrapper<Rv32MultAdapterAir, MulHCoreAir<4, 8>
38
24
2
fibonacci_program VmAirWrapper<Rv32MultAdapterAir, DivRemCoreAir<4, 8>
88
25
2
fibonacci_program VmAirWrapper<Rv32BaseAluAdapterAir, ShiftCoreAir<4, 8>
90
23
2
fibonacci_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadStoreCoreAir<4>
38
17
2
fibonacci_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadSignExtendCoreAir<4, 8>
33
18
2
fibonacci_program VmAirWrapper<Rv32HintStoreAdapterAir, Rv32HintStoreCoreAir>
17
15
2
fibonacci_program VmAirWrapper<Rv32BranchAdapterAir, BranchEqualCoreAir<4>
25
11
2
fibonacci_program VmAirWrapper<Rv32BranchAdapterAir, BranchLessThanCoreAir<4, 8>
41
13
2
fibonacci_program VmAirWrapper<Rv32CondRdWriteAdapterAir, Rv32JalLuiCoreAir>
22
10
2
fibonacci_program VmAirWrapper<Rv32JalrAdapterAir, Rv32JalrCoreAir>
20
16
2
fibonacci_program VmAirWrapper<Rv32RdWriteAdapterAir, Rv32AuipcCoreAir>
15
11
2
fibonacci_program Poseidon2VmAir
525
32
2
fibonacci_program BitwiseOperationLookupAir<8>
4
2
2
fibonacci_program RangeTupleCheckerAir<2>
4
1
1
fibonacci_program VariableRangeCheckerAir
4
1
1
group commit_exe_time_ms execute_and_trace_gen_time_ms execute_time_ms keygen_time_ms num_segments total_cells_used total_cycles total_proof_time_ms
fibonacci_program
0.0
(-544.0 [-24.9%])
1,641.0
(-538.0 [-27.9%])
1,387.0
(+3.0 [+2.3%])
133.0
1
51,294,519
1,500,033
(-615.0 [-7.0%])
8,123.0
leaf_aggregation (+43,970 [+0.0%])
279,877,112
(+3,695 [+0.1%])
7,146,957
(+764.0 [+0.8%])
100,019.0
group air_name segment cells constraints interactions main_cols perm_cols prep_cols quotient_deg rows
fibonacci_program ProgramAir 0
2,304
10
8
128
fibonacci_program VmConnectorAir 0
32
4
12
1
2
fibonacci_program PersistentBoundaryAir<8> 0
1,024
20
12
32
fibonacci_program MemoryMerkleAir<8> 0
13,312
32
20
256
fibonacci_program AccessAdapterAir<8> 0
1,312
17
24
32
fibonacci_program PhantomAir 0
18
6
12
1
fibonacci_program VmAirWrapper<Rv32BaseAluAdapterAir, BaseAluCoreAir<4, 8> 0
121,634,816
36
80
1,048,576
fibonacci_program VmAirWrapper<Rv32BaseAluAdapterAir, LessThanCoreAir<4, 8> 0
40,370,176
37
40
524,288
fibonacci_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadStoreCoreAir<4> 0
896
40
72
8
fibonacci_program VmAirWrapper<Rv32BranchAdapterAir, BranchEqualCoreAir<4> 0
19,398,656
26
48
262,144
fibonacci_program VmAirWrapper<Rv32CondRdWriteAdapterAir, Rv32JalLuiCoreAir> 0
8,126,464
18
44
131,072
fibonacci_program VmAirWrapper<Rv32JalrAdapterAir, Rv32JalrCoreAir> 0
256
28
36
4
fibonacci_program VmAirWrapper<Rv32RdWriteAdapterAir, Rv32AuipcCoreAir> 0
196
21
28
4
fibonacci_program Poseidon2VmAir 0
160,512
559
68
256
fibonacci_program BitwiseOperationLookupAir<8> 0
655,360
2
8
3
65,536
fibonacci_program RangeTupleCheckerAir<2> 0
4,718,592
1
8
2
524,288
fibonacci_program VariableRangeCheckerAir 0
1,179,648
1
8
2
131,072
leaf_aggregation ProgramAir 0
2,359,296
4
1
10
8
1
131,072
leaf_aggregation VmConnectorAir 0
24
8
3
4
8
1
4
2
leaf_aggregation VolatileBoundaryAir 0
19,922,944
16
4
11
8
4
1,048,576
leaf_aggregation AccessAdapterAir<2> 0
24,117,248
11
5
11
12
4
1,048,576
leaf_aggregation AccessAdapterAir<4> 0
13,107,200
11
5
13
12
4
524,288
leaf_aggregation AccessAdapterAir<8> 0
3,801,088
11
5
17
12
4
131,072
leaf_aggregation AccessAdapterAir<16> 0
11
5
4
leaf_aggregation AccessAdapterAir<32> 0
11
5
4
leaf_aggregation AccessAdapterAir<64> 0
11
5
4
leaf_aggregation PhantomAir 0
7,340,032
4
3
6
8
4
524,288
leaf_aggregation VmAirWrapper<NativeLoadStoreAdapterAir<1>, KernelLoadStoreCoreAir<1> 0
255,852,544
30
19
41
20
8
4,194,304
leaf_aggregation VmAirWrapper<BranchNativeAdapterAir, BranchEqualCoreAir<1> 0
90,177,536
21
11
23
20
4
2,097,152
leaf_aggregation VmAirWrapper<JalNativeAdapterAir, JalCoreAir> 0
5,767,168
6
7
10
12
8
262,144
leaf_aggregation VmAirWrapper<NativeAdapterAir<2, 1>, FieldArithmeticCoreAir> 0
192,937,984
22
15
30
16
8
4,194,304
leaf_aggregation VmAirWrapper<NativeVectorizedAdapterAir<4>, FieldExtensionCoreAir> 0
3,670,016
22
15
40
16
8
65,536
leaf_aggregation FriMatOpeningAir 0
60,817,408
53
35
64
52
4
524,288
leaf_aggregation Poseidon2VmAir 0
29,229,056
374
32
418
28
8
65,536
leaf_aggregation VariableRangeCheckerAir 0
1,179,648
4
1
1
8
2
1
131,072
group segment commit_exe_time_ms execute_and_trace_gen_time_ms execute_time_ms keygen_time_ms num_segments stark_prove_excluding_trace_time_ms total_cells verify_program_compile_ms
fibonacci_program 0 (-71.0 [-1.1%])
6,482.0
196,263,574
leaf_aggregation 0 (+3.0 [+3.7%])
85.0
(+1,280.0 [+12.7%])
11,348.0
(+1,325.0 [+15.5%])
9,850.0
(+1.0 [+1.7%])
59.0
1
(-516.0 [-0.6%])
88,671.0
710,279,192
(-6.0 [-2.2%])
266.0
group collect_metrics segment execute_time_ms total_cells_used total_cycles
leaf_aggregation true 0 (+397.0 [+0.4%])
109,042.0
(+43,970 [+0.0%])
279,877,112
(+3,695 [+0.1%])
7,146,957
group chip_name collect_metrics segment rows_used
leaf_aggregation BranchEqual true 0
1,371,308
leaf_aggregation FieldArithmetic true 0 (+85 [+0.0%])
2,724,433
leaf_aggregation FieldExtension true 0
54,874
leaf_aggregation FriMatOpening true 0
291,200
leaf_aggregation Jal true 0 (+3,610 [+2.4%])
155,092
leaf_aggregation LoadStore true 0
2,338,419
leaf_aggregation Memory AccessAdapter<2> true 0 (+304 [+0.1%])
561,409
leaf_aggregation Memory AccessAdapter<4> true 0 (+152 [+0.1%])
281,206
leaf_aggregation Memory AccessAdapter<8> true 0
81,349
leaf_aggregation Memory Boundary true 0
857,832
leaf_aggregation Phantom true 0
432,493
leaf_aggregation Poseidon2 true 0
59,438
leaf_aggregation ProgramChip true 0
124,795
group collect_metrics dsl_ir opcode segment frequency
leaf_aggregation true JAL 0
1
leaf_aggregation true STOREW 0
2
leaf_aggregation true AddE FE4ADD 0
19,930
leaf_aggregation true AddEFFI LOADW 0
228
leaf_aggregation true AddEFFI STOREW 0
684
leaf_aggregation true AddEFI ADD 0
236
leaf_aggregation true AddEI ADD 0
41,824
leaf_aggregation true AddFI ADD 0 (+85 [+0.1%])
84,798
leaf_aggregation true AddV ADD 0
31,249
leaf_aggregation true AddVI ADD 0
720,923
leaf_aggregation true Alloc ADD 0
126,161
leaf_aggregation true Alloc LOADW 0
126,161
leaf_aggregation true Alloc MUL 0
77,183
leaf_aggregation true AssertEqE BNE 0
468
leaf_aggregation true AssertEqEI BNE 0
4
leaf_aggregation true AssertEqF BNE 0
22,501
leaf_aggregation true AssertEqV BNE 0
5,331
leaf_aggregation true AssertEqVI BNE 0
204
leaf_aggregation true CT-VerifierProgram PHANTOM 0
2
leaf_aggregation true CT-compute-reduced-opening PHANTOM 0
1,600
leaf_aggregation true CT-exp-reverse-bits-len PHANTOM 0
14,000
leaf_aggregation true CT-poseidon2-hash PHANTOM 0
8,200
leaf_aggregation true CT-poseidon2-hash-ext PHANTOM 0
4,000
leaf_aggregation true CT-poseidon2-hash-setup PHANTOM 0
303,600
leaf_aggregation true CT-single-mat-reduced-opening PHANTOM 0
21,800
leaf_aggregation true CT-stage-c-build-rounds PHANTOM 0
2
leaf_aggregation true CT-stage-d-1-verify-shape-and-sample-challenges PHANTOM 0
2
leaf_aggregation true CT-stage-d-2-fri-fold PHANTOM 0
2
leaf_aggregation true CT-stage-d-3-verify-challenges PHANTOM 0
2
leaf_aggregation true CT-stage-d-verify-pcs PHANTOM 0
2
leaf_aggregation true CT-stage-e-verify-constraints PHANTOM 0
2
leaf_aggregation true CT-verify-batch PHANTOM 0
1,600
leaf_aggregation true CT-verify-batch-ext PHANTOM 0
4,000
leaf_aggregation true CT-verify-batch-reduce-fast PHANTOM 0
12,200
leaf_aggregation true CT-verify-batch-reduce-fast-setup PHANTOM 0
12,200
leaf_aggregation true CT-verify-query PHANTOM 0
200
leaf_aggregation true DivE BBE4DIV 0
12,934
leaf_aggregation true DivEIN BBE4DIV 0
45
leaf_aggregation true DivEIN STOREW 0
180
leaf_aggregation true DivFIN DIV 0
107
leaf_aggregation true For ADD 0
864,353
leaf_aggregation true For BNE 0
959,478
leaf_aggregation true For JAL 0
95,125
leaf_aggregation true For LOADW 0
6,200
leaf_aggregation true For STOREW 0
88,925
leaf_aggregation true FriMatOpening FRI_FOLD 0
10,900
leaf_aggregation true HintBitsF PHANTOM 0
101
leaf_aggregation true HintInputVec PHANTOM 0
48,978
leaf_aggregation true IfEq BNE 0
50,577
leaf_aggregation true IfEqI BNE 0
292,558
leaf_aggregation true IfEqI JAL 0 (+3,610 [+6.4%])
59,942
leaf_aggregation true IfNe BEQ 0
34,001
leaf_aggregation true IfNe JAL 0
24
leaf_aggregation true IfNeI BEQ 0
6,186
leaf_aggregation true ImmE STOREW 0
4,176
leaf_aggregation true ImmF STOREW 0
95,900
leaf_aggregation true ImmV STOREW 0
71,330
leaf_aggregation true LoadE LOADW 0
35,796
leaf_aggregation true LoadE LOADW2 0
139,668
leaf_aggregation true LoadF LOADW 0
63,045
leaf_aggregation true LoadF LOADW2 0
189,376
leaf_aggregation true LoadV LOADW 0
58,625
leaf_aggregation true LoadV LOADW2 0
401,956
leaf_aggregation true MulE BBE4MUL 0
13,769
leaf_aggregation true MulEF MUL 0
8,360
leaf_aggregation true MulEFI MUL 0
388
leaf_aggregation true MulEI BBE4MUL 0
1,325
leaf_aggregation true MulEI STOREW 0
5,300
leaf_aggregation true MulF MUL 0
158,152
leaf_aggregation true MulFI MUL 0
17
leaf_aggregation true MulV MUL 0
3,131
leaf_aggregation true MulVI MUL 0
42,927
leaf_aggregation true NegE MUL 0
164
leaf_aggregation true Poseidon2CompressBabyBear COMP_POS2 0
37,100
leaf_aggregation true Poseidon2PermuteBabyBear PERM_POS2 0
22,338
leaf_aggregation true StoreE STOREW 0
57,816
leaf_aggregation true StoreE STOREW2 0
72,080
leaf_aggregation true StoreF STOREW 0
81,726
leaf_aggregation true StoreF STOREW2 0
168,734
leaf_aggregation true StoreHintWord ADD 0
448,158
leaf_aggregation true StoreHintWord SHINTW 0
500,267
leaf_aggregation true StoreV STOREW 0
6,569
leaf_aggregation true StoreV STOREW2 0
130,813
leaf_aggregation true SubE FE4SUB 0
6,871
leaf_aggregation true SubEF LOADW 0
32,862
leaf_aggregation true SubEF SUB 0
10,954
leaf_aggregation true SubEFI ADD 0
224
leaf_aggregation true SubEI ADD 0
360
leaf_aggregation true SubV SUB 0
97,217
leaf_aggregation true SubVI SUB 0
5,547
leaf_aggregation true SubVIN SUB 0
2,000
group air_name collect_metrics dsl_ir opcode segment cells_used
leaf_aggregation <JalNativeAdapterAir,JalCoreAir> true JAL 0
10
leaf_aggregation Boundary true JAL 0
11
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true STOREW 0
82
leaf_aggregation Boundary true STOREW 0
22
leaf_aggregation <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true AddE FE4ADD 0
797,200
leaf_aggregation AccessAdapter<2> true AddE FE4ADD 0
359,612
leaf_aggregation AccessAdapter<4> true AddE FE4ADD 0
212,498
leaf_aggregation Boundary true AddE FE4ADD 0
119,724
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true AddEFFI LOADW 0
9,348
leaf_aggregation AccessAdapter<2> true AddEFFI LOADW 0
1,056
leaf_aggregation AccessAdapter<4> true AddEFFI LOADW 0
1,248
leaf_aggregation Boundary true AddEFFI LOADW 0
286
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true AddEFFI STOREW 0
28,044
leaf_aggregation AccessAdapter<2> true AddEFFI STOREW 0
1,056
leaf_aggregation Boundary true AddEFFI STOREW 0
858
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddEFI ADD 0
7,080
leaf_aggregation AccessAdapter<2> true AddEFI ADD 0
990
leaf_aggregation AccessAdapter<4> true AddEFI ADD 0
585
leaf_aggregation Boundary true AddEFI ADD 0
1,144
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddEI ADD 0
1,254,720
leaf_aggregation AccessAdapter<2> true AddEI ADD 0 (+1,672 [+0.7%])
227,986
leaf_aggregation AccessAdapter<4> true AddEI ADD 0 (+988 [+0.7%])
134,719
leaf_aggregation Boundary true AddEI ADD 0
128,788
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddFI ADD 0 (+2,550 [+0.1%])
2,543,940
leaf_aggregation Boundary true AddFI ADD 0
253
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddV ADD 0
937,470
leaf_aggregation Boundary true AddV ADD 0
22
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddVI ADD 0
21,627,690
leaf_aggregation Boundary true AddVI ADD 0
35,651
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true Alloc ADD 0
3,784,830
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true Alloc LOADW 0
5,172,601
leaf_aggregation Boundary true Alloc LOADW 0
1,848
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true Alloc MUL 0
2,315,490
leaf_aggregation AccessAdapter<2> true Alloc MUL 0
22
leaf_aggregation AccessAdapter<4> true Alloc MUL 0
26
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqE BNE 0
10,764
leaf_aggregation AccessAdapter<2> true AssertEqE BNE 0
2,574
leaf_aggregation AccessAdapter<4> true AssertEqE BNE 0
1,521
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqEI BNE 0
92
leaf_aggregation AccessAdapter<2> true AssertEqEI BNE 0
22
leaf_aggregation AccessAdapter<4> true AssertEqEI BNE 0
13
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqF BNE 0
517,523
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqV BNE 0
122,613
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqVI BNE 0
4,692
leaf_aggregation PhantomAir true CT-VerifierProgram PHANTOM 0
12
leaf_aggregation PhantomAir true CT-compute-reduced-opening PHANTOM 0
9,600
leaf_aggregation PhantomAir true CT-exp-reverse-bits-len PHANTOM 0
84,000
leaf_aggregation PhantomAir true CT-poseidon2-hash PHANTOM 0
49,200
leaf_aggregation PhantomAir true CT-poseidon2-hash-ext PHANTOM 0
24,000
leaf_aggregation PhantomAir true CT-poseidon2-hash-setup PHANTOM 0
1,821,600
leaf_aggregation PhantomAir true CT-single-mat-reduced-opening PHANTOM 0
130,800
leaf_aggregation PhantomAir true CT-stage-c-build-rounds PHANTOM 0
12
leaf_aggregation PhantomAir true CT-stage-d-1-verify-shape-and-sample-challenges PHANTOM 0
12
leaf_aggregation PhantomAir true CT-stage-d-2-fri-fold PHANTOM 0
12
leaf_aggregation PhantomAir true CT-stage-d-3-verify-challenges PHANTOM 0
12
leaf_aggregation PhantomAir true CT-stage-d-verify-pcs PHANTOM 0
12
leaf_aggregation PhantomAir true CT-stage-e-verify-constraints PHANTOM 0
12
leaf_aggregation PhantomAir true CT-verify-batch PHANTOM 0
9,600
leaf_aggregation PhantomAir true CT-verify-batch-ext PHANTOM 0
24,000
leaf_aggregation PhantomAir true CT-verify-batch-reduce-fast PHANTOM 0
73,200
leaf_aggregation PhantomAir true CT-verify-batch-reduce-fast-setup PHANTOM 0
73,200
leaf_aggregation PhantomAir true CT-verify-query PHANTOM 0
1,200
leaf_aggregation <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true DivE BBE4DIV 0
517,360
leaf_aggregation AccessAdapter<2> true DivE BBE4DIV 0
240,944
leaf_aggregation AccessAdapter<4> true DivE BBE4DIV 0
142,376
leaf_aggregation <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true DivEIN BBE4DIV 0
1,800
leaf_aggregation AccessAdapter<2> true DivEIN BBE4DIV 0
1,892
leaf_aggregation AccessAdapter<4> true DivEIN BBE4DIV 0
1,118
leaf_aggregation Boundary true DivEIN BBE4DIV 0
440
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true DivEIN STOREW 0
7,380
leaf_aggregation AccessAdapter<2> true DivEIN STOREW 0
649
leaf_aggregation AccessAdapter<4> true DivEIN STOREW 0
182
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true DivFIN DIV 0
3,210
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true For ADD 0
25,930,590
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true For BNE 0
22,067,994
leaf_aggregation <JalNativeAdapterAir,JalCoreAir> true For JAL 0
951,250
leaf_aggregation AccessAdapter<2> true For JAL 0
572
leaf_aggregation AccessAdapter<4> true For JAL 0
676
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true For LOADW 0
254,200
leaf_aggregation Boundary true For LOADW 0
1,100
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true For STOREW 0
3,645,925
leaf_aggregation Boundary true For STOREW 0
880
leaf_aggregation AccessAdapter<2> true FriMatOpening FRI_FOLD 0
218,064
leaf_aggregation AccessAdapter<4> true FriMatOpening FRI_FOLD 0
128,856
leaf_aggregation FriMatOpeningAir true FriMatOpening FRI_FOLD 0
18,636,800
leaf_aggregation PhantomAir true HintBitsF PHANTOM 0
606
leaf_aggregation PhantomAir true HintInputVec PHANTOM 0
293,868
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfEq BNE 0
1,163,271
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfEqI BNE 0
6,728,834
leaf_aggregation <JalNativeAdapterAir,JalCoreAir> true IfEqI JAL 0 (+36,100 [+6.4%])
599,420
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfNe BEQ 0
782,023
leaf_aggregation <JalNativeAdapterAir,JalCoreAir> true IfNe JAL 0
240
leaf_aggregation <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfNeI BEQ 0
142,278
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmE STOREW 0
171,216
leaf_aggregation AccessAdapter<2> true ImmE STOREW 0
6,930
leaf_aggregation AccessAdapter<4> true ImmE STOREW 0
4,095
leaf_aggregation Boundary true ImmE STOREW 0
12,276
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmF STOREW 0
3,931,900
leaf_aggregation Boundary true ImmF STOREW 0
2,222
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmV STOREW 0
2,924,530
leaf_aggregation Boundary true ImmV STOREW 0
37,455
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadE LOADW 0
1,467,636
leaf_aggregation AccessAdapter<2> true LoadE LOADW 0
200,926
leaf_aggregation AccessAdapter<4> true LoadE LOADW 0
118,729
leaf_aggregation Boundary true LoadE LOADW 0
3,388
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadE LOADW2 0
5,726,388
leaf_aggregation AccessAdapter<2> true LoadE LOADW2 0
134,244
leaf_aggregation AccessAdapter<4> true LoadE LOADW2 0
79,326
leaf_aggregation Boundary true LoadE LOADW2 0
44
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadF LOADW 0
2,584,845
leaf_aggregation AccessAdapter<2> true LoadF LOADW 0
123,200
leaf_aggregation AccessAdapter<4> true LoadF LOADW 0
72,800
leaf_aggregation AccessAdapter<8> true LoadF LOADW 0
47,600
leaf_aggregation Boundary true LoadF LOADW 0
286
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadF LOADW2 0
7,764,416
leaf_aggregation AccessAdapter<2> true LoadF LOADW2 0
1,111
leaf_aggregation AccessAdapter<4> true LoadF LOADW2 0
663
leaf_aggregation AccessAdapter<8> true LoadF LOADW2 0
612
leaf_aggregation Boundary true LoadF LOADW2 0
1,166
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadV LOADW 0
2,403,625
leaf_aggregation Boundary true LoadV LOADW 0
34,991
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadV LOADW2 0
16,480,196
leaf_aggregation Boundary true LoadV LOADW2 0
935
leaf_aggregation <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true MulE BBE4MUL 0
550,760
leaf_aggregation AccessAdapter<2> true MulE BBE4MUL 0 (+1,672 [+0.6%])
274,296
leaf_aggregation AccessAdapter<4> true MulE BBE4MUL 0 (+988 [+0.6%])
162,084
leaf_aggregation Boundary true MulE BBE4MUL 0
138,732
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulEF MUL 0
250,800
leaf_aggregation AccessAdapter<2> true MulEF MUL 0
44,528
leaf_aggregation AccessAdapter<4> true MulEF MUL 0
26,312
leaf_aggregation Boundary true MulEF MUL 0
880
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulEFI MUL 0
11,640
leaf_aggregation AccessAdapter<2> true MulEFI MUL 0
1,914
leaf_aggregation AccessAdapter<4> true MulEFI MUL 0
1,131
leaf_aggregation Boundary true MulEFI MUL 0
1,188
leaf_aggregation <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true MulEI BBE4MUL 0
53,000
leaf_aggregation AccessAdapter<2> true MulEI BBE4MUL 0
61,116
leaf_aggregation AccessAdapter<4> true MulEI BBE4MUL 0
36,114
leaf_aggregation Boundary true MulEI BBE4MUL 0
6,204
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true MulEI STOREW 0
217,300
leaf_aggregation AccessAdapter<2> true MulEI STOREW 0
28,875
leaf_aggregation AccessAdapter<4> true MulEI STOREW 0
16,913
leaf_aggregation Boundary true MulEI STOREW 0
33
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulF MUL 0
4,744,560
leaf_aggregation Boundary true MulF MUL 0
11
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulFI MUL 0
510
leaf_aggregation Boundary true MulFI MUL 0
11
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulV MUL 0
93,930
leaf_aggregation Boundary true MulV MUL 0
34,408
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulVI MUL 0
1,287,810
leaf_aggregation Boundary true MulVI MUL 0
77
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true NegE MUL 0
4,920
leaf_aggregation AccessAdapter<2> true NegE MUL 0
1,210
leaf_aggregation AccessAdapter<4> true NegE MUL 0
715
leaf_aggregation Boundary true NegE MUL 0
616
leaf_aggregation AccessAdapter<2> true Poseidon2CompressBabyBear COMP_POS2 0
1,487,200
leaf_aggregation AccessAdapter<4> true Poseidon2CompressBabyBear COMP_POS2 0
878,800
leaf_aggregation AccessAdapter<8> true Poseidon2CompressBabyBear COMP_POS2 0
574,600
leaf_aggregation Poseidon2VmAir true Poseidon2CompressBabyBear COMP_POS2 0
15,507,800
leaf_aggregation AccessAdapter<2> true Poseidon2PermuteBabyBear PERM_POS2 0
1,222,661
leaf_aggregation AccessAdapter<4> true Poseidon2PermuteBabyBear PERM_POS2 0
725,738
leaf_aggregation AccessAdapter<8> true Poseidon2PermuteBabyBear PERM_POS2 0
484,075
leaf_aggregation Poseidon2VmAir true Poseidon2PermuteBabyBear PERM_POS2 0
9,337,284
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreE STOREW 0
2,370,456
leaf_aggregation AccessAdapter<2> true StoreE STOREW 0
44,044
leaf_aggregation AccessAdapter<4> true StoreE STOREW 0
26,026
leaf_aggregation Boundary true StoreE STOREW 0
635,976
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreE STOREW2 0
2,955,280
leaf_aggregation AccessAdapter<2> true StoreE STOREW2 0
308,000
leaf_aggregation AccessAdapter<4> true StoreE STOREW2 0
182,000
leaf_aggregation Boundary true StoreE STOREW2 0
88,880
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreF STOREW 0
3,350,766
leaf_aggregation Boundary true StoreF STOREW 0
898,986
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreF STOREW2 0
6,918,094
leaf_aggregation AccessAdapter<2> true StoreF STOREW2 0
684,695
leaf_aggregation AccessAdapter<4> true StoreF STOREW2 0
407,849
leaf_aggregation AccessAdapter<8> true StoreF STOREW2 0
276,046
leaf_aggregation Boundary true StoreF STOREW2 0
179,388
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true StoreHintWord ADD 0
13,444,740
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreHintWord SHINTW 0
20,510,947
leaf_aggregation Boundary true StoreHintWord SHINTW 0
5,502,937
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreV STOREW 0
269,329
leaf_aggregation Boundary true StoreV STOREW 0
72,259
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreV STOREW2 0
5,363,333
leaf_aggregation Boundary true StoreV STOREW2 0
1,427,778
leaf_aggregation <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true SubE FE4SUB 0
274,840
leaf_aggregation AccessAdapter<2> true SubE FE4SUB 0
250,536
leaf_aggregation AccessAdapter<4> true SubE FE4SUB 0
148,044
leaf_aggregation Boundary true SubE FE4SUB 0
27,368
leaf_aggregation <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true SubEF LOADW 0
1,347,342
leaf_aggregation AccessAdapter<2> true SubEF LOADW 0
120,351
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubEF SUB 0
328,620
leaf_aggregation AccessAdapter<2> true SubEF SUB 0
120,351
leaf_aggregation AccessAdapter<4> true SubEF SUB 0
142,233
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubEFI ADD 0
6,720
leaf_aggregation AccessAdapter<2> true SubEFI ADD 0
1,122
leaf_aggregation AccessAdapter<4> true SubEFI ADD 0
663
leaf_aggregation Boundary true SubEFI ADD 0
220
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubEI ADD 0
10,800
leaf_aggregation AccessAdapter<2> true SubEI ADD 0
2,750
leaf_aggregation AccessAdapter<4> true SubEI ADD 0
1,625
leaf_aggregation Boundary true SubEI ADD 0
880
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubV SUB 0
2,916,510
leaf_aggregation Boundary true SubV SUB 0
44
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubVI SUB 0
166,410
leaf_aggregation Boundary true SubVI SUB 0
35,486
leaf_aggregation <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubVIN SUB 0
60,000
Flamegraphs








Commit: a10d82e
Instance Type: 64cpu-linux-arm64
Benchmark Workflow

@jonathanpwang jonathanpwang merged commit bdac2b7 into main Nov 3, 2024
13 checks passed
@jonathanpwang jonathanpwang deleted the feat/memory-data-structure branch November 3, 2024 05:52
luffykai pushed a commit that referenced this pull request Dec 13, 2024
* feat: Support unaligned block memory accesses

Replaces previous Memory data structure with a new one. The new data structure
represents the partition via a BST (using BTreeMap) rather than a segment tree.
The new implementation is signficantly simpler than the previous one. It also
separates the partition representation from the underlying data, reducing the
amount of data copying.

* Use hashmap and other small changes

* Reduce # of insertions and deletions

* Use usize for address space

* chore: switch to FxHashMap

* feat: add fibonacci execute criterion benchmark and more FxHashMap

* chore: use FxHashSet

* chore: update readme

* chore: update comment

---------

Co-authored-by: Jonathan Wang <[email protected]>
Avaneesh-axiom pushed a commit that referenced this pull request Jan 10, 2025
* feat: Support unaligned block memory accesses

Replaces previous Memory data structure with a new one. The new data structure
represents the partition via a BST (using BTreeMap) rather than a segment tree.
The new implementation is signficantly simpler than the previous one. It also
separates the partition representation from the underlying data, reducing the
amount of data copying.

* Use hashmap and other small changes

* Reduce # of insertions and deletions

* Use usize for address space

* chore: switch to FxHashMap

* feat: add fibonacci execute criterion benchmark and more FxHashMap

* chore: use FxHashSet

* chore: update readme

* chore: update comment

---------

Co-authored-by: Jonathan Wang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
run-benchmark triggers benchmark workflows on the pr
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants