diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 8e91389f88..313d9eb73f 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -62,6 +62,7 @@ ## Explanations +* [Compiler workflow](dev/compilation/README.md) * [Frontend fusing](explanations/fusing.md) * [Compiler backend](explanations/backends/README.md) * [Adding a new backend](explanations/backends/new_backend.md) diff --git a/docs/explanations/backends/README.md b/docs/explanations/backends/README.md index 2e93932baa..4d07df2040 100644 --- a/docs/explanations/backends/README.md +++ b/docs/explanations/backends/README.md @@ -1,6 +1,6 @@ # Concrete backends -The concrete backends are implementations of the cryptographic primitives of the Zama variant of [TFHE](https://eprint.iacr.org/2018/421.pdf). +The Concrete backends are implementations of the cryptographic primitives of the Zama variant of [TFHE](https://eprint.iacr.org/2018/421.pdf). The compiler emits code which combines call into these backends to perform more complex homomorphic operations. There are client and server features. diff --git a/docs/explanations/backends/new_backend.md b/docs/explanations/backends/new_backend.md index 7d9a5912e9..a9100ee91d 100644 --- a/docs/explanations/backends/new_backend.md +++ b/docs/explanations/backends/new_backend.md @@ -3,7 +3,7 @@ ## Context -The concrete backends are implementations of the cryptographic primitives of the Zama variant of [TFHE](https://eprint.iacr.org/2018/421.pdf). +The Concrete backends are implementations of the cryptographic primitives of the Zama variant of [TFHE](https://eprint.iacr.org/2018/421.pdf). There are client features (private and public key generation, encryption and decryption) and server features (homomorphic operations on ciphertexts using public keys). diff --git a/docs/explanations/layout.md b/docs/explanations/layout.md index 3fb90b4eb8..0817bfb7ec 100644 --- a/docs/explanations/layout.md +++ b/docs/explanations/layout.md @@ -4,7 +4,7 @@ Concrete is a modular framework composed by sub-projects using different technologies, all having theirs own build system and test suite. Each sub-project have is own README that explain how to setup the developer environment, how to build it and how to run tests commands. -Concrete is made of 4 main categories of sub-project that are organized in subdirectories from the root of the concrete repo: +Concrete is made of 4 main categories of sub-project that are organized in subdirectories from the root of the Concrete repo: * `frontends` contains **high-level transpilers** that target end users developers who want to use the Concrete stack easily from their usual environment. There are for now only one frontend provided by the Concrete project: a Python frontend named `concrete-python`. * `compilers` contains the sub-projects in charge of actually solving the compilation problem of an high-level abstraction of FHE to an actual executable. `concrete-optimizer` is a Rust based project that solves the optimization problems of an FHE dag to a TFHE dag and `concrete-compiler` which use `concrete-optimizer` is an end-to-end MLIR-based compiler that takes a crypto free FHE dialect and generates compilation artifacts both for the client and the server. `concrete-compiler` project provide in addition of the compilation engine, a client and server library in order to easily play with the compilation artifacts to implement a client and server protocol.