diff --git a/.github/ISSUE_TEMPLATE/refactor.md b/.github/ISSUE_TEMPLATE/refactor.md index dc8d53030..0084792d9 100644 --- a/.github/ISSUE_TEMPLATE/refactor.md +++ b/.github/ISSUE_TEMPLATE/refactor.md @@ -16,4 +16,4 @@ List all files/modules/projects impacted by this refactor.

file.py

- \ No newline at end of file + diff --git a/README.md b/README.md index b31760944..1134bb33f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Concrete Framework Python API - collection of tools to FHE all the things -## Installing +## Installing Installation steps are described in [INSTALLING.md](docs/install/INSTALLING.md). diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..dc8e892b4 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,3 @@ +# What is ConcreteFHE + +To be done diff --git a/docs/dev/COMPILATION.md b/docs/dev/explanation/COMPILATION.md similarity index 96% rename from docs/dev/COMPILATION.md rename to docs/dev/explanation/COMPILATION.md index 32b8ca63e..5b9dc9321 100644 --- a/docs/dev/COMPILATION.md +++ b/docs/dev/explanation/COMPILATION.md @@ -54,7 +54,7 @@ Once the MLIR is prepared, the rest of the stack, which you can learn more about Here is the visual representation of the pipeline: -![Frontend Flow](../_static/compilation-pipeline/frontend_flow.svg) +![Frontend Flow](../../_static/compilation-pipeline/frontend_flow.svg) ## Tracing @@ -67,7 +67,7 @@ def f(x): the goal of tracing is to create the following operation graph without needing any change from the user. -![](../_static/compilation-pipeline/two_x_plus_three.png) +![](../../_static/compilation-pipeline/two_x_plus_three.png) (Note that the edge labels are for non-commutative operations. To give an example, a subtraction node represents `(predecessor with edge label 0) - (predecessor with edge label 1)`) @@ -140,7 +140,7 @@ After the entire dataset is evaluated, we assign a data type to each node using Here is an example, given this operation graph where `x` is encrypted: -![](../_static/compilation-pipeline/two_x_plus_three.png) +![](../../_static/compilation-pipeline/two_x_plus_three.png) and this dataset: @@ -218,7 +218,7 @@ x = EncryptedScalar(UnsignedInteger(2)) #### Corresponding Operation Graph -![](../_static/compilation-pipeline/two_x_plus_three.png) +![](../../_static/compilation-pipeline/two_x_plus_three.png) ### Topological Transforms @@ -268,7 +268,7 @@ y = EncryptedScalar(UnsignedInteger(1)) #### Corresponding Operation Graph -![](../_static/compilation-pipeline/forty_two_minus_x_plus_y_times_two.png) +![](../../_static/compilation-pipeline/forty_two_minus_x_plus_y_times_two.png) ### Topological Transforms diff --git a/docs/dev/FLOAT-FUSING.md b/docs/dev/explanation/FLOAT-FUSING.md similarity index 96% rename from docs/dev/FLOAT-FUSING.md rename to docs/dev/explanation/FLOAT-FUSING.md index b0c833b0d..a283764e9 100644 --- a/docs/dev/FLOAT-FUSING.md +++ b/docs/dev/explanation/FLOAT-FUSING.md @@ -24,15 +24,15 @@ Any computation where there is a single variable integer input and a single inte The `quantized_sin` graph of operations: -![](../_static/float_fusing_example/before.png) +![](../../_static/float_fusing_example/before.png) The float subgraph that was detected: -![](../_static/float_fusing_example/subgraph.png) +![](../../_static/float_fusing_example/subgraph.png) The simplified graph of operations with the float subgraph condensed in an `ArbitraryFunction` node: -![](../_static/float_fusing_example/after.png) +![](../../_static/float_fusing_example/after.png) ## How is it done in concretefhe? diff --git a/docs/dev/explanation/MLIR.md b/docs/dev/explanation/MLIR.md new file mode 100644 index 000000000..74c37dea7 --- /dev/null +++ b/docs/dev/explanation/MLIR.md @@ -0,0 +1,4 @@ +# MLIR + +to be done + diff --git a/docs/dev/TERMINOLOGY_AND_STRUCTURE.md b/docs/dev/explanation/TERMINOLOGY_AND_STRUCTURE.md similarity index 100% rename from docs/dev/TERMINOLOGY_AND_STRUCTURE.md rename to docs/dev/explanation/TERMINOLOGY_AND_STRUCTURE.md diff --git a/docs/dev/CONTRIBUTING.md b/docs/dev/howto/CONTRIBUTING.md similarity index 98% rename from docs/dev/CONTRIBUTING.md rename to docs/dev/howto/CONTRIBUTING.md index 713d73031..d4c401488 100644 --- a/docs/dev/CONTRIBUTING.md +++ b/docs/dev/howto/CONTRIBUTING.md @@ -95,7 +95,7 @@ git checkout $YOUR_BRANCH # rebase on top of main branch git rebase main -# push the latest version of the local branch to remote +# push the latest version of the local branch to remote git push --force ``` diff --git a/docs/dev/DOCUMENTING.md b/docs/dev/howto/DOCUMENTING.md similarity index 100% rename from docs/dev/DOCUMENTING.md rename to docs/dev/howto/DOCUMENTING.md diff --git a/docs/dev/RELEASING.md b/docs/dev/howto/RELEASING.md similarity index 100% rename from docs/dev/RELEASING.md rename to docs/dev/howto/RELEASING.md diff --git a/docs/index.rst b/docs/index.rst index 9417ec3b6..fcbe69845 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,30 +4,60 @@ Homomorphic Development Kit's documentation .. toctree:: :maxdepth: 2 - :caption: Installing + :caption: Basics + README.md install/INSTALLING.md install/DOCKER.md .. toctree:: :maxdepth: 2 - :caption: User doc + :caption: Tutorial - user/FIRST_USE.md + user/tutorial/FIRST_TUTORIAL.md + user/tutorial/SECOND_TUTORIAL.md + user/tutorial/THIRD_TUTORIAL.md .. toctree:: :maxdepth: 2 - :caption: Developer doc + :caption: How to - dev/TERMINOLOGY_AND_STRUCTURE.md - dev/COMPILATION.md - dev/FLOAT-FUSING.md - dev/DOCUMENTING.md - dev/CONTRIBUTING.md - dev/RELEASING.md + user/howto/COMPILE.md + user/howto/REDUCE_NEEDED_PRECISION.md + user/howto/DEBUG.md + user/howto/SUBMIT_ISSUE.md + user/howto/SUPPORT.md + user/howto/FAQ.md + +.. toctree:: + :maxdepth: 2 + :caption: Explanation + + user/explanation/WHAT_IS_FHE.md + user/explanation/FHE_LIMITS.md + user/explanation/QUANTIZATION.md + user/explanation/FUTURE_FEATURES.md .. toctree:: :maxdepth: 5 - :caption: Docs from sources + :caption: Reference - _apidoc/modules.rst + API <_apidoc/modules.rst> + +.. toctree:: + :maxdepth: 2 + :caption: Developper - How To + + dev/howto/DOCUMENTING.md + Releasing on GitHub + dev/howto/CONTRIBUTING.md + +.. toctree:: + :maxdepth: 2 + :caption: Developper - Explanation + + dev/explanation/COMPILATION.md + dev/explanation/TERMINOLOGY_AND_STRUCTURE.md + dev/explanation/FLOAT-FUSING.md + dev/explanation/MLIR.md + \ No newline at end of file diff --git a/docs/user/FIRST_USE.md b/docs/user/FIRST_USE.md deleted file mode 100644 index 186e1f055..000000000 --- a/docs/user/FIRST_USE.md +++ /dev/null @@ -1,3 +0,0 @@ -# First Use - -To be continued \ No newline at end of file diff --git a/docs/user/explanation/FHE_LIMITS.md b/docs/user/explanation/FHE_LIMITS.md new file mode 100644 index 000000000..df9defe8c --- /dev/null +++ b/docs/user/explanation/FHE_LIMITS.md @@ -0,0 +1,2 @@ +# FHE Limits + diff --git a/docs/user/explanation/FUTURE_FEATURES.md b/docs/user/explanation/FUTURE_FEATURES.md new file mode 100644 index 000000000..2ee513008 --- /dev/null +++ b/docs/user/explanation/FUTURE_FEATURES.md @@ -0,0 +1,2 @@ +# Future Features + diff --git a/docs/user/explanation/QUANTIZATION.md b/docs/user/explanation/QUANTIZATION.md new file mode 100644 index 000000000..7ab168d56 --- /dev/null +++ b/docs/user/explanation/QUANTIZATION.md @@ -0,0 +1,2 @@ +# Quantization + diff --git a/docs/user/explanation/WHAT_IS_FHE.md b/docs/user/explanation/WHAT_IS_FHE.md new file mode 100644 index 000000000..ce4af9382 --- /dev/null +++ b/docs/user/explanation/WHAT_IS_FHE.md @@ -0,0 +1 @@ +# What is FHE? diff --git a/docs/user/howto/COMPILE.md b/docs/user/howto/COMPILE.md new file mode 100644 index 000000000..6d6a98c48 --- /dev/null +++ b/docs/user/howto/COMPILE.md @@ -0,0 +1 @@ +# Compiling diff --git a/docs/user/howto/DEBUG.md b/docs/user/howto/DEBUG.md new file mode 100644 index 000000000..1e584c954 --- /dev/null +++ b/docs/user/howto/DEBUG.md @@ -0,0 +1 @@ +# Debugging diff --git a/docs/user/howto/FAQ.md b/docs/user/howto/FAQ.md new file mode 100644 index 000000000..9a2b02bd1 --- /dev/null +++ b/docs/user/howto/FAQ.md @@ -0,0 +1,3 @@ +# FAQ + +to be done diff --git a/docs/user/howto/REDUCE_NEEDED_PRECISION.md b/docs/user/howto/REDUCE_NEEDED_PRECISION.md new file mode 100644 index 000000000..6877dc089 --- /dev/null +++ b/docs/user/howto/REDUCE_NEEDED_PRECISION.md @@ -0,0 +1 @@ +# Having a Function Which Requires Less Precision diff --git a/docs/user/howto/SUBMIT_ISSUE.md b/docs/user/howto/SUBMIT_ISSUE.md new file mode 100644 index 000000000..3e72eafda --- /dev/null +++ b/docs/user/howto/SUBMIT_ISSUE.md @@ -0,0 +1 @@ +# Submitting Issues diff --git a/docs/user/howto/SUPPORT.md b/docs/user/howto/SUPPORT.md new file mode 100644 index 000000000..85d1c2942 --- /dev/null +++ b/docs/user/howto/SUPPORT.md @@ -0,0 +1 @@ +# Support diff --git a/docs/user/tutorial/FIRST_TUTORIAL.md b/docs/user/tutorial/FIRST_TUTORIAL.md new file mode 100644 index 000000000..6c1c7b9bc --- /dev/null +++ b/docs/user/tutorial/FIRST_TUTORIAL.md @@ -0,0 +1,3 @@ +# First Tutorial + +To be continued diff --git a/docs/user/tutorial/SECOND_TUTORIAL.md b/docs/user/tutorial/SECOND_TUTORIAL.md new file mode 100644 index 000000000..9167da9e6 --- /dev/null +++ b/docs/user/tutorial/SECOND_TUTORIAL.md @@ -0,0 +1,3 @@ +# Second Tutorial + +To be continued diff --git a/docs/user/tutorial/THIRD_TUTORIAL.md b/docs/user/tutorial/THIRD_TUTORIAL.md new file mode 100644 index 000000000..44fd7293d --- /dev/null +++ b/docs/user/tutorial/THIRD_TUTORIAL.md @@ -0,0 +1,3 @@ +# Third Tutorial + +To be continued