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

Make AVX512IFMA opt-in backend #695

Merged
merged 4 commits into from
Sep 8, 2024

Conversation

pinkforest
Copy link
Contributor

@pinkforest pinkforest commented Aug 29, 2024

Closes #694 #635 #693

Provides cfg(curve25519_dalek_backend = "unstable_avx512")

Errors

  • If nightly is not in use -> Must use nightly in order to use it (similar to compiler main when attempting to use unstables)
  • If not x86_64 simd capable target -> As with simd error out similarly

Note: I avoided whole lot of any(curve25519_dalek_backend = "simd", curve25519_dalek_backend = "unstable_avx512") gating because compilre allows multi-value per cfg-key where we emit "simd" in addition to unstable_avx512 when potential use validated giving AVX2 fallback through simd.

If it's desirable to instead have explicit gating then let me know - but it pollutes a lot of gating.

Copy link
Contributor

@rozbb rozbb left a comment

Choose a reason for hiding this comment

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

Thank you! Left some small nits here and there

curve25519-dalek/build.rs Outdated Show resolved Hide resolved
curve25519-dalek/build.rs Show resolved Hide resolved
curve25519-dalek/src/backend/mod.rs Show resolved Hide resolved
curve25519-dalek/build.rs Show resolved Hide resolved
curve25519-dalek/src/backend/mod.rs Show resolved Hide resolved
@rozbb
Copy link
Contributor

rozbb commented Sep 6, 2024

Ok this seems good to me, thoughts @tarcieri ?

@rozbb rozbb merged commit b636fb8 into dalek-cryptography:main Sep 8, 2024
22 checks passed
@rozbb
Copy link
Contributor

rozbb commented Sep 8, 2024

Thanks again!

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.

Experimental supports cfg
3 participants