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(meq): use simd to improve performance of meq #884

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rymnc
Copy link
Member

@rymnc rymnc commented Dec 27, 2024

Warning

This is an experimental PR, not to be merged in, but to start a conversation about using simd when it lands in stable ~ or use a different library to access arch-specific simd instructions. While doing the zkvm benchmarks with large meq's, it results in a lot of execution cycles and proving time. This enhancement should improve things there.

[Link to related issue(s) here, if any]

[Short description of the changes.]
Usage of cpu intrinsics (neon, avx2, avx512f) to improve memory compare performance. detected upto 40% on neon, and 20-30% using avx2.

avx2 and avx512f can probably be optimised in terms of the masking

Checklist

  • Breaking changes are clearly marked as such in the PR description and changelog
  • New behavior is reflected in tests
  • If performance characteristic of an instruction change, update gas costs as well or make a follow-up PR for that
  • The specification matches the implemented behavior (link update PR if changes are needed)

Before requesting review

  • I have reviewed the code myself
  • I have created follow-up issues caused by this PR and linked them here

After merging, notify other teams

[Add or remove entries as needed]

@rymnc rymnc added the no changelog Skips the CI changelog check label Dec 27, 2024
@rymnc rymnc force-pushed the chore/use-simd-for-meq branch from 50db594 to 16255b4 Compare December 29, 2024 18:27
@rymnc rymnc force-pushed the chore/use-simd-for-meq branch from 41b7550 to f1b162f Compare December 31, 2024 12:29
@rymnc rymnc changed the title feat(meq): use portable_simd to improve performance of meq feat(meq): use simd to improve performance of meq Dec 31, 2024
@rymnc rymnc force-pushed the chore/use-simd-for-meq branch 6 times, most recently from a867507 to f1b162f Compare January 1, 2025 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no changelog Skips the CI changelog check
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant