Skip to content

feat: extract_layout implementation for native Poseidon2#1813

Merged
stephenh-axiom-xyz merged 1 commit into
feat/new-executionfrom
feat/native-poseidon2-extract
Jul 3, 2025
Merged

feat: extract_layout implementation for native Poseidon2#1813
stephenh-axiom-xyz merged 1 commit into
feat/new-executionfrom
feat/native-poseidon2-extract

Conversation

@stephenh-axiom-xyz

Copy link
Copy Markdown
Contributor

Resolves INT-4288.

Discussed with @arayikhalatyan, for trace generation purposes we can actually treat native Poseidon2 as if it uses fixed-size records. This simplifies the GPU tracegen and allows us to not send any auxiliary information to the GPU device.

@codspeed-hq

codspeed-hq Bot commented Jul 2, 2025

Copy link
Copy Markdown

CodSpeed WallTime Performance Report

Merging #1813 will not alter performance

Comparing feat/native-poseidon2-extract (5c9157f) with feat/new-execution (040d653)

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

Summary

✅ 20 untouched benchmarks

@github-actions

github-actions Bot commented Jul 2, 2025

Copy link
Copy Markdown
group app.proof_time_ms app.cycles app.cells_used leaf.proof_time_ms leaf.cycles leaf.cells_used
verify_fibair (+25 [+2.0%]) 1,260 322,648 17,270,578 - - -
fibonacci (+6 [+0.3%]) 2,358 1,500,277 50,589,231 - - -
regex (+56 [+0.8%]) 6,982 4,165,432 166,449,586 - - -
ecrecover (+24 [+1.7%]) 1,416 137,260 8,174,585 - - -
pairing (-47 [-1.2%]) 3,984 1,862,964 102,530,853 - - -

Commit: 5c9157f

Benchmark Workflow

@arayikhalatyan arayikhalatyan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I believe this idea should work, and even makes it much easer to do parallel tracegen over rows on GPU.
Note, this is different from other chips in the sense that we will 'decode' the records from buffer differently from how they were 'allocated'. During execution we allocate 1 record (aka NativePoseidon2RecordMut) per instruction but in buffer decoding during tracegen we will treat it as 1 record (aka &mut NativePoseidon2Cols) per row

@stephenh-axiom-xyz stephenh-axiom-xyz merged commit 3f2b5fc into feat/new-execution Jul 3, 2025
29 checks passed
@stephenh-axiom-xyz stephenh-axiom-xyz deleted the feat/native-poseidon2-extract branch July 3, 2025 13:34
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