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

Karatsuba 1.0 #134

Closed
wants to merge 1 commit into from
Closed

Karatsuba 1.0 #134

wants to merge 1 commit into from

Conversation

DmytroTym
Copy link
Contributor

This PR introduces a new improved multiplier

Copy link

@IdoAtlas IdoAtlas left a comment

Choose a reason for hiding this comment

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

have no comments on code, if it works correctly that's fine.

first, it important that we will have stand-alone benchmark of multiplier for 384 bit field and 256 bit field
each benchmark measures throughput (mults / sec, mod mults / sec) and power (to calculate mod mults / watt). should have those target optimization parameters in front of our eyes at every optimization iteration.

for future improvements:

  1. detailed performance breakdown of the mod-mult (how much does each part takes?)
    specific points:
  • i encountered a way to get rid of the barrel-shifts, want to see what is the actual impact, if this is a signficant problem let's implement the new method.
  • reduce redundency and msb multiplier
  1. understanding the karatsuba gains, where do they come from? can we benefit from breaking it another level? can we use ADK for better results?

@DmytroTym
Copy link
Contributor Author

@IdoAtlas thanks for your comments, I do need to provide benchmarks: standalone multiplier, as well as higher-level primitives. Was going to do it when done with the MSM and interfaces thing, which should be either today or tomorrow

@DmytroTym
Copy link
Contributor Author

Closed in favour of #289

@DmytroTym DmytroTym closed this Nov 29, 2023
@DmytroTym DmytroTym deleted the multiplier_speedups branch December 12, 2023 18:30
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.

None yet

2 participants