From f28b105612f748d00ab795457b08311645a82267 Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <yamanu@xilinx.com>
Date: Tue, 26 Jan 2021 16:31:01 +0100
Subject: [PATCH] [Docs] first version of developer docs

---
 docs/finn/developers.rst         | 195 +++++++++++++++++++++++++++++++
 docs/finn/getting_started.rst    |  39 +------
 docs/finn/img/repo-structure.png | Bin 0 -> 56578 bytes
 docs/finn/index.rst              |   1 +
 docs/finn/internals.rst          |   4 +-
 5 files changed, 199 insertions(+), 40 deletions(-)
 create mode 100644 docs/finn/developers.rst
 create mode 100644 docs/finn/img/repo-structure.png

diff --git a/docs/finn/developers.rst b/docs/finn/developers.rst
new file mode 100644
index 000000000..6e7fa0d92
--- /dev/null
+++ b/docs/finn/developers.rst
@@ -0,0 +1,195 @@
+***********************
+Developer documentation
+***********************
+
+.. note:: **This page is under construction.**
+
+This page is intended to serve as a starting point for new FINN developers.
+Power users may also find this information useful.
+
+Getting started
+================
+
+Before starting to do development on FINN it's a good idea to start
+with understanding the basics as a user. Going through all of the
+:ref:`tutorials` is strongly recommended if you haven' already done so.
+Additionally, please review the documentation available on :ref:`internals`.
+
+Repository structure
+=====================
+
+.. image:: img/repo-structure.png
+   :scale: 70%
+   :align: center
+
+The figure above gives a description of the repositories used by the
+FINN project, and how they are interrelated.
+
+Branching model
+===============
+
+All of the FINN repositories mentioned above use a variant of the
+GitHub flow from https://guides.github.com/introduction/flow as
+further detailed below:
+
+* The `master` or `main` branch contains the latest released
+  version, with a version tag.
+
+* The `dev` branch is where new feature branches get merged after
+  testing. `dev` is "almost ready to release" at any time, and is
+  tested with nightly Jenkins builds -- including all unit tests
+  and end-to-end tests.
+
+* New features or fixes are developed in branches that split from
+  `dev` and are named similar to `feature/name_of_feature`.
+  Single-commit fixes may be made without feature branches.
+
+* New features must come with unit tests and docstrings. If
+  applicable, it must also be tested as part of an end-to-end flow,
+  preferably with a new standalone test. Make sure the existing
+  test suite (including end-to-end tests) still pass.
+  When in doubt, consult with the FINN maintainers.
+
+* When a new feature is ready, a pull request (PR) can be opened
+  targeting the `dev` branch, with a brief description of what the
+  PR changes or introduces.
+
+* Larger features must be broken down into several, smaller PRs. If
+  your PRs have dependencies on each other please state in which order
+  they should be reviewed and merged.
+
+Docker images
+===============
+
+If you want to add new dependencies (packages, repos) to FINN it's
+important to understand how we handle this in Docker.
+There are currently two Docker images used in FINN:
+
+* The finn.dev image, used for deploying and developing the FINN compiler. Details described below.
+* The finn.ci image, which is used for continuous integration testing. Almost identical to finn.dev image, key differences are no user setup and fewer packages installed (e.g. no Jupyter).
+
+The finn.dev image is built and launched as follows:
+
+1. run-docker.sh launches the build of the Docker image with `docker build`
+
+2. Docker image is built from docker/Dockerfile.finn_dev using the following steps:
+
+  * Base: PyTorch dev image
+  * Set up apt dependencies: apt-get install a few packages for verilator and
+  * Set up pip dependencies: Python packages FINN depends on are listed in requirements.txt, which is copied into the container and pip-installed. Some additional packages (such as Jupyter and Netron) are also installed.
+  * Do user setup: Switch to the same user running the container to avoid running as root.
+  * Clone dependency repos: These include Brevitas, finn-hlslib, finn-base, pyverilator and oh-my-xilinx. The correct commit version will be checked out by the entrypoint script.
+  * Install XRT deps, if needed: For Vitis builds we need to install the extra dependencies for XRT. This is only triggered if the image is built with the INSTALL_XRT_DEPS=1 argument.
+
+3. Docker image is ready, run-docker.sh can now launch a container from this image with `docker run`. It sets up certain environment variables and volume mounts:
+
+  * Vivado/Vitis is mounted from the host into the container (on the same path).
+  * The finn root folder is mounted under /workspace/finn. This allows modifying the source code on the host and testing inside the container.
+  * The build folder is mounted under /tmp/finn_dev_username (can be overridden by defining FINN_HOST_BUILD_DIR). This will be used for generated files. Mounting on the host allows easy examination of the generated files, and keeping the generated files after the container exits.
+  * Various environment variables are set up for use inside the container. See the run-docker.sh script for a complete list.
+
+4. Entrypoint script (docker/finn_entrypoint.sh) upon launching container performs the following:
+
+  * Update and checkout the dependency repos at specified commits.
+  * Source Vivado settings64.sh from specified path to make vivado and vivado_hls available.
+  * Download PYNQ board files into the finn root directory, unless they already exist.
+  * Source Vitits settings64.sh if Vitis is mounted.
+
+5. Depending on the arguments to run-docker.sh a different application is launched. run-docker.sh notebook launches a Jupyter server for the tutorials, whereas run-docker.sh build_custom and run-docker.sh build_dataflow trigger a dataflow build (see documentation). Running without arguments yields an interactive shell. See run-docker.sh for other options.
+
+Linting
+=======
+
+We use a pre-commit hook to auto-format Python code and check for issues.
+See https://pre-commit.com/ for installation. Once you have pre-commit, you can install
+the hooks into your local clone of the FINN repo.
+It's recommended to do this **on the host** and not inside the Docker container:
+
+::
+
+  pre-commit install
+
+
+Every time you commit some code, the pre-commit hooks will first run, performing various
+checks and fixes. In some cases pre-commit won't be able to fix the issues and
+you may have to fix it manually, then run `git commit` once again.
+The checks are configured in .pre-commit-config.yaml under the repo root.
+
+Testing
+=======
+
+Tests are vital to keep FINN running.  All the FINN tests can be found at https://github.com/Xilinx/finn/tree/master/tests.
+These tests can be roughly grouped into three categories:
+
+ * Unit tests: targeting unit functionality, e.g. a single transformation. Example: https://github.com/Xilinx/finn/blob/master/tests/transformation/streamline/test_sign_to_thres.py tests the expected behavior of the `ConvertSignToThres` transformation pass.
+
+ * Small-scale integration tests: targeting a group of related classes or functions that to test how they behave together. Example: https://github.com/Xilinx/finn/blob/master/tests/fpgadataflow/test_convert_to_hls_conv_layer.py sets up variants of ONNX Conv nodes that are first lowered and then converted to FINN HLS layers.
+
+ * End-to-end tests: testing a typical 'end-to-end' compilation flow in FINN, where one end is a trained QNN and the other end is a hardware implementation. These tests can be quite large and are typically broken into several steps that depend on prior ones. Examples: https://github.com/Xilinx/finn/tree/master/tests/end2end
+
+Additionally, finn-base, brevitas and finn-hlslib also include their own test suites.
+The full FINN compiler test suite
+(which will take several hours to run and require a PYNQ board) can be executed
+by:
+
+::
+
+  bash ./run-docker.sh test
+
+There is a quicker variant of the test suite that skips the tests marked as
+requiring Vivado or as slow-running tests:
+
+::
+
+  bash ./run-docker.sh quicktest
+
+When developing a new feature it's useful to be able to run just a single test,
+or a group of tests that e.g. share the same prefix.
+You can do this inside the Docker container
+from the FINN root directory as follows:
+
+::
+
+  python setup.py test --addopts "-k test_brevitas_debug --pdb"
+
+
+If you want to run tests in parallel (e.g. to take advantage of a multi-core CPU)
+you can use:
+
+* pytest-parallel for any rtlsim tests, e.g. `python setup.py test --addopts "-k rtlsim --workers auto"`
+* pytest-xdist for anything else, make sure to add `--dist=loadfile` if you have tests in the same file that have dependencies on each other e.g. `python setup.py test --addopts "-k mytest -n auto --dist=loadfile"`
+
+Finally, the full test suite with appropriate parallelization can be run inside the container by:
+
+::
+
+  quicktest.sh full
+
+See more options on pytest at https://docs.pytest.org/en/stable/usage.html.
+
+Documentation
+==============
+
+FINN provides two types of documentation:
+
+* manually written documentation, like this page
+* autogenerated API docs from Sphinx
+
+Everything is built using Sphinx, which is installed into the finn.dev
+Docker image. You can build the documentation locally by running the following
+inside the container:
+
+::
+
+  python setup.py docs
+
+You can view the generated documentation on build/html/index.html.
+The documentation is also built online by readthedocs:
+
+  * finn.readthedocs.io contains the docs from the master branch
+  * finn-dev.readthedocs.io contains the docs from the dev branch
+
+When adding new features, please add docstrings to new functions and classes
+(at least the top-level ones intended to be called by power users or other devs).
+We recommend reading the Google Python guide on docstrings here for contributors:
+https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings
diff --git a/docs/finn/getting_started.rst b/docs/finn/getting_started.rst
index 017138075..3b475303d 100644
--- a/docs/finn/getting_started.rst
+++ b/docs/finn/getting_started.rst
@@ -111,43 +111,6 @@ http://127.0.0.1:8888/?token=f5c6bd32ae93ec103a88152214baedff4ce1850d81065bfc
 
 The ``run-docker.sh`` script forwards ports 8888 for Jupyter and 8081 for Netron, and launches the notebook server with appropriate arguments.
 
-Running the test suite directly
-*******************************
-FINN comes with a set of tests to check for regressions. The full test suite
-(which will take several hours to run and require a PYNQ board) can be executed
-by:
-
-::
-
-  bash ./run-docker.sh test
-
-There is a quicker variant of the test suite that skips the tests marked as
-requiring Vivado or as slow-running tests:
-
-::
-
-  bash ./run-docker.sh quicktest
-
-If you want to run individual tests, you can do this *inside the Docker container
-from the FINN root directory* as follows:
-
-::
-
-  python setup.py test --addopts "-k test_brevitas_debug"
-
-If you want to run tests in parallel (e.g. to take advantage of a multi-core CPU)
-you can use:
-
-* pytest-parallel for any rtlsim tests, e.g. `python setup.py test --addopts "-k rtlsim --workers auto"`
-* pytest-xdist for anything else, make sure to add `--dist=loadfile` if you have tests in the same file that have dependencies on each other e.g. `python setup.py test --addopts "-k mytest -n auto --dist=loadfile"`
-
-Please see the pytest documentation for more about picking tests by marks or by name.
-
-Finally, the full test suite with appropriate parallelization can be run inside the container by:
-
-::
-
-  quicktest.sh full
 
 Environment variables
 **********************
@@ -169,7 +132,7 @@ These are summarized below:
 
 Supported Hardware
 ===================
-**End-to-end support including driver:** For quick deployment, FINN targets boards supported by  `PYNQ <https://pynq.io/>`_ . For these platforms, we can build a full bitfile including DMAs to move data into and out of the FINN-generated accelerator, as well as a Python driver to launch the accelerator. We support the Pynq-Z1, Pynq-Z2, Ultra96, ZCU102 and ZCU104 boards.
+**Shell-integrated accelerator + driver:** For quick deployment, we target boards supported by  `PYNQ <https://pynq.io/>`_ . For these platforms, we can build a full bitfile including DMAs to move data into and out of the FINN-generated accelerator, as well as a Python driver to launch the accelerator. We support the Pynq-Z1, Pynq-Z2, Ultra96, ZCU102 and ZCU104 boards.
 As of FINN v0.4b we also have preliminary support for `Xilinx Alveo boards <https://www.xilinx.com/products/boards-and-kits/alveo.html>`_ using PYNQ and Vitis, see instructions below for Alveo setup.
 
 **Vivado IPI support for any Xilinx FPGA:** FINN generates a Vivado IP Integrator (IPI) design from the neural network with AXI stream (FIFO) in-out interfaces, which can be integrated onto any Xilinx FPGA as part of a larger system. It's up to you to take the FINN-generated accelerator (what we call "stitched IP" in the tutorials), wire it up to your FPGA design and send/receive neural network data to/from the accelerator.
diff --git a/docs/finn/img/repo-structure.png b/docs/finn/img/repo-structure.png
new file mode 100644
index 0000000000000000000000000000000000000000..05031ff9a5500c3302a36ea88309b3707bc5d108
GIT binary patch
literal 56578
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
XVh}Oh`3>Ij^9D#G3q#VCo3Z}^-Hv3h

literal 0
HcmV?d00001

diff --git a/docs/finn/index.rst b/docs/finn/index.rst
index 782aa53ed..fa7ed3020 100644
--- a/docs/finn/index.rst
+++ b/docs/finn/index.rst
@@ -47,5 +47,6 @@ More FINN Resources
    command_line
    example_networks
    internals
+   developers
    source_code/finn
    genindex
diff --git a/docs/finn/internals.rst b/docs/finn/internals.rst
index 602fef6cf..0fbc3cf72 100644
--- a/docs/finn/internals.rst
+++ b/docs/finn/internals.rst
@@ -1,9 +1,9 @@
+.. _internals:
+
 *********
 Internals
 *********
 
-.. note:: **More developer-oriented documentation will be coming in future releases.**
-
 Intermediate Representation: FINN-ONNX
 ======================================
 
-- 
GitLab