Skip to content

Dynamic WHT rounds in TurboQuant#7330

Draft
connortsui20 wants to merge 2 commits intodevelopfrom
ct/sorf
Draft

Dynamic WHT rounds in TurboQuant#7330
connortsui20 wants to merge 2 commits intodevelopfrom
ct/sorf

Conversation

@connortsui20
Copy link
Copy Markdown
Contributor

@connortsui20 connortsui20 commented Apr 7, 2026

Summary

Tracking issue: #7297

Adds the ability to have a dynamic number of rounds of FWHT rounds for the SORF algorithm. Previously, this was just hardcoded to 3.

Testing

Existing tests suffice.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20 connortsui20 requested a review from lwwmanning April 7, 2026 22:34
@connortsui20 connortsui20 added the changelog/feature A new feature label Apr 7, 2026
Comment on lines +19 to +22

/// The number of sign-diagonal + WHT rounds in the structured rotation.
#[prost(uint32, required, tag = "2")]
num_rounds: u32,
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

If we want to extract this out into a scalar fn array on top of this, then this will have to change in the future.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Apr 7, 2026

Merging this PR will degrade performance by 14.84%

❌ 1 regressed benchmark
✅ 1121 untouched benchmarks
⏩ 1530 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation chunked_bool_canonical_into[(1000, 10)] 50.1 µs 58.8 µs -14.84%

Comparing ct/sorf (ca156d0) with develop (b9c47cf)

Open in CodSpeed

Footnotes

  1. 1530 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant