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

Ns/remove arch features #1858

Merged
merged 8 commits into from
Dec 17, 2024
Merged

Ns/remove arch features #1858

merged 8 commits into from
Dec 17, 2024

Conversation

nsarlin-zama
Copy link
Contributor

closes: https://github.com/zama-ai/tfhe-rs-internal/issues/827

PR content/description

Removes the arch specific features: "x86_64-unix", "aarch64-unix",... Now tfhe-csprng enables the right seeders and prng automatically:

  • for the seeder, x86 targets are always compiled with rdseed, and unix targets will always be compiled with /dev/random support. The seeder choice will be made at runtime based on the available options
  • for the generator, by default a hardware implem using aesni/neon will be chosen by default. User can force the usage of the software implementation with the software_prng feature.

I think this is the closest to the previous behavior, where we already had a trait object for the seeder and a statically dispatched generator

Check-list:

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • Relevant issues are marked as resolved/closed, related issues are linked in the description
  • Check for breaking changes (including serialization changes) and add them to commit message following the conventional commit specification

@cla-bot cla-bot bot added the cla-signed label Dec 9, 2024
@nsarlin-zama nsarlin-zama force-pushed the ns/remove_arch_features branch 2 times, most recently from eceb309 to 2cd7df1 Compare December 10, 2024 09:44
tfhe/Cargo.toml Outdated Show resolved Hide resolved
tfhe-csprng/src/generators/aes_ctr/mod.rs Outdated Show resolved Hide resolved
tfhe-csprng/Cargo.toml Outdated Show resolved Hide resolved
tfhe/Cargo.toml Outdated Show resolved Hide resolved
BREAKING_CHANGE:
- The `seeder_unix` feature is no longer supported for tfhe-csprng
BREAKING_CHANGE:
- The `seeder_x86_64_rdseed` feature is no longer supported for tfhe-csprng
BREAKING_CHANGE:
- The `generator_x86_64_aesni` feature is no longer supported for tfhe-csprng
BREAKING_CHANGE:
- The `generator_aarch64_aes` feature is no longer supported for tfhe-csprng
@nsarlin-zama nsarlin-zama force-pushed the ns/remove_arch_features branch from 69112ef to 1cec487 Compare December 16, 2024 10:47
@nsarlin-zama nsarlin-zama added the m1_test Launch test on our CI m1 mac label Dec 16, 2024
@github-actions github-actions bot removed the m1_test Launch test on our CI m1 mac label Dec 16, 2024
BREAKING_CHANGE:
-	The x86_64, x86_64-unix, aarch64, aarch64-unix have been removed, the target
architecture and os family are now automatically detected. A `software_prng`
feature has been added to force the use of a software implementation on older
CPUs
@nsarlin-zama nsarlin-zama force-pushed the ns/remove_arch_features branch from 1cec487 to f4e2757 Compare December 16, 2024 14:53
@zama-bot zama-bot removed the approved label Dec 16, 2024
@nsarlin-zama nsarlin-zama added approved m1_test Launch test on our CI m1 mac labels Dec 16, 2024
@github-actions github-actions bot removed the m1_test Launch test on our CI m1 mac label Dec 16, 2024
@nsarlin-zama nsarlin-zama merged commit 4e2db92 into main Dec 17, 2024
153 of 160 checks passed
@nsarlin-zama nsarlin-zama deleted the ns/remove_arch_features branch December 17, 2024 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants