-
Notifications
You must be signed in to change notification settings - Fork 17
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
Floating point mathematics for TFHE-rs #92
Comments
Hello Lcressot, Thank you for your bounty proposition! Our team will review and add comments in your issue! In the meantime:
Talk soon, |
Hello @Lcressot, Thank you for this proposition. We are currently reviewing the regular bounties but we will get back to you |
Hello @Lcressot, Thank you for your suggestion. While the idea looks interesting, it's still an open area of research internally and we are yet not sure about the proper approach for supporting decimal numbers. Also we are encouraging grants that are actually applications using tfhe-rs, rather than contribution to the code, which can be harder to integrate and maintain over time on our side. For these reasons we won't go further with this suggestion. Cheers, |
Hello.Ok, thank you for the explanation.Best,LoicLe 9 févr. 2024 à 15:53, Alex Quint ***@***.***> a écrit :
Hello @Lcressot,
Thank you for your suggestion. While the idea looks interesting, it's still an open area of research internally and we are yet not sure about the proper approach for supporting decimal numbers.
Also we are encouraging grants that are actually applications using tfhe-rs, rather than contribution to the code, which can be harder to integrate and maintain over time on our side.
For these reasons we won't go further with this suggestion.
Cheers,
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Zama Bounty Program: Proposition
TFHE-rs
I propose to implement a class to represent signed float numbers in tfhe-rs (using a quantized representation) along with elementary math functions for these numbers. This will make the computation of basic statistics (such as mean and variance) possible for encrypted numbers.
The numbers will be represented as arrays of 1 block integer ciphertexts, with chosen maximum value and float precision.
Elementary operators will be coded: equality, gt,ge,lt,le, addition, subtraction, multiplication, division.
Clear conversion from and toward rust float will be provided.
Note: This part will be a rust adaptation of quantized floating point numbers developed for concrete (see
QFloat
class in matrix inversion bounty). It will be faster because it will use maximaly massive parallelization with rayon. While a lot of the code will be reused, rust adaptation is not straightforward and is expected to need more code than the concrete python version because concrete python does a lot of operations internally.Math operations:
i. sum, mean, scalar product of vectors of encrypted floats
ii. Integer exponentiation: pow(x: encryptedFloat, y: int) where x is an encrypted float and y a clear integer.
iii. Cos, sin, tan for encrypted floats
iv. Variance, median for arrays of encrypted floats
Square root (with newton-raphson method) + standard deviation of encrypted floats
A main with tests for 1., 2. and 3.
Matrix inversion bounty
The text was updated successfully, but these errors were encountered: