doc: let's document the framework

refs #143
This commit is contained in:
Benoit Chevallier-Mames
2021-09-09 13:12:40 +02:00
committed by Benoit Chevallier
parent 6d43ab81a9
commit 390429a783

View File

@@ -11,10 +11,22 @@ Concrete framework is made of several parts:
In the first version of Concrete framework, there is a single frontend, called concrete-hnp, which is the equivalent of numpy. With our toolchain, a data scientist can convert a numpy program into an FHE program, without any a-priori knowledge on cryptography.
## Organization of the Documentation
## Organization of the documentation
Basically, we have divided our documentation into several parts:
- one about basic elements, notably description of the installation, that you are currently reading
- one dedicated to _users_ of Concrete, with tutorials, how-to's and deeper explanations
- and finally, one dedicated to _developpers_ of Concrete, who could be internal or external contributors to the framework
## A work in progress
Concrete is a work in progress, and is currently limited to a certain number of operators and features. In the future, there will be improvements as described in this [section](user/explanation/FUTURE_FEATURES.md).
The main _current_ limits are:
- Concrete is only supporting unsigned integers
- Concrete needs the integer to be less than 7 bits (included)
- Concrete is mostly restricted to scalars (by opposition to tensors). The only exception is the `dot` operator, which can dot a tensor of encrypted values with a tensor of constant values
The first two limits can be taken care of with the use of quantization, as explained a bit further in [this](user/explanation/QUANTIZATION.md) and [this](user/howto/REDUCE_NEEDED_PRECISION.md) parts of the documentation.
The scalar limitation is mainly an engineering issue, and will be fixed in the next release. Today, one needs to split all the tensors into small scalars, which is inconvenient and will be no more needed very soon.