You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The goal of this bounty is to enhance the performances of the TFHE-rs library using any optimizations, including cryptographic or algorithmic tricks.
The focus of the optimization should be on:
Cryptographic primitives: Programmable bootstrapping or keyswitch.
Integer operations: Any operations, with a special interest in addition, multiplication, or division for integers larger than or equal to 64 bits. These could target scenarios where both inputs are encrypted or only one is encrypted while the other is in clear text (also called scalar).
What we expect
In your optimization, you should consider the following constraints.:
Cryptographic parameters: These can be adjusted, but the security must be at least 128 bits, and the error probability should be at most 2^(−40) for the entire process, including linear operations, a keyswitch, and a programmable bootstrapping. If any new cryptographic techniques are introduced, proofs that these constraints are met must be explicitly provided.
Compatibility with other operations: The newly introduced methods should not degrade existing features. For instance, if a new encoding accelerating multiplication is provided, a casting method must be available to convert between the new and classical encoding. Any overhead related to the new methods should be explicitly stated and properly benchmarked. Generally, all tests must be run to prove that correctness is verified.
To be considered best submission, a solution must be efficient, effective and demonstrate a deep understanding of the core problem. Alongside the technical correctness, it should also be submitted with a clean code, clear explanations and a complete documentation.
🥈Second-best submission: up to €3,000.
For a solution to be considered the second best submission, it should be both efficient and effective. The code should be neat and readable, while its documentation might not be as exhaustive as the best submission, it should cover the key aspects of the solution.
🥉Third-best submission: up to €2,000.
The third best submission is one that presents a solution that effectively tackles the challenge at hand, even if it may have certain areas of improvement in terms of efficiency or depth of understanding. Documentation should be present, covering the essential components of the solution.
Reward amounts are decided based on code quality, model accuracy scores and speed performance on a m6i.metal AWS server. When multiple solutions of comparable scope are submitted they are compared based on the accuracy metrics and computation times.
Click here to register for the TFHE-rs Bounty. Fill out the registration form with your information. Once you fill out the form, you will receive a confirmation email with a link to the submission portal for when you are ready to submit your code.
Note
Check your spam folder in case you don't receive the confirmation email. If you haven't received it within 24 hour, please contact us by email at [email protected].
Step 2: Work on the Challenge
Read through the Bounty details and requirements carefully. Use the provided resources and create your own GitHub repository to store your code.
If you have any questions during your work, feel free to comment directly in the Bounty issue and our team will be happy to assist you.
Step 3: Submission
Once you have completed your work, upload your completed work to the submission portal using the link provided in the confirmation email.
Note
The deadline for submission is September, 8th 2024 (23:59, Anywhere On Earth). Late submissions will not be considered.
We wish you the best of luck with the challenge!
✅ Support
Comment on this issue with any questions regarding this bounty.
Overview
The goal of this bounty is to enhance the performances of the TFHE-rs library using any optimizations, including cryptographic or algorithmic tricks.
The focus of the optimization should be on:
What we expect
In your optimization, you should consider the following constraints.:
Cryptographic parameters: These can be adjusted, but the security must be at least 128 bits, and the error probability should be at most 2^(−40) for the entire process, including linear operations, a keyswitch, and a programmable bootstrapping. If any new cryptographic techniques are introduced, proofs that these constraints are met must be explicitly provided.
Compatibility with other operations: The newly introduced methods should not degrade existing features. For instance, if a new encoding accelerating multiplication is provided, a casting method must be available to convert between the new and classical encoding. Any overhead related to the new methods should be explicitly stated and properly benchmarked. Generally, all tests must be run to prove that correctness is verified.
In the end, benchmarks will be run on an AWS hpc7a.96xlarge instance.
For integer operations, the command is:
RUSTFLAGS="-C target-cpu=native" __TFHE_RS_BENCH_OP_FLAVOR=DEFAULT __TFHE_RS_FAST_BENCH=FALSE cargo +nightly-2024-04-29 bench --bench integer-bench --features=x86_64-unix,integer,internal-keycache,nightly-avx512 -p tfhe -- mul_parallelized::PARAM_MESSAGE_2_CARRY_2_KS_PBS::64_bits
This command must be adjusted depending on the operation, for example, for division it becomes:
RUSTFLAGS="-C target-cpu=native" __TFHE_RS_BENCH_OP_FLAVOR=DEFAULT __TFHE_RS_FAST_BENCH=FALSE cargo +nightly-2024-04-29 bench --bench integer-bench --features=x86_64-unix,integer,internal-keycache,nightly-avx512 -p tfhe -- div_rem_parallelized::PARAM_MESSAGE_2_CARRY_2_KS_PBS::64_bits
Reward
🥇Best submission: up to €5,000.
To be considered best submission, a solution must be efficient, effective and demonstrate a deep understanding of the core problem. Alongside the technical correctness, it should also be submitted with a clean code, clear explanations and a complete documentation.
🥈Second-best submission: up to €3,000.
For a solution to be considered the second best submission, it should be both efficient and effective. The code should be neat and readable, while its documentation might not be as exhaustive as the best submission, it should cover the key aspects of the solution.
🥉Third-best submission: up to €2,000.
The third best submission is one that presents a solution that effectively tackles the challenge at hand, even if it may have certain areas of improvement in terms of efficiency or depth of understanding. Documentation should be present, covering the essential components of the solution.
Reward amounts are decided based on code quality, model accuracy scores and speed performance on a m6i.metal AWS server. When multiple solutions of comparable scope are submitted they are compared based on the accuracy metrics and computation times.
Related links and references
👉 Register
Step 1: Registration
Click here to register for the TFHE-rs Bounty. Fill out the registration form with your information. Once you fill out the form, you will receive a confirmation email with a link to the submission portal for when you are ready to submit your code.
Note
Check your spam folder in case you don't receive the confirmation email. If you haven't received it within 24 hour, please contact us by email at [email protected].
Step 2: Work on the Challenge
Read through the Bounty details and requirements carefully. Use the provided resources and create your own GitHub repository to store your code.
If you have any questions during your work, feel free to comment directly in the Bounty issue and our team will be happy to assist you.
Step 3: Submission
Once you have completed your work, upload your completed work to the submission portal using the link provided in the confirmation email.
Note
The deadline for submission is September, 8th 2024 (23:59, Anywhere On Earth). Late submissions will not be considered.
We wish you the best of luck with the challenge!
✅ Support
The text was updated successfully, but these errors were encountered: