docs(compiler): reorganize the doc

This commit is contained in:
Benoit Chevallier-Mames
2024-03-01 18:21:44 +01:00
committed by Benoit Chevallier-Mames
parent 68cada3963
commit 089b5e8d6c
8 changed files with 112 additions and 113 deletions

View File

@@ -1,4 +1,6 @@
# Concrete projects layout
# Projects layout
## Concrete layout
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.
@@ -10,3 +12,17 @@ Concrete is made of 4 main categories of sub-project that are organized in subdi
- `concrete-cpu`, using TFHE-rs that implement the fastest implementation of TFHE on CPU.
- `concrete-cuda` that provides a GPU acceleration of TFHE primitives.
- `tools` are basically every other sub-projects that cannot be classified in the three previous categories and which are used as a common support by the others.
## Concrete Python layout
The module structure of **Concrete Python**. You are encouraged to check individual `.py` files to learn more.
* concrete
* fhe
* **dtypes:** data type specifications (e.g., int4, uint5, float32)
* **values:** value specifications (i.e., data type + shape + encryption status)
* **representation:** representation of computation (e.g., computation graphs, nodes)
* **tracing:** tracing of python functions
* **extensions:** custom functionality (see [Extensions](../../tutorial/extensions.md))
* **mlir:** computation graph to mlir conversion
* **compilation:** configuration, compiler, artifacts, circuit, client/server, and anything else related to compilation