From ad8a207f8c5cccaab5cad14f44291867c003a934 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=A0=D0=BE=D0=BC=D0=B0=D0=BD=20=D0=9C=D0=B8=D1=85=D0=B0?= =?utf8?q?=D0=B9=D0=BB=D0=BE=D0=B2=D0=B8=D1=87=20=D0=A0=D1=83=D1=81=D1=8F?= =?utf8?q?=D0=B5=D0=B2/AI=20Tools=20Lab=20/SRR/Staff=20Engineer/=EC=82=BC?= =?utf8?q?=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Tue, 28 Aug 2018 18:29:32 +0300 Subject: [PATCH] Move High-Level Design Documentation to contrib/nnc (#1216) * Move High-Level Design Document to contrib/nnc * Move SW Requirement Specification Document to contrib/nnc * Move all their dependencies to contrib/nnc Signed-off-by: Roman Rusyaev --- .../project/18_NN_Compiler_and_Optimizer_HLD.rst | 441 ++++++++++++++++++ .../project/18_NN_Compiler_and_Optimizer_SRS.rst | 503 +++++++++++++++++++++ contrib/nnc/doc/project/images/nncc_components.png | Bin 0 -> 45359 bytes contrib/nnc/doc/project/images/nncc_idef0_a0.png | Bin 0 -> 50434 bytes contrib/nnc/doc/project/images/nncc_idef0_a1.png | Bin 0 -> 86576 bytes contrib/nnc/doc/project/images/nncc_idef0_a12.png | Bin 0 -> 42778 bytes .../nnc/doc/project/project_purpose_and_scope.rst | 19 + .../nnc/doc/project/project_sw_hw_constraints.rst | 51 +++ contrib/nnc/doc/project/project_target_model.rst | 21 + .../doc/project/project_terms_and_abbreviation.rst | 37 ++ 10 files changed, 1072 insertions(+) create mode 100644 contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_HLD.rst create mode 100644 contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_SRS.rst create mode 100644 contrib/nnc/doc/project/images/nncc_components.png create mode 100644 contrib/nnc/doc/project/images/nncc_idef0_a0.png create mode 100644 contrib/nnc/doc/project/images/nncc_idef0_a1.png create mode 100644 contrib/nnc/doc/project/images/nncc_idef0_a12.png create mode 100644 contrib/nnc/doc/project/project_purpose_and_scope.rst create mode 100644 contrib/nnc/doc/project/project_sw_hw_constraints.rst create mode 100644 contrib/nnc/doc/project/project_target_model.rst create mode 100644 contrib/nnc/doc/project/project_terms_and_abbreviation.rst diff --git a/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_HLD.rst b/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_HLD.rst new file mode 100644 index 0000000..7b25332 --- /dev/null +++ b/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_HLD.rst @@ -0,0 +1,441 @@ +==================== +SW High Level Design +==================== + +.. contents:: + +.. section-numbering:: + +.. raw:: pdf + + PageBreak oneColumn + + +**Revision history** + ++-------+-------------+----------------------------+--------------------------+---------------------+ +| Ver. | Date | Contents | Author | Approver | ++=======+=============+============================+==========================+=====================+ +| 0.1 | 2018.05.25 | Initial version | Vostokov Sergey | Sung-Jae Lee | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 0.2 | 2018.06.21 | SE member review | Alexey Kondrashov | | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 1.0 | 2018.06.22 | Final DR1 version | Vostokov Sergey | Sung-Jae Lee | ++-------+-------------+----------------------------+--------------------------+---------------------+ + +.. include:: project_terms_and_abbreviation.rst + +| + +**References** + +[1] Vostokov Sergey, `SW Requirements Specification <18_NN_Compiler_and_Optimizer_SRS.rst>`_ + + +Overview +======== + +Scope +----- + +.. include:: project_purpose_and_scope.rst +.. include:: project_target_model.rst + + +Design Consideration +-------------------- + +Deep learning software demands reliability and performance. The common approach which comes from the history is to develop +a SW framework (machine learning framework) which would compute each step of the neural network inference process using +supported hardware. This approach is used in many popular solutions like Google Tensorflow/Tensorflow Lite, Caffe/2, etc. +Traditionally, neural network developers build a computation graph and then an appropriate machine +learning framework interprets it. The latest discoveries in AI field show that the node-visitor method of execution is inefficient. As a result, +a second approach has been worked out by the industry, which is a neural network compiler that executes code more efficiently. + +This document presents the design of the *nncc*, a neural network compiler collection. The design should provide the easiest +way to extend the functionality of the *nncc* by adding new modules with the following features: + + - Support neural networks produced by various machine learning frameworks; + - Produce an artefact taking advantages of various hardware including specialized processors like NPU; + - Apply new domain specific optimization techniques over given NN. + + +Constraints +----------- + +See constraints in SW Requirements Specification. + +.. include:: project_sw_hw_constraints.rst + + +SW System Architecture Design +============================= + +Overall Architecture +-------------------- + +The picture below presents the result of high-level analysis of the requirements which **nncc** should satisfy. It describes the +main function **Compilation** of the compiler collection using IDEF0 (functional modeling) notation. The full information on IDEF +family of modeling languages is available at this link on `Wikipedia: IDEF `_. + + +.. image:: images/nncc_idef0_a0.png + :scale: 100% + +Figure 1. Top-Level Context Diagram of compilation function. + +| +| The short explanation of the **Figure 1**: +| + +**1. Input entities:** + + - *NN Model instance:* It is the main input of *nncc*. The compiler takes from a user information describing a neural network which should be compiled. In most cases, this NN is produced by a machine learning framework and stored in one or many files. The contents of these files constitute the essence of the neural network. Here it is denoted as an instance of NN model. + - *Command line options:* In order to provide the most convenient way to use the compiler, it should be configurable. Current design presents a tool which has a Command Line Interface (CLI). Command line options are a symbolic representation of directions instructing the compiler how to set up a working session to get the desired result. + +| + +**2. Output:** + + - *Target binaries:* Everything that is produced by the compilation operation. In general case the result may consist of one or more files. Each of them may be one of the following: an executable, a source code file, a log/verification/error report. For example, when we require the compiler to compile a neural network for execution on GPU, the output artefact may be OpenCL/C/C++ source code, or a binary containing invocation of the procedures delegating the calculations to GPU. + +| + +**3. Rules and notations:** + + - *NN Model specification:* Each machine learning framework has its own architecture design and uses its own format to serialize/deserialize computation graphs which represent neural networks. On a storage device, it may be saved as a file or many files using a unique markup of binary data. To enable *nncc* to read such data and process it, in the future it should recognize the format of the container. Importer/parser subsystem of *nncc* stores the full knowledge of the NN specifications and is responsible for reading and parsing NN models (see `Import NN model`_). + - *High-Level and Low-Level Optimization techniques:* Before deployment, a neural network developer might want to verify their product and optimize it by size and performance. There are many techniques for reducing the common size of neural network weights and improving performance of the inference. NN optimization activity can be automated by implementing each technique in the middleend according to its specifications (see `Apply Optimizations`_). + - *Target Runtime Environment (TRE):* In the case when the compiler produces the binary for execution on a specific SW platform, it should take into account the common API of this SW Platform. It includes the full public API of a chosen OS available to the 3rd party developers. + - *Target Instruction Set Architecture (Target ISA):* Resulting artefact is always executed on a SW Platform using some specified API. The user may want to generate the artefact that would use OpenBlas or Arm Compute Library or something else (if supported by the compiler), to perform calculations. In order to provide such possibility, *nncc* should be aware of the API to the specified 3rd party libraries. + - *Device specifications:* Some of the optimization techniques may take into account the technological features of the computing device, like the time to perform some specific calculations. Such information is very helpful during optimization of the final code of the compiled artefact because it may be used to select an optimal sequence of command invocations in order to achieve the best performance. + +| + +**4. Mechanism:** + + - *Optimizing NN Compiler:* The implemented compiler itself. Since *nncc* is dedicated to producing the code for the most efficient execution, we may regard the tool as optimizing. + - *Host OS:* Since the compiler is a tool that works in some SW Environment, the main Top-Level SW system is an Operating System. In the SW Requirements specification it may be defined as a Linux-like OS, for example Ubuntu, Archlinux, etc. + +| + +Composition of Architecture +--------------------------- + +The compiler consists of three main parts: frontend, middleend, backend. Together they form a Neural Network instance processing pipeline. Moreover, there is one additional part that is in charge of the compiler configuration. + + +| + +.. image:: images/nncc_components.png + :scale: 50% + +Figure 2. Top-Level Components of the *nncc*. + +| + +.. list-table:: + :widths: 20 50 + :header-rows: 1 + + * - Layer or Subsystem Name + - Description + + * - Frontend + - Imports a specified Neural Network, presents it as a computation graph + + * - Middleend + - Provides various optimizations over the computation graph; at the end transforms it to internal IR + + * - Backend + - Produces the specified artefact as a result of compilation procedure using specified parameters describing the target OS, target HW, etc + + * - Configuration system + - Accepts command line options and configures *nncc* according to their contents + +| +| The detailed decomposition of the main function **Compilation** is presented on the diagram A1 below. +| + +Interface +--------- + +Similar to any console application the *nncc* CLI accepts two types of options: + + - Options that have values, for example, a name of the output executable + - Options that don't have values (switches) that turn various features on and off + +Additionally, options can be general and subsystem-specific. + +General options direct the process of the neural network compilation as a whole, and also control the utility functions like the verbosity of the messages that *nncc* outputs during the compilation process. + +Subsystem-specific options control each respective subsystem: + + - Frontend subsystem takes options that point to the NN model to compile, which format it has, which version of the format and so on. + - Middleend subsystem takes options that either turn on specific optimizations for the NN model, or just point at the more desired outcome, for example "target performance efficiency" or "target memory efficiency". + - Backend subsystem takes options that describe the desired target device or architecture and so on. + +For better usability, high-level options are also supported. A single high-level option is mapped to a group of lower level options, similarly to how it is done with conventional compiler drivers, like gcc. This way by choosing a single Middleend option "target performance", nncc will automatically choose a number of performance optimizations by itself. + +SW System Operation Design +========================== + +The Figure 3 presents a more detailed composition of the main function **Compilation**. As it was shown in previous section `Composition of Architecture`_ it is composed of 5 subfunctions: + +- Setup and configure each module - *Block 1* (See `Initialization`_ section) +- Import the specified neural network - *Block 2* (See `Import NN model`_ section) +- Apply High-Level optimizations - *Block 3* (See `Apply Optimizations`_ section) +- Apply Low-Level optimizations - *Block 4* (See `Apply Optimizations`_ section) +- Generate the output code for specified target - *Block 5* (See `Generate the code`_ section) + + +| + +.. image:: images/nncc_idef0_a1.png + :scale: 100% + +Figure 3. Decomposition of top-Level function **Compilation**. + + +Initialization +-------------- + +At this stage the initialization of all submodules of the *nncc* happens. This procedure starts from command line option processing till selection of all required and correctly configured modules. +At the parsing stage the configuration system checks its own consistency. If command line option set is not enought to establish a valid configuration the environment variables will be used. Also, almost all configuration options can be read from config file if it is specified in command line. + + + +Import NN model +--------------- + +The major function of the *nncc* frontend is to import specified NN model. It means that frontend should recognize the format of given NN model, parse all internal structures (load computation graph using framework specific IR: NN topology, NN ops, weights), verify their correctness and convert to Model IR. + + +Apply Optimizations +------------------- + +There are two levels of neural network optimizations in *nncc*. + +First one is High-Level Optimizations, they are applied to the Model IR, which is output by the NN Import subsystem. + +High-Level Optimizations +```````````````````````` +High-Level optimizations can be divided into two groups: + + - optimizations aimed at reducing the size of the resulting model - *size optimizations* + - optimizations aimed at reducing the inference time of the model - *performance optimizations* + +These two groups are not mutually exclusive. Some optimization techniques positively affect both size and performance, while some of them might reduce the size of the model at some performance cost. + +High-Level Optimizations in this sense are purely neural-network-specific, as they attempt to improve the model by manipulating the computation graph and the weights. For example, some techniques search for unused parts of the computation graph and remove them, or they search for the parts of the graph that can be merged together and thus gain some performance. Other techniques manipulate the neural network weights - either reduce their amount or modify their values in a way that allows for the reduced storage consumption. + +Currently, High-Level Optimizations are out of scope of the project. + + +Low-Level Optimization +`````````````````````` + +The Low-Level Optimizations are applied by the compiler closer to the end of the whole compilation process, before the executable generation. The input for this stage of *nncc* is the Coarse-Grained IR, which is output but High-Level Optimization subsystem. + +Generate the code +----------------- + + +Present architecture allows for several backend solutions, depending on target specified. Those solutions can be divided into 3 types: + + - *Interpretation.* + At every step inference can be carried out by interpreting IR produced after that step. + - *Soft backend.* + Resulting program can be generated as source code in high-level programming language (e.g., C/C++) that does not depend on libraries outside of itself, with the exception of system libraries. + - *Hardware (Binary) backend.* + This type refers to generating binary code that can be executed on target device. NN compiler can generate code that is either executed solely on CPU, or takes advantage of the GPU when possible if corresponding target was specified. + +Third-party libraries incorporation can be done either in form of source code or by compiling a binary artefact. + + + + +Appendix 1. Traceability Matrix +=============================== + +The following table shows mapping between SW Requirements Specification and SW High-Level Design Document. + +.. list-table:: + :widths: 15 40 15 + :header-rows: 1 + + * - Requirement + - Description + - Section + + * - RF-1 (Frontend: Tensorflow Lite) + - The compiler should support import of NN model in Tensorflow Lite format (parsing & verification of data scheme v0-v3, 50 NN ops) + - `Import NN model`_ + + * - RF-2 (Frontend: Caffe) + - The compiler should support import of NN model in Caffe format (parsing & verification) + - `Import NN model`_ + + * - RF-3 (Frontend: Caffe2 (Optional)) + - The compiler should support import of NN model in Caffe2 format (parsing & verification) + - `Import NN model`_ + + * - RF-4 (Frontend: lossless import) + - The frontend should use the lossless approach while it is converting any NN model to IR + - `Import NN model`_ + + * - RF-5 (Frontend: Inception_v3) + - The frontend should successful import the Inception V3 NN model + - `Import NN model`_ + + * - RF-6 (Frontend: MobileNet) + - The frontend should successful import the MobileNet NN model + - `Import NN model`_ + + * - RF-7 (Backend: ARM CPU) + - The compiler should produce executable for ARM CPU + - `Generate the code`_ + + * - RF-8 (Backend: ARM GPU) + - The compiler should produce the binary that takes advantages of GPU when it was specified before compilation + - `Generate the code`_ + + * - RF-9 (Backend: Artefact type) + - The compiler should produce executable as a shared library or as a static library + - `Generate the code`_ + + * - RF-10 (Backend: Inception_v3) + - The compiler should produce the valid compiled artefact for Inception v3 NN model + - `Generate the code`_ + + * - RF-11 (Backend: MobileNet) + - The compiler should produce the valid compiled artefact for MobileNet NN model + - `Generate the code`_ + + * - RF-12 (Config: command line) + - The compiler should get configuration parameters from command line + - `Initialization`_ + + * - RF-13 (Config: config file (Optional)) + - The compiler should get configuration parameters from config file + - `Initialization`_ + + * - RF-14 (Config: environment variable (Optional)) + - The compiler should get configuration parameters from environment variables + - `Initialization`_ + + * - RF-15 (Artefact: result) + - The artefact should provide comparable result to the original NN model for the same input data + - `Generate the code`_ + + * - RF-16 (Artefact: input verifications) + - The artefact should verify any input data and check consistency + - `Generate the code`_ + + * - RF-17 (Artefact: GPU) + - The artefact should take advantage of the GPU for GPU-enabled operations + - `Generate the code`_ + + * - RF-18 (Artefact: CPU) + - The artefact should take advantage of CPU if it was specified + - `Generate the code`_ + + +.. list-table:: Design Module of S/W Architecture + :widths: 40 10 15 15 + :header-rows: 1 + + * - Requirement + - Import NN model + - Generate the code + - Initialization + + + * - RF-1 (Frontend: Tensorflow Lite) + - O + - + - + + * - RF-2 (Frontend: Caffe) + - O + - + - + + * - RF-3 (Frontend: Caffe2 (Optional)) + - O + - + - + + * - RF-4 (Frontend: lossless import) + - O + - + - + + * - RF-5 (Frontend: Inception_v3) + - O + - + - + + * - RF-6 (Frontend: MobileNet) + - O + - + - + + * - RF-7 (Backend: ARM CPU) + - + - O + - + + * - RF-8 (Backend: ARM GPU) + - + - O + - + + * - RF-9 (Backend: Artefact type) + - + - O + - + + * - RF-10 (Backend: Inception_v3) + - + - O + - + + * - RF-11 (Backend: MobileNet) + - + - O + - + + * - RF-12 (Config: command line) + - + - + - O + + * - RF-13 (Config: config file (Optional)) + - + - + - O + + * - RF-14 (Config: environment variable (Optional)) + - + - + - O + + * - RF-15 (Artefact: result) + - + - O + - + + * - RF-16 (Artefact: input verifications) + - + - O + - + + * - RF-17 (Artefact: GPU) + - + - O + - + + * - RF-18 (Artefact: CPU) + - + - O + - diff --git a/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_SRS.rst b/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_SRS.rst new file mode 100644 index 0000000..e42f77a --- /dev/null +++ b/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_SRS.rst @@ -0,0 +1,503 @@ +============================= +SW Requirements Specification +============================= + +.. contents:: + +.. section-numbering:: + +.. raw:: pdf + + PageBreak oneColumn + +**Revision history** + ++-------+-------------+----------------------------+--------------------------+---------------------+ +| Ver. | Date | Contents | Author | Approver | ++=======+=============+============================+==========================+=====================+ +| 0.1 | 2018.04.11 | Initial version | Vostokov Sergey | Sung-Jae Lee | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 0.2 | 2018.04.11 | SE member in-charge review | Aleksei Kondrashov | | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 1.0 | 2018.04.13 | Final Execution DR version | Vostokov Sergey | Sung-Jae Lee | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 1.1 | 2018.05.24 | Add new requirement in | Vostokov Sergey | Sung-Jae Lee | +| | | Source code section | | | ++-------+-------------+----------------------------+--------------------------+---------------------+ + + +Introduction +============ + +Purpose and scope +----------------- + +.. include:: project_purpose_and_scope.rst +.. include:: project_terms_and_abbreviation.rst + + +SW System Architecture +---------------------- + +The main components of the compiler are the following: + +- Configuration system +- Importer (convert supported NN model to Model IR before optimization) +- High-Level optimization (Applies HW independent optimizations) +- Low-Level optimization (Applies optimizations appropriate to the specified target HW) +- Code emitter (Produces the binary to take advantages of CPU and/or GPU) + + +.. image:: ../images/nncc_idef0_a1.png + :scale: 100% + + +Relevant Industry Standards +--------------------------- + +Architecture design is described using IDEF notation. Since the nncc is a part of open source STAR Platform project any other industry standards not required and/or applicable. + + +SW Functional Requirements +========================== + +Frontend +-------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + + * - RF-1 + - Frontend: Tensorflow Lite + - The compiler should support import of NN model in Tensorflow Lite format (parsing & verification of data scheme v0-v3, 50 NN ops) + + * - RF-2 + - Frontend: Caffe + - The compiler should support import of NN model in Caffe format (parsing & verification) + + + * - RF-3 + - Frontend: Caffe2 (Optional) + - The compiler should support import of NN model in Caffe2 format (parsing & verification) + + + * - RF-4 + - Frontend: lossless import + - The front-end should use the lossless approach while it is converting any NN model to IR + + * - RF-5 + - Frontend: Inception_v3 + - The front-end should successful import the Inception V3 NN model + + * - RF-6 + - Frontend: MobileNet + - The front-end should successful import the MobileNet NN model + +High-Level optimization +----------------------- + +No special requirements + + +Low-Level optimization +---------------------- + +No special requirements + + +Backend +------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + + * - RF-7 + - Backend: ARM CPU + - The compiler should produce executable for ARM CPU + + * - RF-8 + - Backend: ARM GPU + - The compiler should produce the binary that takes advantages of GPU when it was specified before compilation + + * - RF-9 + - Backend: Artefact type + - The compiler should produce executable as a shared library or as a static library + + * - RF-10 + - Backend: Inception_v3 + - The compiler should produce the valid compiled artefact for Inception v3 NN model + + * - RF-11 + - Backend: MobileNet + - The compiler should produce the valid compiled artefact for MobileNet NN model + + +Configuration +------------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + + * - RF-12 + - Config: command line + - The compiler should get configuration parameters from command line + + * - RF-13 + - Config: config file (Optional) + - The compiler should get configuration parameters from config file + + * - RF-14 + - Config: environment variable (Optional) + - The compiler should get configuration parameters from environment variables + +Compiled Artefact +----------------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + + * - RF-15 + - Artefact: result + - The artefact should provide comparable result to the original NN model for the same input data + + * - RF-16 + - Artefact: input verifications + - The artefact should verify any input data and check consistency + + * - RF-17 + - Artefact: GPU + - The artefact should take advantage of the GPU for GPU-enabled operations + + * - RF-18 + - Artefact: CPU + - The artefact should take advantage of CPU if it was specified + +SW Non-Functional Requirements +============================== + + + +The compiler +------------ + +Performance +``````````` + +No special requirements + +SW capacity +``````````` + +No special requirements + + +Reliability +``````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-1 + - Reliability: input + - The compiler should produce correct executable in order to utilize CPU and GPU when the correct input data is provided. If the incorrect input data are provided the compiler should not produce a compiled artefact, but inform user about all errors which were met + +Security +```````` + +No special requirements + +Usability +````````` + +No special requirements + +Availability +```````````` + +No special requirements + +Maintainability +``````````````` + +No special requirements + +Extendibility +````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-2 + - Extendibility: frontend + - The compiler design and implementations should provide possibility to add new features to front-end: new NN models format + * - RNF-3 + - Extendibility: backend + - The compiler design and implementations should provide possibility to add new features to backend (new targets) + + +Testability +``````````` + + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-4 + - Testability: environment + - The test environment should be built in order to verify compiler functionality, product build status, artefact build/execution status, artefact calculation result and calculation memory footprint and performance + + +Portability +``````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-5 + - Portability: Linux + - The compiler should be portable with Linux-based OS + +Scalability +``````````` + +No special requirements + +Expandability +````````````` + +No special requirements + +Configurability +``````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-6 + - Configurability: command line + - The compiler should support applying configuration through command line options. + * - RNF-7 + - Configurability: file (Optional) + - The compiler should support applying configuration through configuration file. + * - RNF-8 + - Configurability: environment (Optional) + - The compiler should support applying configuration through environment variables. + +The compiled artefact +--------------------- + +No special requirements + +The source code +--------------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-9 + - Legislation + - All source code files should follows its original license and general project license without any conflicts + * - RNF-10 + - Legitimacy + - The project should have its own general license + * - RNF-11 + - Coding style + - Each source code file should follow the one defined for the project coding style + * - RNF-12 + - Contrib + - RNF-9, RNF-10, RNF-11 are applicable only for the final release version of source code. These requirements are not applicable to the source code placed in development branch or any folder which is used as temporary storage for the source code under development. + + +SW Interface Requirements +========================= + +The compiler interface +---------------------- + + +User Interface +`````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RIF-1 + - Compiler UI: no interaction + - The compiler should not require any user interation during compilation (completed compilations, fatal exit) + * - RIF-2 + - Compiler UI: CLI + - The compiler is considering as a command line tool which proceed parameters from command line and/or config file, environment variables + * - RIF-3 + - Compiler UI: input + - The compiler should provide the facility to specify NN model to be compiled + * - RIF-4 + - Compiler UI: target device + - The compiler should provide the facility to specify result target device (CPU or GPU) + * - RIF-5 + - Compiler UI: target platform + - The compiler should provide the facility to specify result target SW platform + * - RIF-6 + - Compiler UI: output + - The compiler should provide the facility to specify result target name + * - RIF-7 + - Compiler UI: target type + - The compiler should provide the facility to specify result target type: shared or static library + + +Hardware Interface +`````````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RIF-8 + - Compiler HWI: x86_64 executable + - The solution should provide executables to run on x86_64-compatible system + +Software Interface +`````````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RIF-9 + - Compiler SWI: frontend plugin + - The compiler should provide the SW interface in order to add support of the new NN model formats + * - RIF-10 + - Compiler SWI: backend plugin (HW) + - The compiler should provide the SW interface in order to add support of the new HW + * - RIF-11 + - Compiler SWI: backend plugin (SW Platform) + - The compiler should provide the SW interface in order to add support of the new SW Platform + +Communication Interface +``````````````````````` + +No requirements for communication interface. + + +The compiled Artefact interface +------------------------------- + + +User Interface +`````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RIF-12 + - Artefact UI: no GUI + - Command line UI in text is suitable + +Hardware Interface +`````````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RIF-13 + - Artefact HWI: CPU + - The artefact should use ARM CPU instruction set when it was built for ARM CPU + * - RIF-14 + - Artefact HWI: GPU + - The artefact should use ARM GPU instruction set when it was build for ARM GPU + +Software Interface +`````````````````` + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RIF-15 + - Artefact SWI: GPU driver + - The artefact should use ARM GPU driver to invoke calculations when it was built for ARM GPU + * - RIF-16 + - Artefact SWI: C/C++ header + - The artefact should provide C/C++ interface in order to use it in other applications + * - RIF-17 + - Artefact SWI: shared type + - The compiled artefact should be a shared library in order to share it between several executables when it was specified before compilation + * - RIF-18 + - Artefact SWI: static type + - The compiled artefact should be a static library in order to be built-in to an executable when it was specified before compilation + * - RIF-19 + - Artefact SWI: Info + - The artefact should provide SW interface in order to get the actual status of calculation process (progress, errors, final result) + + +Communication Interface +``````````````````````` + +No requirements for communication interface. + + + diff --git a/contrib/nnc/doc/project/images/nncc_components.png b/contrib/nnc/doc/project/images/nncc_components.png new file mode 100644 index 0000000000000000000000000000000000000000..becd63d147c8667585edcb2c506ff6a5d81777e4 GIT binary patch literal 45359 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

Omw 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 literal 0 HcmV?d00001 diff --git a/contrib/nnc/doc/project/images/nncc_idef0_a1.png b/contrib/nnc/doc/project/images/nncc_idef0_a1.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ebec5d987a6caae7c9ca70997e05cd4a55adb7 GIT binary patch literal 86576 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≥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 literal 0 HcmV?d00001 diff --git a/contrib/nnc/doc/project/images/nncc_idef0_a12.png b/contrib/nnc/doc/project/images/nncc_idef0_a12.png new file mode 100644 index 0000000000000000000000000000000000000000..dabcad718210854ac1b4f12283966b9d8749cc85 GIT binary patch literal 42778 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 literal 0 HcmV?d00001 diff --git a/contrib/nnc/doc/project/project_purpose_and_scope.rst b/contrib/nnc/doc/project/project_purpose_and_scope.rst new file mode 100644 index 0000000..eaf8d1d --- /dev/null +++ b/contrib/nnc/doc/project/project_purpose_and_scope.rst @@ -0,0 +1,19 @@ +The main goal of the project is to develop a compiler for neural networks to produce executable artefact for specified SW and HW platform. + +The development scope includes the following components: + +- Develop importer module to parse, verify and represent NN model for further optimization and compilation +- Develop code emitters to produce executable binary for CPU and GPU + +| +| **2018 year goals:** + +- Support TensorFlow Lite NN model format +- Support Caffe NN model format +- Support Caffe2 NN model format (Optional) +- Support compilation of MobileNet NN +- Support compilation of Inception v3 NN +- Support ARM CPU +- Support ARM GPU (Mali) +- Support Tizen OS +- Support SmartMachine OS (Optional) diff --git a/contrib/nnc/doc/project/project_sw_hw_constraints.rst b/contrib/nnc/doc/project/project_sw_hw_constraints.rst new file mode 100644 index 0000000..f47c13f --- /dev/null +++ b/contrib/nnc/doc/project/project_sw_hw_constraints.rst @@ -0,0 +1,51 @@ +| + +.. list-table:: Table 1-2. Assumptions, Dependencies and the Constraints + :widths: 23 40 23 + :header-rows: 1 + + * - Item + - Assumptions, Dependencies and the Constraints + - Reference + + * - Tizen SW Platform + - The following items should be provided: + - Tizen API + - Tizen kernel + - Tizen FW + - Tizen SDK + - Tizen naming convention + | + - + - `www.tizen.org `_ + - `wiki.tizen.org `_ + - `developer.tizen.org `_ + + * - SmartMachine OS Platform + - The following items should be provided: + - SmartMachine API + - SmartMachine kernel + - SmartMachine FW + - SmartMachine SDK + - SmartMachine naming convention + | + - + - `Platform confluence `_ + - `Github `_ + - `Functional Safety confluence `_ + + + * - Host OS + - Linux-based OS (Ubuntu, Archlinux, etc) + - + - `Ubuntu site `_ + - `Archlinux site `_ + + * - Tizen target HW + - The reference device should be provided: Tizen TM2 + - + + * - SmartMachine target HW + - The reference device should be provided + - + diff --git a/contrib/nnc/doc/project/project_target_model.rst b/contrib/nnc/doc/project/project_target_model.rst new file mode 100644 index 0000000..e16ab71 --- /dev/null +++ b/contrib/nnc/doc/project/project_target_model.rst @@ -0,0 +1,21 @@ +| + +.. list-table:: Table 1-1. Target Model + :widths: 23 50 20 + :header-rows: 1 + + * - Product + - Target Model Name + - Comment + + * - Tizen phone + - Tizen TM2 + - Reference device + + * - Tizen device + - Odroid XU4 + - Reference board + + * - SmartMachine target + - Microvision mv8890, exynos8890 + - Reference device diff --git a/contrib/nnc/doc/project/project_terms_and_abbreviation.rst b/contrib/nnc/doc/project/project_terms_and_abbreviation.rst new file mode 100644 index 0000000..cb167e6 --- /dev/null +++ b/contrib/nnc/doc/project/project_terms_and_abbreviation.rst @@ -0,0 +1,37 @@ +| + +**Terminology and Abbreviation** + +.. list-table:: + :widths: 10 30 + :header-rows: 0 + + * - OS + - Operating System + * - OS API + - Application interface of OS + * - HW + - Hardware + * - SW + - Software + * - NN + - Neural Network + * - NN model + - Neural network model (Instance of NN built with ML framework) + * - NN compiler + - The compiler for neural network + * - ML framework + - The machine learning framework + * - TF/TF Lite + - Tensorflow/Tensorflow Lite ML framework + * - IR + - Intermediate representation + * - CI/CI system + - Continuous integration system + * - UI + - The user interface + * - GUI + - The graphical user interface + * - CLI + - The command-line interface + -- 2.7.4