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: int256 axvm library + tests #770

Merged
merged 23 commits into from
Nov 8, 2024
Merged

Feat: int256 axvm library + tests #770

merged 23 commits into from
Nov 8, 2024

Conversation

arayikhalatyan
Copy link
Contributor

@arayikhalatyan arayikhalatyan commented Nov 5, 2024

Resolves INT-2515
Resolves INT-2541

After a lot of debugging U256 and I256 types pass the tests: matrix-power and matrix-power-signed

Probably we would want to create the zkvm version clone as well

Implemented a macro that implements an operation on a struct for you (see the code). I assume we can use this macro for IntModN @stephenh-axiom-xyz

Copy link

linear bot commented Nov 5, 2024

INT-2515 int256 `axvm` library

We need U256, I256 structs that are #[repr(transparent)] for [u8; 32] but with special alignment modifier #[repr(align(32))].

Then we should have #[inline(always)] functions for all the int256 operations, which use the custom_insn_r! macro to insert inline assembly.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link

linear bot commented Nov 6, 2024

This comment has been minimized.

@arayikhalatyan arayikhalatyan marked this pull request as ready for review November 6, 2024 21:13

This comment has been minimized.

@arayikhalatyan arayikhalatyan changed the title Feat: draft of u256 zkvm version Feat: int256 axvm library + tests Nov 6, 2024

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@jonathanpwang
Copy link
Contributor

Probably we would want to create the zkvm versions of copy and clone as well

This would require new LOAD/STORE opcodes with custom BLOCK_SIZE right?

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.

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.

Please look into MIN/MAX and util sign extend!

toolchain/riscv/axvm/src/intrinsics/i256.rs Outdated Show resolved Hide resolved
toolchain/riscv/axvm/src/intrinsics/utils.rs Outdated Show resolved Hide resolved
toolchain/riscv/axvm/src/intrinsics/u256.rs Show resolved Hide resolved
toolchain/riscv/axvm/src/intrinsics/utils.rs Show resolved Hide resolved
toolchain/tests/src/basic_tests.rs Outdated Show resolved Hide resolved
@jonathanpwang
Copy link
Contributor

Probably we would want to create the zkvm versions of copy and clone as well

This would require new LOAD/STORE opcodes with custom BLOCK_SIZE right?

Not really, we can use the alloc() to allocate the space and then put the value into there using add with add new, value, 0. But I think we don't have a 0 in heap like x0 so that would become two instructions like sub new, value, value // to get 0 in new add new, value, new

I think ZERO as a constant would play this role of zero. This is interesting!

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.

This macro is crazy!

LGTM but I do think Stephen's comments about sign extension and min/max need fixing.

Copy link

github-actions bot commented Nov 8, 2024

group fri.log_blowup total_cells_used total_cycles total_proof_time_ms
verify_fibair
2
8,172,372
198,759
(+44.0 [+2.8%])
1,631.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
(+1.0 [+12.5%])
9.0
32
group collect_metrics execute_time_ms total_cells_used total_cycles
verify_fibair true (+37.0 [+1.2%])
3,063.0
8,172,372
198,759
group chip_name collect_metrics rows_used
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true
31,888
verify_fibair <JalNativeAdapterAir,JalCoreAir> true
5,170
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true
66,938
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true
85,882
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true
2,186
verify_fibair FriMatOpeningAir true
336
verify_fibair Memory AccessAdapter<2> true
16,464
verify_fibair Memory AccessAdapter<4> true
8,232
verify_fibair Memory AccessAdapter<8> true
1,875
verify_fibair Memory Boundary true
44,588
verify_fibair PhantomAir true
5,212
verify_fibair Poseidon2VmAir true
1,357
verify_fibair ProgramChip true
17,624
group collect_metrics dsl_ir opcode frequency
verify_fibair true JAL
1
verify_fibair true STOREW
2
verify_fibair true AddE FE4ADD
492
verify_fibair true AddEFFI LOADW
70
verify_fibair true AddEFFI STOREW
210
verify_fibair true AddEI ADD
2,584
verify_fibair true AddFI ADD
1,285
verify_fibair true AddV ADD
939
verify_fibair true AddVI ADD
16,803
verify_fibair true Alloc ADD
6,029
verify_fibair true Alloc LOADW
6,029
verify_fibair true Alloc MUL
4,066
verify_fibair true AssertEqE BNE
172
verify_fibair true AssertEqEI BNE
4
verify_fibair true AssertEqF BNE
2,059
verify_fibair true AssertEqV BNE
1,510
verify_fibair true AssertEqVI BNE
20
verify_fibair true CT-VerifierProgram PHANTOM
2
verify_fibair true CT-compute-reduced-opening PHANTOM
168
verify_fibair true CT-exp-reverse-bits-len PHANTOM
168
verify_fibair true CT-poseidon2-hash PHANTOM
168
verify_fibair true CT-poseidon2-hash-ext PHANTOM
336
verify_fibair true CT-poseidon2-hash-setup PHANTOM
504
verify_fibair true CT-single-mat-reduced-opening PHANTOM
252
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
168
verify_fibair true CT-verify-batch-ext PHANTOM
336
verify_fibair true CT-verify-batch-reduce-fast PHANTOM
504
verify_fibair true CT-verify-batch-reduce-fast-setup PHANTOM
504
verify_fibair true CT-verify-query PHANTOM
84
verify_fibair true DivE BBE4DIV
296
verify_fibair true DivEIN BBE4DIV
1
verify_fibair true DivEIN STOREW
4
verify_fibair true DivFIN DIV
3
verify_fibair true For ADD
17,108
verify_fibair true For BNE
21,209
verify_fibair true For JAL
4,101
verify_fibair true For LOADW
294
verify_fibair true For STOREW
3,807
verify_fibair true FriMatOpening FRI_FOLD
126
verify_fibair true HintBitsF PHANTOM
43
verify_fibair true HintInputVec PHANTOM
1,963
verify_fibair true IfEq BNE
321
verify_fibair true IfEqI BNE
5,175
verify_fibair true IfEqI JAL
1,066
verify_fibair true IfNe BEQ
1,163
verify_fibair true IfNe JAL
2
verify_fibair true IfNeI BEQ
255
verify_fibair true ImmE STOREW
848
verify_fibair true ImmF STOREW
3,002
verify_fibair true ImmV STOREW
5,462
verify_fibair true LoadE LOADW
2,052
verify_fibair true LoadE LOADW2
4,536
verify_fibair true LoadF LOADW
5,596
verify_fibair true LoadF LOADW2
972
verify_fibair true LoadV LOADW
4,004
verify_fibair true LoadV LOADW2
9,055
verify_fibair true MulE BBE4MUL
858
verify_fibair true MulEF MUL
680
verify_fibair true MulEI BBE4MUL
33
verify_fibair true MulEI STOREW
132
verify_fibair true MulF MUL
1,096
verify_fibair true MulFI MUL
1
verify_fibair true MulV MUL
1,333
verify_fibair true MulVI MUL
1,348
verify_fibair true Poseidon2CompressBabyBear COMP_POS2
1,092
verify_fibair true Poseidon2PermuteBabyBear PERM_POS2
265
verify_fibair true StoreE STOREW
13,456
verify_fibair true StoreE STOREW2
2,032
verify_fibair true StoreF STOREW
2,772
verify_fibair true StoreF STOREW2
1,678
verify_fibair true StoreHintWord ADD
10,355
verify_fibair true StoreHintWord SHINTW
13,651
verify_fibair true StoreV STOREW
650
verify_fibair true StoreV STOREW2
5,175
verify_fibair true SubE FE4SUB
506
verify_fibair true SubEF LOADW
393
verify_fibair true SubEF SUB
131
verify_fibair true SubEI ADD
8
verify_fibair true SubV SUB
1,429
verify_fibair true SubVI SUB
1,572
verify_fibair true SubVIN SUB
168
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
19,680
verify_fibair AccessAdapter<2> true AddE FE4ADD
10,846
verify_fibair AccessAdapter<4> true AddE FE4ADD
6,409
verify_fibair Boundary true AddE FE4ADD
792
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true AddEFFI LOADW
2,870
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
8,610
verify_fibair AccessAdapter<2> true AddEFFI STOREW
132
verify_fibair Boundary true AddEFFI STOREW
528
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddEI ADD
77,520
verify_fibair AccessAdapter<2> true AddEI ADD
11,902
verify_fibair AccessAdapter<4> true AddEI ADD
7,033
verify_fibair Boundary true AddEI ADD
440
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddFI ADD
38,550
verify_fibair Boundary true AddFI ADD
231
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddV ADD
28,170
verify_fibair Boundary true AddV ADD
33
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true AddVI ADD
504,090
verify_fibair Boundary true AddVI ADD
15,675
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true Alloc ADD
180,870
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true Alloc LOADW
247,189
verify_fibair Boundary true Alloc LOADW
1,122
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true Alloc MUL
121,980
verify_fibair AccessAdapter<2> true Alloc MUL
33
verify_fibair AccessAdapter<4> true Alloc MUL
39
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqE BNE
3,956
verify_fibair AccessAdapter<2> true AssertEqE BNE
946
verify_fibair AccessAdapter<4> true AssertEqE BNE
559
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqEI BNE
92
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqF BNE
47,357
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true AssertEqV BNE
34,730
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
1,008
verify_fibair PhantomAir true CT-exp-reverse-bits-len PHANTOM
1,008
verify_fibair PhantomAir true CT-poseidon2-hash PHANTOM
1,008
verify_fibair PhantomAir true CT-poseidon2-hash-ext PHANTOM
2,016
verify_fibair PhantomAir true CT-poseidon2-hash-setup PHANTOM
3,024
verify_fibair PhantomAir true CT-single-mat-reduced-opening PHANTOM
1,512
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
1,008
verify_fibair PhantomAir true CT-verify-batch-ext PHANTOM
2,016
verify_fibair PhantomAir true CT-verify-batch-reduce-fast PHANTOM
3,024
verify_fibair PhantomAir true CT-verify-batch-reduce-fast-setup PHANTOM
3,024
verify_fibair PhantomAir true CT-verify-query PHANTOM
504
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true DivE BBE4DIV
11,840
verify_fibair AccessAdapter<2> true DivE BBE4DIV
2,882
verify_fibair AccessAdapter<4> true DivE BBE4DIV
1,703
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
513,240
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true For BNE
487,807
verify_fibair <JalNativeAdapterAir,JalCoreAir> true For JAL
41,010
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true For LOADW
12,054
verify_fibair Boundary true For LOADW
462
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true For STOREW
156,087
verify_fibair Boundary true For STOREW
462
verify_fibair AccessAdapter<2> true FriMatOpening FRI_FOLD
2,024
verify_fibair AccessAdapter<4> true FriMatOpening FRI_FOLD
1,196
verify_fibair FriMatOpeningAir true FriMatOpening FRI_FOLD
21,504
verify_fibair PhantomAir true HintBitsF PHANTOM
258
verify_fibair PhantomAir true HintInputVec PHANTOM
11,778
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfEq BNE
7,383
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfEqI BNE
119,025
verify_fibair <JalNativeAdapterAir,JalCoreAir> true IfEqI JAL
10,660
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfNe BEQ
26,749
verify_fibair <JalNativeAdapterAir,JalCoreAir> true IfNe JAL
20
verify_fibair <BranchNativeAdapterAir,BranchEqualCoreAir<1>> true IfNeI BEQ
5,865
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmE STOREW
34,768
verify_fibair AccessAdapter<2> true ImmE STOREW
924
verify_fibair AccessAdapter<4> true ImmE STOREW
546
verify_fibair Boundary true ImmE STOREW
44
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmF STOREW
123,082
verify_fibair Boundary true ImmF STOREW
1,496
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true ImmV STOREW
223,942
verify_fibair Boundary true ImmV STOREW
16,258
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadE LOADW
84,132
verify_fibair AccessAdapter<2> true LoadE LOADW
7,656
verify_fibair AccessAdapter<4> true LoadE LOADW
4,524
verify_fibair Boundary true LoadE LOADW
220
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadE LOADW2
185,976
verify_fibair AccessAdapter<2> true LoadE LOADW2
12,056
verify_fibair AccessAdapter<4> true LoadE LOADW2
7,124
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadF LOADW
229,436
verify_fibair AccessAdapter<2> true LoadF LOADW
11,088
verify_fibair AccessAdapter<4> true LoadF LOADW
6,552
verify_fibair AccessAdapter<8> true LoadF LOADW
4,284
verify_fibair Boundary true LoadF LOADW
341
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadF LOADW2
39,852
verify_fibair AccessAdapter<2> true LoadF LOADW2
396
verify_fibair AccessAdapter<4> true LoadF LOADW2
234
verify_fibair AccessAdapter<8> true LoadF LOADW2
204
verify_fibair Boundary true LoadF LOADW2
583
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadV LOADW
164,164
verify_fibair Boundary true LoadV LOADW
15,092
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true LoadV LOADW2
371,255
verify_fibair Boundary true LoadV LOADW2
957
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true MulE BBE4MUL
34,320
verify_fibair AccessAdapter<2> true MulE BBE4MUL
13,882
verify_fibair AccessAdapter<4> true MulE BBE4MUL
8,203
verify_fibair Boundary true MulE BBE4MUL
572
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulEF MUL
20,400
verify_fibair AccessAdapter<2> true MulEF MUL
3,718
verify_fibair AccessAdapter<4> true MulEF MUL
2,197
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
682
verify_fibair AccessAdapter<4> true MulEI STOREW
390
verify_fibair Boundary true MulEI STOREW
33
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulF MUL
32,880
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
39,990
verify_fibair Boundary true MulV MUL
14,641
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true MulVI MUL
40,440
verify_fibair Boundary true MulVI MUL
33
verify_fibair AccessAdapter<2> true Poseidon2CompressBabyBear COMP_POS2
48,048
verify_fibair AccessAdapter<4> true Poseidon2CompressBabyBear COMP_POS2
28,392
verify_fibair AccessAdapter<8> true Poseidon2CompressBabyBear COMP_POS2
18,564
verify_fibair Poseidon2VmAir true Poseidon2CompressBabyBear COMP_POS2
610,428
verify_fibair AccessAdapter<2> true Poseidon2PermuteBabyBear PERM_POS2
22,770
verify_fibair AccessAdapter<4> true Poseidon2PermuteBabyBear PERM_POS2
13,455
verify_fibair AccessAdapter<8> true Poseidon2PermuteBabyBear PERM_POS2
8,806
verify_fibair Poseidon2VmAir true Poseidon2PermuteBabyBear PERM_POS2
148,135
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreE STOREW
551,696
verify_fibair AccessAdapter<2> true StoreE STOREW
3,696
verify_fibair AccessAdapter<4> true StoreE STOREW
2,184
verify_fibair Boundary true StoreE STOREW
148,016
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreE STOREW2
83,312
verify_fibair AccessAdapter<2> true StoreE STOREW2
3,696
verify_fibair AccessAdapter<4> true StoreE STOREW2
2,184
verify_fibair Boundary true StoreE STOREW2
7,568
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreF STOREW
113,652
verify_fibair Boundary true StoreF STOREW
30,492
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreF STOREW2
68,798
verify_fibair AccessAdapter<2> true StoreF STOREW2
132
verify_fibair AccessAdapter<4> true StoreF STOREW2
78
verify_fibair AccessAdapter<8> true StoreF STOREW2
17
verify_fibair Boundary true StoreF STOREW2
15,070
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true StoreHintWord ADD
310,650
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreHintWord SHINTW
559,691
verify_fibair Boundary true StoreHintWord SHINTW
150,161
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreV STOREW
26,650
verify_fibair Boundary true StoreV STOREW
7,150
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true StoreV STOREW2
212,175
verify_fibair Boundary true StoreV STOREW2
45,210
verify_fibair <NativeVectorizedAdapterAir<4>,FieldExtensionCoreAir> true SubE FE4SUB
20,240
verify_fibair AccessAdapter<2> true SubE FE4SUB
18,656
verify_fibair AccessAdapter<4> true SubE FE4SUB
11,024
verify_fibair Boundary true SubE FE4SUB
220
verify_fibair <NativeLoadStoreAdapterAir<1>,KernelLoadStoreCoreAir<1>> true SubEF LOADW
16,113
verify_fibair AccessAdapter<2> true SubEF LOADW
1,419
verify_fibair Boundary true SubEF LOADW
99
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubEF SUB
3,930
verify_fibair AccessAdapter<2> true SubEF SUB
1,419
verify_fibair AccessAdapter<4> true SubEF SUB
1,677
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
42,870
verify_fibair Boundary true SubV SUB
44
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubVI SUB
47,160
verify_fibair Boundary true SubVI SUB
15,191
verify_fibair <NativeAdapterAir<2, 1>,FieldArithmeticCoreAir> true SubVIN SUB
5,040
group commit_exe_time_ms execute_and_trace_gen_time_ms execute_time_ms fri.log_blowup keygen_time_ms num_segments total_cells_used total_cycles total_proof_time_ms verify_program_compile_ms
verify_fibair (-1.0 [-6.2%])
15.0
(+3.0 [+0.9%])
321.0
(+2.0 [+0.7%])
271.0
2
(+3.0 [+6.5%])
49.0
1
8,172,372
198,759
(+44.0 [+2.8%])
1,631.0
22.0
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>
12
5
4
verify_fibair AccessAdapterAir<4>
12
5
4
verify_fibair AccessAdapterAir<8>
12
5
4
verify_fibair AccessAdapterAir<16>
12
5
4
verify_fibair AccessAdapterAir<32>
12
5
4
verify_fibair AccessAdapterAir<64>
12
5
4
verify_fibair PhantomAir
4
3
4
verify_fibair VmAirWrapper<NativeLoadStoreAdapterAir<1>, KernelLoadStoreCoreAir<1>
31
19
4
verify_fibair VmAirWrapper<BranchNativeAdapterAir, BranchEqualCoreAir<1>
23
11
2
verify_fibair VmAirWrapper<JalNativeAdapterAir, JalCoreAir>
6
7
4
verify_fibair VmAirWrapper<NativeAdapterAir<2, 1>, FieldArithmeticCoreAir>
23
15
4
verify_fibair VmAirWrapper<NativeVectorizedAdapterAir<4>, FieldExtensionCoreAir>
23
15
4
verify_fibair FriMatOpeningAir
59
35
4
verify_fibair Poseidon2VmAir
517
32
4
verify_fibair VariableRangeCheckerAir
4
1
1
group air_name segment cells main_cols perm_cols prep_cols rows
verify_fibair ProgramAir 0
589,824
10
8
32,768
verify_fibair VmConnectorAir 0
24
4
8
1
2
verify_fibair VolatileBoundaryAir 0
1,245,184
11
8
65,536
verify_fibair AccessAdapterAir<2> 0
884,736
11
16
32,768
verify_fibair AccessAdapterAir<4> 0
475,136
13
16
16,384
verify_fibair AccessAdapterAir<8> 0
135,168
17
16
4,096
verify_fibair PhantomAir 0
114,688
6
8
8,192
verify_fibair VmAirWrapper<NativeLoadStoreAdapterAir<1>, KernelLoadStoreCoreAir<1> 0
8,519,680
41
24
131,072
verify_fibair VmAirWrapper<BranchNativeAdapterAir, BranchEqualCoreAir<1> 0
1,671,168
23
28
32,768
verify_fibair VmAirWrapper<JalNativeAdapterAir, JalCoreAir> 0
180,224
10
12
8,192
verify_fibair VmAirWrapper<NativeAdapterAir<2, 1>, FieldArithmeticCoreAir> 0
6,553,600
30
20
131,072
verify_fibair VmAirWrapper<NativeVectorizedAdapterAir<4>, FieldExtensionCoreAir> 0
245,760
40
20
4,096
verify_fibair FriMatOpeningAir 0
71,680
64
76
512
verify_fibair Poseidon2VmAir 0
1,218,560
559
36
2,048
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 (+41.0 [+3.2%])
1,310.0
23,085,080
Flamegraphs




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

Copy link

github-actions bot commented Nov 8, 2024

group fri.log_blowup total_cells_used total_cycles total_proof_time_ms
revm_contract_deployment
2
20,523,110
310,439
(+22.0 [+0.4%])
5,674.0
Detailed Metrics
group collect_metrics execute_time_ms total_cells_used total_cycles
revm_contract_deployment true (-46.0 [-0.5%])
9,409.0
20,523,110
310,439
group chip_name collect_metrics rows_used
revm_contract_deployment <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true
110,840
revm_contract_deployment <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true
14,109
revm_contract_deployment <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true
11,547
revm_contract_deployment <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true
33,668
revm_contract_deployment <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true
29,056
revm_contract_deployment <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true
4,916
revm_contract_deployment <Rv32HintStoreAdapterAir,Rv32HintStoreCoreAir> true
3,069
revm_contract_deployment <Rv32JalrAdapterAir,Rv32JalrCoreAir> true
1,894
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadSignExtendCoreAir<4, 8>> true
11,811
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true
85,178
revm_contract_deployment <Rv32MultAdapterAir,MulHCoreAir<4, 8>> true
1,237
revm_contract_deployment <Rv32MultAdapterAir,MultiplicationCoreAir<4, 8>> true
2,115
revm_contract_deployment <Rv32RdWriteAdapterAir,Rv32AuipcCoreAir> true
860
revm_contract_deployment BitwiseOperationLookupAir<8> true
65,536
revm_contract_deployment KeccakVmAir true
2,184
revm_contract_deployment Memory AccessAdapter<8> true
11,771
revm_contract_deployment Memory Boundary true
23,542
revm_contract_deployment Memory Merkle true
24,862
revm_contract_deployment PhantomAir true
137
revm_contract_deployment ProgramChip true
256,030
revm_contract_deployment RangeTupleCheckerAir<2> true
524,288
group collect_metrics dsl_ir opcode frequency
revm_contract_deployment true ADD
91,400
revm_contract_deployment true AND
7,689
revm_contract_deployment true AUIPC
860
revm_contract_deployment true BEQ
13,639
revm_contract_deployment true BGE
10,842
revm_contract_deployment true BGEU
11,676
revm_contract_deployment true BLT
151
revm_contract_deployment true BLTU
6,387
revm_contract_deployment true BNE
20,029
revm_contract_deployment true HINT_STOREW
3,069
revm_contract_deployment true JAL
3,209
revm_contract_deployment true JALR
1,894
revm_contract_deployment true KECCAK256
2
revm_contract_deployment true LOADB
11,806
revm_contract_deployment true LOADBU
20,192
revm_contract_deployment true LOADH
5
revm_contract_deployment true LOADHU
20
revm_contract_deployment true LOADW
30,204
revm_contract_deployment true LUI
1,707
revm_contract_deployment true MUL
2,115
revm_contract_deployment true MULH
3
revm_contract_deployment true MULHU
1,234
revm_contract_deployment true OR
7,154
revm_contract_deployment true PHANTOM
137
revm_contract_deployment true SLL
7,096
revm_contract_deployment true SLT
2
revm_contract_deployment true SLTU
14,107
revm_contract_deployment true SRA
493
revm_contract_deployment true SRL
3,958
revm_contract_deployment true STOREB
1,660
revm_contract_deployment true STOREH
12
revm_contract_deployment true STOREW
33,090
revm_contract_deployment true SUB
1,967
revm_contract_deployment true XOR
2,630
group air_name collect_metrics dsl_ir opcode cells_used
revm_contract_deployment <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true ADD
3,290,400
revm_contract_deployment <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true AND
276,804
revm_contract_deployment <Rv32RdWriteAdapterAir,Rv32AuipcCoreAir> true AUIPC
18,060
revm_contract_deployment AccessAdapter<8> true AUIPC
51
revm_contract_deployment Boundary true AUIPC
120
revm_contract_deployment Merkle true AUIPC
3,520
revm_contract_deployment <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true BEQ
354,614
revm_contract_deployment <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BGE
346,944
revm_contract_deployment <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BGEU
373,632
revm_contract_deployment <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BLT
4,832
revm_contract_deployment <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BLTU
204,384
revm_contract_deployment <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true BNE
520,754
revm_contract_deployment <Rv32HintStoreAdapterAir,Rv32HintStoreCoreAir> true HINT_STOREW
79,794
revm_contract_deployment AccessAdapter<8> true HINT_STOREW
26,095
revm_contract_deployment Boundary true HINT_STOREW
61,400
revm_contract_deployment Merkle true HINT_STOREW
98,560
revm_contract_deployment <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true JAL
57,762
revm_contract_deployment <Rv32JalrAdapterAir,Rv32JalrCoreAir> true JALR
53,032
revm_contract_deployment KeccakVmAir true KECCAK256
6,910,176
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadSignExtendCoreAir<4, 8>> true LOADB
413,210
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADBU
807,680
revm_contract_deployment AccessAdapter<8> true LOADBU
323
revm_contract_deployment Boundary true LOADBU
760
revm_contract_deployment Merkle true LOADBU
4,352
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadSignExtendCoreAir<4, 8>> true LOADH
175
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADHU
800
revm_contract_deployment AccessAdapter<8> true LOADHU
85
revm_contract_deployment Boundary true LOADHU
200
revm_contract_deployment Merkle true LOADHU
320
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADW
1,208,160
revm_contract_deployment AccessAdapter<8> true LOADW
20,502
revm_contract_deployment Boundary true LOADW
48,240
revm_contract_deployment Merkle true LOADW
92,736
revm_contract_deployment <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true LUI
30,726
revm_contract_deployment AccessAdapter<8> true LUI
34
revm_contract_deployment Boundary true LUI
80
revm_contract_deployment <Rv32MultAdapterAir,MultiplicationCoreAir<4, 8>> true MUL
65,565
revm_contract_deployment AccessAdapter<8> true MUL
34
revm_contract_deployment Boundary true MUL
80
revm_contract_deployment Merkle true MUL
64
revm_contract_deployment <Rv32MultAdapterAir,MulHCoreAir<4, 8>> true MULH
117
revm_contract_deployment <Rv32MultAdapterAir,MulHCoreAir<4, 8>> true MULHU
48,126
revm_contract_deployment AccessAdapter<8> true MULHU
17
revm_contract_deployment Boundary true MULHU
40
revm_contract_deployment <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true OR
257,544
revm_contract_deployment PhantomAir true PHANTOM
822
revm_contract_deployment <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SLL
376,088
revm_contract_deployment <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true SLT
74
revm_contract_deployment <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true SLTU
521,959
revm_contract_deployment AccessAdapter<8> true SLTU
34
revm_contract_deployment Boundary true SLTU
80
revm_contract_deployment Merkle true SLTU
64
revm_contract_deployment <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SRA
26,129
revm_contract_deployment <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SRL
209,774
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREB
66,400
revm_contract_deployment AccessAdapter<8> true STOREB
2,006
revm_contract_deployment Boundary true STOREB
4,720
revm_contract_deployment Merkle true STOREB
19,008
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREH
480
revm_contract_deployment <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREW
1,323,600
revm_contract_deployment AccessAdapter<8> true STOREW
150,926
revm_contract_deployment Boundary true STOREW
355,120
revm_contract_deployment Merkle true STOREW
576,896
revm_contract_deployment <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true SUB
70,812
revm_contract_deployment <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true XOR
94,680
group commit_exe_time_ms execute_and_trace_gen_time_ms execute_time_ms fri.log_blowup keygen_time_ms num_segments total_cells_used total_cycles total_proof_time_ms
revm_contract_deployment (+3.0 [+2.8%])
109.0
(-19.0 [-0.8%])
2,383.0
(-8.0 [-0.4%])
1,867.0
2
(-1.0 [-0.5%])
201.0
1
20,523,110
310,439
(+22.0 [+0.4%])
5,674.0
group air_name constraints interactions quotient_deg
revm_contract_deployment ProgramAir
4
1
1
revm_contract_deployment VmConnectorAir
9
3
2
revm_contract_deployment PersistentBoundaryAir<8>
6
3
2
revm_contract_deployment MemoryMerkleAir<8>
40
4
2
revm_contract_deployment AccessAdapterAir<2>
14
5
2
revm_contract_deployment AccessAdapterAir<4>
14
5
2
revm_contract_deployment AccessAdapterAir<8>
14
5
2
revm_contract_deployment AccessAdapterAir<16>
14
5
2
revm_contract_deployment AccessAdapterAir<32>
14
5
2
revm_contract_deployment AccessAdapterAir<64>
14
5
2
revm_contract_deployment PhantomAir
5
3
2
revm_contract_deployment VmAirWrapper<Rv32BaseAluAdapterAir, BaseAluCoreAir<4, 8>
43
19
2
revm_contract_deployment VmAirWrapper<Rv32BaseAluAdapterAir, LessThanCoreAir<4, 8>
39
17
2
revm_contract_deployment VmAirWrapper<Rv32BaseAluAdapterAir, ShiftCoreAir<4, 8>
90
23
2
revm_contract_deployment VmAirWrapper<Rv32LoadStoreAdapterAir, LoadStoreCoreAir<4>
38
17
2
revm_contract_deployment VmAirWrapper<Rv32LoadStoreAdapterAir, LoadSignExtendCoreAir<4, 8>
33
18
2
revm_contract_deployment VmAirWrapper<Rv32BranchAdapterAir, BranchEqualCoreAir<4>
25
11
2
revm_contract_deployment VmAirWrapper<Rv32BranchAdapterAir, BranchLessThanCoreAir<4, 8>
41
13
2
revm_contract_deployment VmAirWrapper<Rv32CondRdWriteAdapterAir, Rv32JalLuiCoreAir>
22
10
2
revm_contract_deployment VmAirWrapper<Rv32JalrAdapterAir, Rv32JalrCoreAir>
20
16
2
revm_contract_deployment VmAirWrapper<Rv32RdWriteAdapterAir, Rv32AuipcCoreAir>
15
11
2
revm_contract_deployment VmAirWrapper<Rv32MultAdapterAir, MultiplicationCoreAir<4, 8>
26
19
2
revm_contract_deployment VmAirWrapper<Rv32MultAdapterAir, MulHCoreAir<4, 8>
38
24
2
revm_contract_deployment VmAirWrapper<Rv32MultAdapterAir, DivRemCoreAir<4, 8>
88
25
2
revm_contract_deployment VmAirWrapper<Rv32HintStoreAdapterAir, Rv32HintStoreCoreAir>
17
15
2
revm_contract_deployment KeccakVmAir
4,571
321
2
revm_contract_deployment Poseidon2VmAir
525
32
2
revm_contract_deployment BitwiseOperationLookupAir<8>
4
2
2
revm_contract_deployment RangeTupleCheckerAir<2>
4
1
1
revm_contract_deployment VariableRangeCheckerAir
4
1
1
group air_name segment cells main_cols perm_cols prep_cols rows
revm_contract_deployment ProgramAir 0
4,718,592
10
8
262,144
revm_contract_deployment VmConnectorAir 0
32
4
12
1
2
revm_contract_deployment PersistentBoundaryAir<8> 0
1,048,576
20
12
32,768
revm_contract_deployment MemoryMerkleAir<8> 0
1,703,936
32
20
32,768
revm_contract_deployment AccessAdapterAir<8> 0
1,343,488
17
24
32,768
revm_contract_deployment PhantomAir 0
4,608
6
12
256
revm_contract_deployment VmAirWrapper<Rv32BaseAluAdapterAir, BaseAluCoreAir<4, 8> 0
15,204,352
36
80
131,072
revm_contract_deployment VmAirWrapper<Rv32BaseAluAdapterAir, LessThanCoreAir<4, 8> 0
1,261,568
37
40
16,384
revm_contract_deployment VmAirWrapper<Rv32BaseAluAdapterAir, ShiftCoreAir<4, 8> 0
1,720,320
53
52
16,384
revm_contract_deployment VmAirWrapper<Rv32LoadStoreAdapterAir, LoadStoreCoreAir<4> 0
14,680,064
40
72
131,072
revm_contract_deployment VmAirWrapper<Rv32LoadStoreAdapterAir, LoadSignExtendCoreAir<4, 8> 0
1,818,624
35
76
16,384
revm_contract_deployment VmAirWrapper<Rv32BranchAdapterAir, BranchEqualCoreAir<4> 0
4,849,664
26
48
65,536
revm_contract_deployment VmAirWrapper<Rv32BranchAdapterAir, BranchLessThanCoreAir<4, 8> 0
2,883,584
32
56
32,768
revm_contract_deployment VmAirWrapper<Rv32CondRdWriteAdapterAir, Rv32JalLuiCoreAir> 0
507,904
18
44
8,192
revm_contract_deployment VmAirWrapper<Rv32JalrAdapterAir, Rv32JalrCoreAir> 0
131,072
28
36
2,048
revm_contract_deployment VmAirWrapper<Rv32RdWriteAdapterAir, Rv32AuipcCoreAir> 0
50,176
21
28
1,024
revm_contract_deployment VmAirWrapper<Rv32MultAdapterAir, MultiplicationCoreAir<4, 8> 0
454,656
31
80
4,096
revm_contract_deployment VmAirWrapper<Rv32MultAdapterAir, MulHCoreAir<4, 8> 0
284,672
39
100
2,048
revm_contract_deployment VmAirWrapper<Rv32HintStoreAdapterAir, Rv32HintStoreCoreAir> 0
253,952
26
36
4,096
revm_contract_deployment KeccakVmAir 0
18,235,392
3,164
1,288
4,096
revm_contract_deployment Poseidon2VmAir 0
41,091,072
559
68
65,536
revm_contract_deployment BitwiseOperationLookupAir<8> 0
655,360
2
8
3
65,536
revm_contract_deployment RangeTupleCheckerAir<2> 0
4,718,592
1
8
2
524,288
revm_contract_deployment VariableRangeCheckerAir 0
1,179,648
1
8
2
131,072
group segment stark_prove_excluding_trace_time_ms total_cells
revm_contract_deployment 0 (+41.0 [+1.3%])
3,291.0
118,799,904
Flamegraphs




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

Copy link

github-actions bot commented Nov 8, 2024

group fri.log_blowup total_cells_used total_cycles total_proof_time_ms
fibonacci_program
2
51,311,675
1,500,219
(-21.0 [-0.3%])
7,163.0
Detailed Metrics
group collect_metrics execute_time_ms total_cells_used total_cycles
fibonacci_program true (-542.0 [-1.4%])
36,943.0
51,311,675
1,500,219
group chip_name collect_metrics rows_used
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true
900,085
fibonacci_program <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true
300,004
fibonacci_program <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true
4
fibonacci_program <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true
200,012
fibonacci_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true
11
fibonacci_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true
100,012
fibonacci_program <Rv32HintStoreAdapterAir,Rv32HintStoreCoreAir> true
3
fibonacci_program <Rv32JalrAdapterAir,Rv32JalrCoreAir> true
17
fibonacci_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true
57
fibonacci_program <Rv32RdWriteAdapterAir,Rv32AuipcCoreAir> true
11
fibonacci_program BitwiseOperationLookupAir<8> true
65,536
fibonacci_program Memory AccessAdapter<8> true
27
fibonacci_program Memory Boundary true
54
fibonacci_program Memory Merkle true
306
fibonacci_program PhantomAir true
3
fibonacci_program ProgramChip true
6,521
fibonacci_program RangeTupleCheckerAir<2> true
524,288
group collect_metrics dsl_ir opcode frequency
fibonacci_program true ADD
900,068
fibonacci_program true AND
5
fibonacci_program true AUIPC
11
fibonacci_program true BEQ
100,005
fibonacci_program true BGEU
3
fibonacci_program true BLT
1
fibonacci_program true BLTU
7
fibonacci_program true BNE
100,007
fibonacci_program true HINT_STOREW
3
fibonacci_program true JAL
100,002
fibonacci_program true JALR
17
fibonacci_program true LOADBU
6
fibonacci_program true LOADW
22
fibonacci_program true LUI
10
fibonacci_program true OR
4
fibonacci_program true PHANTOM
3
fibonacci_program true SLL
3
fibonacci_program true SLTU
300,004
fibonacci_program true SRL
1
fibonacci_program true STOREB
1
fibonacci_program true STOREW
28
fibonacci_program true SUB
4
fibonacci_program true XOR
4
group air_name collect_metrics dsl_ir opcode cells_used
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true ADD
32,402,448
fibonacci_program AccessAdapter<8> true ADD
51
fibonacci_program Boundary true ADD
120
fibonacci_program Merkle true ADD
64
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true AND
180
fibonacci_program <Rv32RdWriteAdapterAir,Rv32AuipcCoreAir> true AUIPC
231
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,130
fibonacci_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BGEU
96
fibonacci_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BLT
32
fibonacci_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BLTU
224
fibonacci_program <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true BNE
2,600,182
fibonacci_program <Rv32HintStoreAdapterAir,Rv32HintStoreCoreAir> true HINT_STOREW
78
fibonacci_program AccessAdapter<8> true HINT_STOREW
17
fibonacci_program Boundary true HINT_STOREW
40
fibonacci_program Merkle true HINT_STOREW
64
fibonacci_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true JAL
1,800,036
fibonacci_program <Rv32JalrAdapterAir,Rv32JalrCoreAir> true JALR
476
fibonacci_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADBU
240
fibonacci_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADW
880
fibonacci_program AccessAdapter<8> true LOADW
34
fibonacci_program Boundary true LOADW
80
fibonacci_program Merkle true LOADW
2,304
fibonacci_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true LUI
180
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true OR
144
fibonacci_program PhantomAir true PHANTOM
18
fibonacci_program <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SLL
159
fibonacci_program <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true SLTU
11,100,148
fibonacci_program AccessAdapter<8> true SLTU
34
fibonacci_program Boundary true SLTU
80
fibonacci_program Merkle true SLTU
64
fibonacci_program <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SRL
53
fibonacci_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREB
40
fibonacci_program AccessAdapter<8> true STOREB
17
fibonacci_program Boundary true STOREB
40
fibonacci_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREW
1,120
fibonacci_program AccessAdapter<8> true STOREW
272
fibonacci_program Boundary true STOREW
640
fibonacci_program Merkle true STOREW
3,776
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true SUB
144
fibonacci_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true XOR
144
group commit_exe_time_ms execute_and_trace_gen_time_ms execute_time_ms fri.log_blowup keygen_time_ms num_segments total_cells_used total_cycles total_proof_time_ms
fibonacci_program
5.0
(-2.0 [-0.1%])
1,698.0
(-11.0 [-0.8%])
1,441.0
2
205.0
1
51,311,675
1,500,219
(-21.0 [-0.3%])
7,163.0
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<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<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 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<Rv32HintStoreAdapterAir, Rv32HintStoreCoreAir>
17
15
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 air_name segment cells main_cols perm_cols prep_cols rows
fibonacci_program ProgramAir 0
147,456
10
8
8,192
fibonacci_program VmConnectorAir 0
32
4
12
1
2
fibonacci_program PersistentBoundaryAir<8> 0
2,048
20
12
64
fibonacci_program MemoryMerkleAir<8> 0
26,624
32
20
512
fibonacci_program AccessAdapterAir<8> 0
2,624
17
24
64
fibonacci_program PhantomAir 0
72
6
12
4
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<Rv32BaseAluAdapterAir, ShiftCoreAir<4, 8> 0
420
53
52
4
fibonacci_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadStoreCoreAir<4> 0
7,168
40
72
64
fibonacci_program VmAirWrapper<Rv32BranchAdapterAir, BranchEqualCoreAir<4> 0
19,398,656
26
48
262,144
fibonacci_program VmAirWrapper<Rv32BranchAdapterAir, BranchLessThanCoreAir<4, 8> 0
1,408
32
56
16
fibonacci_program VmAirWrapper<Rv32CondRdWriteAdapterAir, Rv32JalLuiCoreAir> 0
8,126,464
18
44
131,072
fibonacci_program VmAirWrapper<Rv32JalrAdapterAir, Rv32JalrCoreAir> 0
2,048
28
36
32
fibonacci_program VmAirWrapper<Rv32RdWriteAdapterAir, Rv32AuipcCoreAir> 0
784
21
28
16
fibonacci_program VmAirWrapper<Rv32HintStoreAdapterAir, Rv32HintStoreCoreAir> 0
248
26
36
4
fibonacci_program Poseidon2VmAir 0
321,024
559
68
512
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 (-19.0 [-0.3%])
5,465.0
196,595,668
Flamegraphs




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

Copy link

github-actions bot commented Nov 8, 2024

group fri.log_blowup total_cells_used total_cycles total_proof_time_ms
regex_program
2
160,096,222
4,190,887
(-56.0 [-0.2%])
27,613.0
Detailed Metrics
group collect_metrics execute_time_ms total_cells_used total_cycles
regex_program true (+28.0 [+0.0%])
108,207.0
160,096,222
4,190,887
group chip_name collect_metrics rows_used
regex_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true
1,150,469
regex_program <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true
38,005
regex_program <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true
218,625
regex_program <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true
282,074
regex_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true
198,078
regex_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true
106,071
regex_program <Rv32HintStoreAdapterAir,Rv32HintStoreCoreAir> true
12,767
regex_program <Rv32JalrAdapterAir,Rv32JalrCoreAir> true
130,442
regex_program <Rv32LoadStoreAdapterAir,LoadSignExtendCoreAir<4, 8>> true
687
regex_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true
1,961,378
regex_program <Rv32MultAdapterAir,DivRemCoreAir<4, 8>> true
114
regex_program <Rv32MultAdapterAir,MulHCoreAir<4, 8>> true
244
regex_program <Rv32MultAdapterAir,MultiplicationCoreAir<4, 8>> true
52,087
regex_program <Rv32RdWriteAdapterAir,Rv32AuipcCoreAir> true
39,556
regex_program BitwiseOperationLookupAir<8> true
65,536
regex_program KeccakVmAir true
24
regex_program Memory AccessAdapter<2> true
21
regex_program Memory AccessAdapter<4> true
11
regex_program Memory AccessAdapter<8> true
34,586
regex_program Memory Boundary true
69,172
regex_program Memory Merkle true
70,444
regex_program PhantomAir true
289
regex_program ProgramChip true
89,366
regex_program RangeTupleCheckerAir<2> true
524,288
group collect_metrics dsl_ir opcode frequency
regex_program true ADD
1,007,997
regex_program true AND
66,789
regex_program true AUIPC
39,556
regex_program true BEQ
178,501
regex_program true BGE
294
regex_program true BGEU
121,597
regex_program true BLT
5,141
regex_program true BLTU
71,046
regex_program true BNE
103,573
regex_program true DIVU
114
regex_program true HINT_STOREW
12,767
regex_program true JAL
61,575
regex_program true JALR
130,442
regex_program true KECCAK256
1
regex_program true LOADB
679
regex_program true LOADBU
27,294
regex_program true LOADH
8
regex_program true LOADHU
95
regex_program true LOADW
1,142,833
regex_program true LUI
44,496
regex_program true MUL
52,087
regex_program true MULHU
244
regex_program true OR
23,536
regex_program true PHANTOM
289
regex_program true SLL
213,542
regex_program true SLT
5
regex_program true SLTU
38,000
regex_program true SRA
1
regex_program true SRL
5,082
regex_program true STOREB
12,721
regex_program true STOREH
10,074
regex_program true STOREW
768,361
regex_program true SUB
42,583
regex_program true XOR
9,564
group air_name collect_metrics dsl_ir opcode cells_used
regex_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true ADD
36,287,892
regex_program AccessAdapter<8> true ADD
102
regex_program Boundary true ADD
240
regex_program Merkle true ADD
128
regex_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true AND
2,404,404
regex_program <Rv32RdWriteAdapterAir,Rv32AuipcCoreAir> true AUIPC
830,676
regex_program AccessAdapter<8> true AUIPC
34
regex_program Boundary true AUIPC
80
regex_program Merkle true AUIPC
3,456
regex_program <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true BEQ
4,641,026
regex_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BGE
9,408
regex_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BGEU
3,891,104
regex_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BLT
164,512
regex_program <Rv32BranchAdapterAir,BranchLessThanCoreAir<4, 8>> true BLTU
2,273,472
regex_program <Rv32BranchAdapterAir,BranchEqualCoreAir<4>> true BNE
2,692,898
regex_program <Rv32MultAdapterAir,DivRemCoreAir<4, 8>> true DIVU
6,498
regex_program <Rv32HintStoreAdapterAir,Rv32HintStoreCoreAir> true HINT_STOREW
331,942
regex_program AccessAdapter<8> true HINT_STOREW
108,528
regex_program Boundary true HINT_STOREW
255,360
regex_program Merkle true HINT_STOREW
408,320
regex_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true JAL
1,108,350
regex_program <Rv32JalrAdapterAir,Rv32JalrCoreAir> true JALR
3,652,376
regex_program AccessAdapter<2> true KECCAK256
231
regex_program AccessAdapter<4> true KECCAK256
143
regex_program KeccakVmAir true KECCAK256
75,936
regex_program <Rv32LoadStoreAdapterAir,LoadSignExtendCoreAir<4, 8>> true LOADB
23,765
regex_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADBU
1,091,760
regex_program AccessAdapter<8> true LOADBU
221
regex_program Boundary true LOADBU
520
regex_program Merkle true LOADBU
2,112
regex_program <Rv32LoadStoreAdapterAir,LoadSignExtendCoreAir<4, 8>> true LOADH
280
regex_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADHU
3,800
regex_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true LOADW
45,713,320
regex_program AccessAdapter<8> true LOADW
3,026
regex_program Boundary true LOADW
7,120
regex_program Merkle true LOADW
24,896
regex_program <Rv32CondRdWriteAdapterAir,Rv32JalLuiCoreAir> true LUI
800,928
regex_program AccessAdapter<8> true LUI
17
regex_program Boundary true LUI
40
regex_program Merkle true LUI
64
regex_program <Rv32MultAdapterAir,MultiplicationCoreAir<4, 8>> true MUL
1,614,697
regex_program <Rv32MultAdapterAir,MulHCoreAir<4, 8>> true MULHU
9,516
regex_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true OR
847,296
regex_program PhantomAir true PHANTOM
1,734
regex_program <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SLL
11,317,726
regex_program <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true SLT
185
regex_program <Rv32BaseAluAdapterAir,LessThanCoreAir<4, 8>> true SLTU
1,406,000
regex_program AccessAdapter<8> true SLTU
17
regex_program Boundary true SLTU
40
regex_program <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SRA
53
regex_program <Rv32BaseAluAdapterAir,ShiftCoreAir<4, 8>> true SRL
269,346
regex_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREB
508,840
regex_program AccessAdapter<8> true STOREB
1,105
regex_program Boundary true STOREB
2,600
regex_program Merkle true STOREB
9,088
regex_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREH
402,960
regex_program AccessAdapter<8> true STOREH
85,221
regex_program Boundary true STOREH
200,520
regex_program Merkle true STOREH
320,896
regex_program <Rv32LoadStoreAdapterAir,LoadStoreCoreAir<4>> true STOREW
30,734,440
regex_program AccessAdapter<8> true STOREW
389,691
regex_program Boundary true STOREW
916,920
regex_program Merkle true STOREW
1,485,184
regex_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true SUB
1,532,988
regex_program <Rv32BaseAluAdapterAir,BaseAluCoreAir<4, 8>> true XOR
344,304
group commit_exe_time_ms execute_and_trace_gen_time_ms execute_time_ms fri.log_blowup keygen_time_ms num_segments total_cells_used total_cycles total_proof_time_ms
regex_program
43.0
(+58.0 [+0.6%])
9,214.0
(+44.0 [+0.7%])
6,716.0
2
(+4.0 [+1.9%])
210.0
1
160,096,222
4,190,887
(-56.0 [-0.2%])
27,613.0
group air_name constraints interactions quotient_deg
regex_program ProgramAir
4
1
1
regex_program VmConnectorAir
9
3
2
regex_program PersistentBoundaryAir<8>
6
3
2
regex_program MemoryMerkleAir<8>
40
4
2
regex_program AccessAdapterAir<2>
14
5
2
regex_program AccessAdapterAir<4>
14
5
2
regex_program AccessAdapterAir<8>
14
5
2
regex_program AccessAdapterAir<16>
14
5
2
regex_program AccessAdapterAir<32>
14
5
2
regex_program AccessAdapterAir<64>
14
5
2
regex_program PhantomAir
5
3
2
regex_program VmAirWrapper<Rv32BaseAluAdapterAir, BaseAluCoreAir<4, 8>
43
19
2
regex_program VmAirWrapper<Rv32BaseAluAdapterAir, LessThanCoreAir<4, 8>
39
17
2
regex_program VmAirWrapper<Rv32BaseAluAdapterAir, ShiftCoreAir<4, 8>
90
23
2
regex_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadStoreCoreAir<4>
38
17
2
regex_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadSignExtendCoreAir<4, 8>
33
18
2
regex_program VmAirWrapper<Rv32BranchAdapterAir, BranchEqualCoreAir<4>
25
11
2
regex_program VmAirWrapper<Rv32BranchAdapterAir, BranchLessThanCoreAir<4, 8>
41
13
2
regex_program VmAirWrapper<Rv32CondRdWriteAdapterAir, Rv32JalLuiCoreAir>
22
10
2
regex_program VmAirWrapper<Rv32JalrAdapterAir, Rv32JalrCoreAir>
20
16
2
regex_program VmAirWrapper<Rv32RdWriteAdapterAir, Rv32AuipcCoreAir>
15
11
2
regex_program VmAirWrapper<Rv32MultAdapterAir, MultiplicationCoreAir<4, 8>
26
19
2
regex_program VmAirWrapper<Rv32MultAdapterAir, MulHCoreAir<4, 8>
38
24
2
regex_program VmAirWrapper<Rv32MultAdapterAir, DivRemCoreAir<4, 8>
88
25
2
regex_program VmAirWrapper<Rv32HintStoreAdapterAir, Rv32HintStoreCoreAir>
17
15
2
regex_program KeccakVmAir
4,571
321
2
regex_program Poseidon2VmAir
525
32
2
regex_program BitwiseOperationLookupAir<8>
4
2
2
regex_program RangeTupleCheckerAir<2>
4
1
1
regex_program VariableRangeCheckerAir
4
1
1
group air_name segment cells main_cols perm_cols prep_cols rows
regex_program ProgramAir 0
2,359,296
10
8
131,072
regex_program VmConnectorAir 0
32
4
12
1
2
regex_program PersistentBoundaryAir<8> 0
4,194,304
20
12
131,072
regex_program MemoryMerkleAir<8> 0
6,815,744
32
20
131,072
regex_program AccessAdapterAir<2> 0
2,240
11
24
64
regex_program AccessAdapterAir<4> 0
1,184
13
24
32
regex_program AccessAdapterAir<8> 0
5,373,952
17
24
131,072
regex_program PhantomAir 0
9,216
6
12
512
regex_program VmAirWrapper<Rv32BaseAluAdapterAir, BaseAluCoreAir<4, 8> 0
243,269,632
36
80
2,097,152
regex_program VmAirWrapper<Rv32BaseAluAdapterAir, LessThanCoreAir<4, 8> 0
5,046,272
37
40
65,536
regex_program VmAirWrapper<Rv32BaseAluAdapterAir, ShiftCoreAir<4, 8> 0
27,525,120
53
52
262,144
regex_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadStoreCoreAir<4> 0
234,881,024
40
72
2,097,152
regex_program VmAirWrapper<Rv32LoadStoreAdapterAir, LoadSignExtendCoreAir<4, 8> 0
113,664
35
76
1,024
regex_program VmAirWrapper<Rv32BranchAdapterAir, BranchEqualCoreAir<4> 0
38,797,312
26
48
524,288
regex_program VmAirWrapper<Rv32BranchAdapterAir, BranchLessThanCoreAir<4, 8> 0
23,068,672
32
56
262,144
regex_program VmAirWrapper<Rv32CondRdWriteAdapterAir, Rv32JalLuiCoreAir> 0
8,126,464
18
44
131,072
regex_program VmAirWrapper<Rv32JalrAdapterAir, Rv32JalrCoreAir> 0
8,388,608
28
36
131,072
regex_program VmAirWrapper<Rv32RdWriteAdapterAir, Rv32AuipcCoreAir> 0
3,211,264
21
28
65,536
regex_program VmAirWrapper<Rv32MultAdapterAir, MultiplicationCoreAir<4, 8> 0
7,274,496
31
80
65,536
regex_program VmAirWrapper<Rv32MultAdapterAir, MulHCoreAir<4, 8> 0
35,584
39
100
256
regex_program VmAirWrapper<Rv32MultAdapterAir, DivRemCoreAir<4, 8> 0
20,608
57
104
128
regex_program VmAirWrapper<Rv32HintStoreAdapterAir, Rv32HintStoreCoreAir> 0
1,015,808
26
36
16,384
regex_program KeccakVmAir 0
142,464
3,164
1,288
32
regex_program Poseidon2VmAir 0
164,364,288
559
68
262,144
regex_program BitwiseOperationLookupAir<8> 0
655,360
2
8
3
65,536
regex_program RangeTupleCheckerAir<2> 0
4,718,592
1
8
2
524,288
regex_program VariableRangeCheckerAir 0
1,179,648
1
8
2
131,072
group segment stark_prove_excluding_trace_time_ms total_cells
regex_program 0 (-114.0 [-0.6%])
18,399.0
790,590,848
Flamegraphs




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

@@ -241,3 +254,23 @@ impl Ord for I256 {
return self.as_bigint().cmp(&other.as_bigint());
}
}

impl Clone for I256 {
Copy link
Contributor

Choose a reason for hiding this comment

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

this is really cool

@jonathanpwang jonathanpwang merged commit 362d213 into main Nov 8, 2024
12 checks passed
@jonathanpwang jonathanpwang deleted the feat/int256 branch November 8, 2024 19:01
luffykai pushed a commit that referenced this pull request Dec 13, 2024
* feat: u256 not zkvm version

* address comments

* fix: biguint_to_limbs

* feat: towards u256 zkvm

* feat: u256 + i256 axvm libraries + tests

* fix: lints

* fix: removed print comments

* Address Comments

* fix: use panic!()

* feat: make a macro for implementing an operation trait

* fix: alloc

* fix: alloc

* feat: MIN and MAX for int256

* fefat: implement our own copy + address comments

* feat: add a clone test
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.

3 participants