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: add range checks to vec adapter #746

Merged
merged 4 commits into from
Nov 1, 2024
Merged

Conversation

arayikhalatyan
Copy link
Contributor

Resolves INT-2386

feat: add range checks to the vec adapter to ensure soundness of memory pointers and heap access

Copy link

linear bot commented Nov 1, 2024

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

@stephenh-axiom-xyz stephenh-axiom-xyz left a comment

Choose a reason for hiding this comment

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

LGTM pending a bit of cleanup

vm/src/rv32im/adapters/heap.rs Outdated Show resolved Hide resolved
vm/src/rv32im/adapters/vec_heap.rs Outdated Show resolved Hide resolved
vm/src/rv32im/adapters/vec_heap.rs Outdated Show resolved Hide resolved

This comment has been minimized.

This comment has been minimized.

Copy link

github-actions bot commented Nov 1, 2024

group total_cells_used total_cycles total_proof_time_ms
verify_fibair
17,562,987
441,414
(-85.0 [-1.4%])
5,866.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 (+60.0 [+0.9%])
6,434.0
17,562,987
441,414
group chip_name collect_metrics rows_used
verify_fibair BranchEqual true
67,826
verify_fibair FieldArithmetic true
140,649
verify_fibair FieldExtension true
7,486
verify_fibair Jal true
11,304
verify_fibair LoadStore true
199,789
verify_fibair Memory AccessAdapter<2> true
40,607
verify_fibair Memory AccessAdapter<4> true
20,305
verify_fibair Memory AccessAdapter<8> true
3,851
verify_fibair Memory Boundary true
97,480
verify_fibair Phantom true
11,747
verify_fibair Poseidon2 true
2,613
verify_fibair ProgramChip true
37,505
group collect_metrics dsl_ir opcode frequency
verify_fibair true JAL
1
verify_fibair true STOREW
2
verify_fibair true AddE FE4ADD
1,630
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-sp1-fri-fold 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
1,202
verify_fibair true DivEIN BBE4DIV
1
verify_fibair true DivEIN STOREW
4
verify_fibair true DivFIN DIV
3
verify_fibair true For ADD
34,831
verify_fibair true For BNE
44,214
verify_fibair true For JAL
9,383
verify_fibair true For LOADW
700
verify_fibair true For STOREW
8,683
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
14,000
verify_fibair true LoadF LOADW
13,252
verify_fibair true LoadF LOADW2
3,096
verify_fibair true LoadV LOADW
8,800
verify_fibair true LoadV LOADW2
19,451
verify_fibair true MulE BBE4MUL
3,418
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
4,815
verify_fibair true SubEF SUB
1,605
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
65,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,398
verify_fibair AccessAdapter<4> true AddEI ADD
14,417
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-sp1-fri-fold 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
48,080
verify_fibair AccessAdapter<2> true DivE BBE4DIV
35,310
verify_fibair AccessAdapter<4> true DivE BBE4DIV
20,865
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,044,930
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true For BNE
1,016,922
verify_fibair <JalNativeAdapterAir,JalCoreAir> true For JAL
93,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
356,003
verify_fibair Boundary true For STOREW
572
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,688
verify_fibair AccessAdapter<4> true LoadE LOADW
10,452
verify_fibair Boundary true LoadE LOADW
220
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadE LOADW2
574,000
verify_fibair AccessAdapter<2> true LoadE LOADW2
28,666
verify_fibair AccessAdapter<4> true LoadE LOADW2
16,939
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
126,936
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,210
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
136,720
verify_fibair AccessAdapter<2> true MulE BBE4MUL
33,352
verify_fibair AccessAdapter<4> true MulE BBE4MUL
19,708
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
197,415
verify_fibair AccessAdapter<2> true SubEF LOADW
17,633
verify_fibair Boundary true SubEF LOADW
99
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubEF SUB
48,150
verify_fibair AccessAdapter<2> true SubEF SUB
17,633
verify_fibair AccessAdapter<4> true SubEF SUB
20,839
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 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 (+6.0 [+14.6%])
47.0
(-9.0 [-1.5%])
597.0
(-6.0 [-1.2%])
507.0
(-5.0 [-7.5%])
62.0
1
17,562,987
441,414
(-85.0 [-1.4%])
5,866.0
(+1.0 [+2.3%])
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 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 (-76.0 [-1.4%])
5,269.0
43,974,680
Flamegraphs




Commit: 20a0039
Instance Type: 64cpu-linux-arm64
Benchmark Workflow

Copy link

github-actions bot commented Nov 1, 2024

group total_cells_used total_cycles total_proof_time_ms
fibonacci_program
51,294,519
1,500,033
(+87.0 [+1.0%])
8,490.0
Detailed Metrics
group collect_metrics execute_time_ms total_cells_used total_cycles
fibonacci_program true (-81.0 [-0.2%])
36,674.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
(+44.0 [+2.0%])
2,230.0
(+53.0 [+2.8%])
1,979.0
131.0
1
51,294,519
1,500,033
(+87.0 [+1.0%])
8,490.0
group air_name segment cells main_cols perm_cols prep_cols 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
group segment stark_prove_excluding_trace_time_ms total_cells
fibonacci_program 0 (+43.0 [+0.7%])
6,260.0
196,263,574
Flamegraphs




Commit: 20a0039
Instance Type: 64cpu-linux-arm64
Benchmark Workflow

@arayikhalatyan arayikhalatyan merged commit 45acbe3 into main Nov 1, 2024
11 checks passed
@arayikhalatyan arayikhalatyan deleted the feat/vec_adapter branch November 1, 2024 18:07
arayikhalatyan added a commit that referenced this pull request Nov 1, 2024
* feat: add range checks to vec_heap_adapter

* address comments
jonathanpwang added a commit that referenced this pull request Nov 4, 2024
…ns (#747)

* feat: RISC-V 256-bit integer branch chip adapter + core implementations

* Feat: add range checks to vec adapter (#746)

* feat: add range checks to vec_heap_adapter

* address comments

* feat: add range checks to memory pointer

* merge main

* fix: assert

* chore: move range check from execute to generate_trace

---------

Co-authored-by: Arayi Khalatyan <[email protected]>
Co-authored-by: Arayi <[email protected]>
Co-authored-by: Jonathan Wang <[email protected]>
luffykai pushed a commit that referenced this pull request Dec 13, 2024
* feat: add range checks to vec_heap_adapter

* address comments
luffykai pushed a commit that referenced this pull request Dec 13, 2024
…ns (#747)

* feat: RISC-V 256-bit integer branch chip adapter + core implementations

* Feat: add range checks to vec adapter (#746)

* feat: add range checks to vec_heap_adapter

* address comments

* feat: add range checks to memory pointer

* merge main

* fix: assert

* chore: move range check from execute to generate_trace

---------

Co-authored-by: Arayi Khalatyan <[email protected]>
Co-authored-by: Arayi <[email protected]>
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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants