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

Investigate the use of portable_simd #129

Open
tlepoint opened this issue Sep 7, 2022 · 2 comments
Open

Investigate the use of portable_simd #129

tlepoint opened this issue Sep 7, 2022 · 2 comments
Labels
enhancement New feature or request question Further information is requested rust Pull requests that update Rust code

Comments

@tlepoint
Copy link
Owner

tlepoint commented Sep 7, 2022

Rust has an experimental portable SIMD abstraction which could be particularly useful to speed up some of the vector modular operations / NTTs in a "generic" way (i.e., without needing to specialize for AVX2 or Neon). I did some minimal investigation in the branch simd-2, and observe some speedup in a virtual machine with Intel CPU when enabling avx2 and avx512f in RUSTFLAGS. Such a feature may require a lot of care to properly handle alignment, and this issue is created to centralize the discussions about SIMD.

@tlepoint tlepoint added enhancement New feature or request question Further information is requested rust Pull requests that update Rust code labels Sep 7, 2022
@fionser
Copy link
Collaborator

fionser commented Jan 2, 2024

How about the ntt libray from Zama ?

@tlepoint
Copy link
Owner Author

tlepoint commented Jan 3, 2024

Yes! Now that the latest bug in concrete-ntt is fixed, it should be easy to integrate it. I had a local branch with this integration a few weeks ago and need to revive it, but I also need to solve #229 before that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested rust Pull requests that update Rust code
Projects
None yet
Development

No branches or pull requests

2 participants