-=======================\r
-SW Development Document\r
-=======================\r
-\r
-.. contents::\r
-\r
-.. section-numbering::\r
-\r
-.. raw:: pdf\r
-\r
- PageBreak oneColumn\r
-\r
-\r
-**Revision history**\r
-\r
-+-------+-------------+-----------------------------+--------------------------+---------------------+\r
-| Ver. | Date | Contents | Author | Approver |\r
-+=======+=============+=============================+==========================+=====================+\r
-| 0.1 | 2019.04.22 | Initial version | Rusyaev Roman | Sung-Jae Lee |\r
-+-------+-------------+-----------------------------+--------------------------+---------------------+\r
-| 0.2 | 2019.04.23 | SE member in-charge review | Aleksei Kondrashov | |\r
-+-------+-------------+-----------------------------+--------------------------+---------------------+\r
-| 1.0 | 2019.04.24 | Final Execution DR version | Rusyaev Roman | Sung-Jae Lee |\r
-+-------+-------------+-----------------------------+--------------------------+---------------------+\r
-| 1.1 | 2019.07.24 | DR1 version | Efimov Alexander | Sung-Jae Lee |\r
-+-------+-------------+-----------------------------+--------------------------+---------------------+\r
-\r
-.. include:: project_terms_and_abbreviation.rst\r
-\r
-Project Overview\r
-================\r
-\r
-Purpose and Scope\r
------------------\r
-\r
-\r
-.. include:: project_purpose_and_scope.rst\r
-.. include:: project_target_model.rst\r
-\r
-Assumptions, Dependencies and Constraints\r
------------------------------------------\r
-\r
-.. include:: project_sw_hw_constraints.rst\r
-\r
-Development Plan And Result\r
-===========================\r
-\r
-Development Schedule\r
---------------------\r
-\r
-.. list-table:: Table 2-1. SW Development Schedule\r
- :widths: 10 10 5 5 4 4 6\r
- :header-rows: 1\r
-\r
- * - Task\r
- - Deliverable\r
- - Plan start\r
- - Plan end\r
- - Result start\r
- - Result end\r
- - Responsibility\r
-\r
- * - Prepare SW requirements\r
- - SRS v1.0 \r
- - 04.2019\r
- - 05.2019\r
- - \r
- - \r
- - R\. Rusyaev\r
-\r
- * - Prepare SW System Test Plan\r
- - STD v1.0\r
- - 04.2019\r
- - 05.2019\r
- -\r
- -\r
- - R\. Rusyaev\r
-\r
- * - Prepare Initial Project Plan\r
- - SDD v1.0\r
- - 04.2019\r
- - 05.2019\r
- -\r
- -\r
- - R\. Rusyaev\r
-\r
- * - Prepare SW System Cases\r
- - STD v2.0\r
- - 04.2019\r
- - 06.2019\r
- -\r
- -\r
- - R\. Rusyaev\r
-\r
- * - Prepare software design documents\r
- - HLD, DLD\r
- - 05.2019\r
- - 08.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Implement proof of concept for custom operations support in `NN Runtime`\r
- - Proof of concept for custom operations support in `NN Runtime`\r
- - 05.2019\r
- - 08.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Develop initial version of ONXX importer\r
- - Initial version of ONNX importer, capable for one operation networks import\r
- - 05.2019\r
- - 08.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Develop `Common IR` for `NN Compiler` and `NN Runtime`\r
- - `Common IR` for `NN Compiler` and `NN Runtime`\r
- - 04.2019\r
- - 09.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Support heterogeneous execution\r
- - Heterogeneous execution for CPU and GPU backends\r
- - 04.2019\r
- - 09.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Implement TF Importer\r
- - TensorFlow NN Model Importer tested and capable to import all target models\r
- - 05.2019\r
- - 09.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Support custom operations in `NN Runtime`\r
- - Custom operations support in `NN Runtime` and provide internal interface for custom operations registration\r
- - 05.2019\r
- - 09.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Develop mature version of ONXX importer\r
- - Initial version of ONNX importer, capable for inception-v3 network import\r
- - 05.2019\r
- - 10.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Prepare proof of concept for control flow operations in `NN Runtime`\r
- - Proof of concept for control flow operations in `NN Runtime`\r
- - 07.2019\r
- - 11.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Implement final version of ONNX Importer\r
- - ONNX NN Model Importer tested and capable to import all target models\r
- - 05.2019\r
- - 11.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Prepare test result\r
- - STD v2.0, UTR v1.0\r
- - 04.2019\r
- - 11.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
- * - Prepare project completion documents\r
- - STD v2.0, Technology Items completion reports\r
- - 05.2019\r
- - 12.2019\r
- -\r
- -\r
- - A\. Efimov\r
-\r
-\r
-SW Metrics\r
-----------\r
-\r
-.. list-table:: Table 2-2. SW Metrics\r
- :widths: 5 10 5 7 5 4 8\r
- :header-rows: 1\r
-\r
- * - Category\r
- - Metric\r
- - Collection Method\r
- - Collection Period\r
- - Planned\r
- - Actual\r
- - Responsibility\r
-\r
- * - Quality\r
- - Test pass rate\r
- - GTest\r
- - 22.02.2019 - 31.12.2019\r
- - 100%\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Defects density\r
- - Manual (GTest/Scripts)\r
- - 22.02.2019 - 31.12.2019\r
- - <= 1 defect/KLOC\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Defects removal rate\r
- - Manual (GTest/Scripts)\r
- - 22.02.2019 - 31.12.2019\r
- - 100%\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Critical defects\r
- - SVACE\r
- - 22.02.2019 - 31.12.2019\r
- - 0\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Major defects\r
- - SVACE\r
- - 22.02.2019 - 31.12.2019\r
- - 0\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Code review issue removal\r
- - Samsung Research GitHub\r
- - 22.02.2019 - 31.12.2019\r
- - 100%\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Comments Rate\r
- - ``cloc`` tool\r
- - 22.02.2019 - 31.12.2019\r
- - Exceed 20%\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Cyclomatic Complexity (per file)\r
- - SonarQube\r
- - 22.02.2019 - 31.12.2019\r
- - < 50\r
- -\r
- - A\. Efimov\r
-\r
- * - Quality\r
- - Unused Items (Unused Files, Unused Functions, Unused Global Variables)\r
- - gcc/g++\r
- - 22.02.2019 - 31.12.2019\r
- - 0\r
- -\r
- - A\. Efimov\r
-\r
- * - Process\r
- - Project On-time Completion Rate\r
- - PLM\r
- - 22.02.2019 - 31.12.2019\r
- - 100%\r
- -\r
- - A\. Efimov\r
-\r
- * - Process\r
- - Milestone On-time Completion Rate\r
- - PLM\r
- - 22.02.2019 - 31.12.2019\r
- - 100%\r
- -\r
- - A\. Efimov\r
-\r
- * - Process\r
- - Process compliance\r
- - Audit\r
- - 22.02.2019 - 31.12.2019\r
- - 100%\r
- -\r
- - A\. Kondrashov\r
-\r
-\r
-SW Configurations Management\r
-----------------------------\r
-\r
-Document\r
-````````\r
-\r
-\r
-.. list-table:: Table 2-3. Document Configuration Item\r
- :widths: 2 20 5 8\r
- :header-rows: 1\r
-\r
- * - No\r
- - Configuration Item\r
- - Location\r
- - Submitter\r
-\r
- * - 1\r
- - SW Requirement Specification\r
- - PLM, GitHub\r
- - A\. Efimov\r
-\r
- * - 2\r
- - SW Development Document\r
- - PLM, GitHub\r
- - A\. Efimov\r
-\r
- * - 3\r
- - SW High Level Document\r
- - PLM, GitHub\r
- - A\. Efimov\r
-\r
-\r
- * - 4\r
- - SW Detailed Level Document\r
- - PLM, GitHub\r
- - A\. Efimov\r
-\r
- * - 5\r
- - SW System Test Document\r
- - PLM, GitHub\r
- - A\. Efimov\r
-\r
- * - 6\r
- - SW Unit Test Report\r
- - PLM, GitHub\r
- - A\. Efimov\r
-\r
-\r
-SW Source Code\r
-``````````````\r
-\r
-\r
-SW Repositories: https://github.sec.samsung.net/STAR/nnfw\r
-\r
-::\r
-\r
- git clone https://github.sec.samsung.net/STAR/nnfw.git\r
-\r
-\r
-\r
-Baseline\r
-````````\r
-\r
-.. list-table:: Table 2-4. Baseline Establishment\r
- :widths: 5 5 8\r
- :header-rows: 1\r
-\r
- * - Phase\r
- - Baseline Name\r
- - SW Configuration Item\r
-\r
- * - 04.2019 Plan\r
- - Execution DR\r
- - SW Requirement Specification, SW Development Document, System Test Document initial version\r
-\r
- * - 06.2019 Execution\r
- - DR1\r
- - System Test Document\r
-\r
- * - 08.2019 Execution\r
- - Design document\r
- - SW High Level Document, SW Detailed Design Document\r
-\r
- * - 09.2019 Execution\r
- - DR2\r
- - Update design documents, UTR (1st round), STD (1st round)\r
-\r
- * - 10.2019 Execution\r
- - Test report\r
- - SW System Test Document (result), SW Unit Test Report\r
-\r
- * - 12.2019 Completion\r
- - Project Completion\r
- - Project Completion Report\r
-\r
-SW Quality Verification\r
-=======================\r
-\r
-SW Verification\r
----------------\r
-\r
-\r
-.. list-table:: Table 3-1. SW Verification Plan and Result\r
- :widths: 4 11 11 8 8 10 7 6\r
- :header-rows: 1\r
-\r
- * - No\r
- - Verification Item\r
- - Quality Goal\r
- - Tool\r
- - Phase\r
- - Development Team Member in Charge\r
- - Result\r
- - Note\r
-\r
- * - 1\r
- - Open source License Verification\r
- - Clear violations of open source obligation\r
- - ProtexIP\r
- - Execution\r
- - Efimov Alexander\r
- -\r
- -\r
-\r
- * - 2\r
- - Potential Defect\r
- - Fix all defects\r
- - Svace\r
- - Test\r
- - Efimov Alexander\r
- -\r
- -\r
-\r
- * - 3\r
- - System Defect\r
- - Fix Critical/ Major defects\r
- - GitHub\r
- - Test\r
- - Efimov Alexander\r
- -\r
- -\r
-\r
-Static Analysis\r
----------------\r
-\r
-.. list-table:: Table 3-2. Static Analysis Verification\r
- :widths: 5 20 10 7 20\r
- :header-rows: 1\r
-\r
- * - No\r
- - Activity\r
- - Schedule\r
- - Result\r
- - Comment\r
-\r
- * - 1\r
- - SA Verification I (SVACE)\r
- - 28.09.2019\r
- -\r
- -\r
-\r
- * - 2\r
- - SA Verification II (SVACE)\r
- - 30.11.2019\r
- -\r
- -\r
-\r
- * - 2\r
- - SA Verification III (SVACE)\r
- - 31.12.2019\r
- -\r
- -\r
-\r
-Coding Standard\r
----------------\r
-\r
-.. list-table:: Table 3-3. Coding Standard Verification\r
- :widths: 5 20 10 7 20\r
- :header-rows: 1\r
-\r
- * - No\r
- - Activity\r
- - Schedule\r
- - Result\r
- - Comment\r
-\r
- * - 1\r
- - Coding standard enforcement with ``clang-format`` tool.\r
- - Regular\r
- -\r
- -\r
-\r
-\r
-Convergence (integration testing)\r
----------------------------------\r
-\r
-Out of scope since the integration with other SW is not required by SW Requirement Specification.\r
-\r
-Dynamic Analysis\r
-----------------\r
-\r
-Dynamic analysis for NN Compiler memory leaks investigation performed with Valgrind/AdressSanitizer/LeakSanitizer tools.\r
-\r
-.. list-table:: Table 3-4. Dynamic Analysis Verification\r
- :widths: 5 20 10 7 20\r
- :header-rows: 1\r
-\r
- * - No\r
- - Activity\r
- - Schedule\r
- - Result\r
- - Comment\r
-\r
- * - 1\r
- - DA Verification I\r
- - 28.09.2019\r
- -\r
- -\r
-\r
- * - 2\r
- - DA Verification II\r
- - 30.11.2019\r
- -\r
- -\r
-\r
- * - 2\r
- - DA Verification III\r
- - 31.12.2019\r
- -\r
- -\r
-\r
-Architecture Analysis\r
----------------------\r
-\r
-SW architecture verification is managed by HQ.\r
-\r
-\r
-SW Security\r
------------\r
-\r
-Out of the project scope since the project is not related to SW security.\r
-\r
-\r
-Code Review\r
------------\r
-\r
-\r
-.. list-table::\r
- :widths: 5 20 10 7 20\r
- :header-rows: 1\r
-\r
- * - No\r
- - Activity\r
- - Schedule\r
- - Result\r
- - Comment\r
-\r
- * - 1\r
- - Code review via GitHub pull requests\r
- - Regular\r
- -\r
- -\r
-\r
-Risk Management\r
-===============\r
-\r
-\r
-.. list-table:: Table 4-1. SW Risk Management\r
- :widths: 7 12 12 10 12 12\r
- :header-rows: 1\r
-\r
- * - Priority\r
- - Risk Description\r
- - Risk Reduction Solution\r
- - Schedule\r
- - Result\r
- - Responsibility\r
-\r
- * - 1\r
- - Project scope is changed due extra HQ request\r
- - Discuss the new requirements via email and messenger, update SRS\r
- - 02.2019 - 12.2019\r
- -\r
- - A\. Efimov\r
-\r
- * - 2\r
- - Unavoidable technical difficulties during requirements implementation\r
- - Submit requirements changes and get confirmation from HQ\r
- - 02.2019 - 12.2019\r
- -\r
- - A\. Efimov\r
-\r
- * - 3\r
- - Not enough HR\r
- - Hire team members as soon as possible, request assistance from other teams\r
- - 02.2019 - 12.2019\r
- -\r
- - A\. Efimov\r
-\r
- * - 4\r
- - Use of GPL code\r
- - Minimize usage of GPL code, wrap GPL modules with well-defined interfaces\r
- so they can be easily replaced.\r
- - 02.2019 - 12.2019\r
- -\r
- - A\. Efimov\r
-\r
- * - 5\r
- - Requirements would change due external or internal circumstances, e.g. new technology or product launch\r
- - Discuss project changes and make corrections\r
- - 02.2019 - 12.2019\r
- -\r
- - A\. Efimov\r
-\r
-\r
-**References**\r
-\r
-Competitors:\r
-\r
-.. [#] `NNVM: Open Compiler for AI Frameworks <https://github.com/dmlc/nnvm>`_.\r
-.. [#] `Latte.jl: A high-performance DSL for deep neural networks in Julia <https://github.com/IntelLabs/Latte.jl>`_.\r
-.. [#] `DNNDK: Full-stack solution for deep learning development & deployment <http://www.deephi.com/dnndk.html>`_.\r
-.. [#] `nngraph: Neural Network Graph Package <https://github.com/torch/nngraph>`_.\r
-.. [#] `Richard Wei, Lane Schwartz, Vikram Adve, DLVM: A modern compiler infrastructure for deep learning systems, arXiv:1711.03016, 2017 <http://dlvm.org/>`_.\r
-.. [#] `XLA (Accelerated Linear Algebra): a domain-specific compiler for linear algebra that optimizes TensorFlow computations <https://www.tensorflow.org/performance/xla>`_.\r
-.. [#] `nGraph: an open source C++ library, compiler and runtime for Deep Learning frameworks <https://github.com/NervanaSystems/ngraph>`_.\r
+=======================
+SW Development Document
+=======================
+
+.. contents::
+
+.. section-numbering::
+
+.. raw:: pdf
+
+ PageBreak oneColumn
+
+
+**Revision history**
+
++-------+-------------+-----------------------------+--------------------------+---------------------+
+| Ver. | Date | Contents | Author | Approver |
++=======+=============+=============================+==========================+=====================+
+| 0.1 | 2019.04.22 | Initial version | Rusyaev Roman | Sung-Jae Lee |
++-------+-------------+-----------------------------+--------------------------+---------------------+
+| 0.2 | 2019.04.23 | SE member in-charge review | Aleksei Kondrashov | |
++-------+-------------+-----------------------------+--------------------------+---------------------+
+| 1.0 | 2019.04.24 | Final Execution DR version | Rusyaev Roman | Sung-Jae Lee |
++-------+-------------+-----------------------------+--------------------------+---------------------+
+| 1.1 | 2019.07.24 | DR1 version | Efimov Alexander | Sung-Jae Lee |
++-------+-------------+-----------------------------+--------------------------+---------------------+
+
+.. include:: project_terms_and_abbreviation.rst
+
+Project Overview
+================
+
+Purpose and Scope
+-----------------
+
+
+.. include:: project_purpose_and_scope.rst
+.. include:: project_target_model.rst
+
+Assumptions, Dependencies and Constraints
+-----------------------------------------
+
+.. include:: project_sw_hw_constraints.rst
+
+Development Plan And Result
+===========================
+
+Development Schedule
+--------------------
+
+.. list-table:: Table 2-1. SW Development Schedule
+ :widths: 10 10 5 5 4 4 6
+ :header-rows: 1
+
+ * - Task
+ - Deliverable
+ - Plan start
+ - Plan end
+ - Result start
+ - Result end
+ - Responsibility
+
+ * - Prepare SW requirements
+ - SRS v1.0
+ - 04.2019
+ - 05.2019
+ -
+ -
+ - R\. Rusyaev
+
+ * - Prepare SW System Test Plan
+ - STD v1.0
+ - 04.2019
+ - 05.2019
+ -
+ -
+ - R\. Rusyaev
+
+ * - Prepare Initial Project Plan
+ - SDD v1.0
+ - 04.2019
+ - 05.2019
+ -
+ -
+ - R\. Rusyaev
+
+ * - Prepare SW System Cases
+ - STD v2.0
+ - 04.2019
+ - 06.2019
+ -
+ -
+ - R\. Rusyaev
+
+ * - Prepare software design documents
+ - HLD, DLD
+ - 05.2019
+ - 08.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Implement proof of concept for custom operations support in `NN Runtime`
+ - Proof of concept for custom operations support in `NN Runtime`
+ - 05.2019
+ - 08.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Develop initial version of ONXX importer
+ - Initial version of ONNX importer, capable for one operation networks import
+ - 05.2019
+ - 08.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Develop `Common IR` for `NN Compiler` and `NN Runtime`
+ - `Common IR` for `NN Compiler` and `NN Runtime`
+ - 04.2019
+ - 09.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Support heterogeneous execution
+ - Heterogeneous execution for CPU and GPU backends
+ - 04.2019
+ - 09.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Implement TF Importer
+ - TensorFlow NN Model Importer tested and capable to import all target models
+ - 05.2019
+ - 09.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Support custom operations in `NN Runtime`
+ - Custom operations support in `NN Runtime` and provide internal interface for custom operations registration
+ - 05.2019
+ - 09.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Develop mature version of ONXX importer
+ - Initial version of ONNX importer, capable for inception-v3 network import
+ - 05.2019
+ - 10.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Prepare proof of concept for control flow operations in `NN Runtime`
+ - Proof of concept for control flow operations in `NN Runtime`
+ - 07.2019
+ - 11.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Implement final version of ONNX Importer
+ - ONNX NN Model Importer tested and capable to import all target models
+ - 05.2019
+ - 11.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Prepare test result
+ - STD v2.0, UTR v1.0
+ - 04.2019
+ - 11.2019
+ -
+ -
+ - A\. Efimov
+
+ * - Prepare project completion documents
+ - STD v2.0, Technology Items completion reports
+ - 05.2019
+ - 12.2019
+ -
+ -
+ - A\. Efimov
+
+
+SW Metrics
+----------
+
+.. list-table:: Table 2-2. SW Metrics
+ :widths: 5 10 5 7 5 4 8
+ :header-rows: 1
+
+ * - Category
+ - Metric
+ - Collection Method
+ - Collection Period
+ - Planned
+ - Actual
+ - Responsibility
+
+ * - Quality
+ - Test pass rate
+ - GTest
+ - 22.02.2019 - 31.12.2019
+ - 100%
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Defects density
+ - Manual (GTest/Scripts)
+ - 22.02.2019 - 31.12.2019
+ - <= 1 defect/KLOC
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Defects removal rate
+ - Manual (GTest/Scripts)
+ - 22.02.2019 - 31.12.2019
+ - 100%
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Critical defects
+ - SVACE
+ - 22.02.2019 - 31.12.2019
+ - 0
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Major defects
+ - SVACE
+ - 22.02.2019 - 31.12.2019
+ - 0
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Code review issue removal
+ - Samsung Research GitHub
+ - 22.02.2019 - 31.12.2019
+ - 100%
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Comments Rate
+ - ``cloc`` tool
+ - 22.02.2019 - 31.12.2019
+ - Exceed 20%
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Cyclomatic Complexity (per file)
+ - SonarQube
+ - 22.02.2019 - 31.12.2019
+ - < 50
+ -
+ - A\. Efimov
+
+ * - Quality
+ - Unused Items (Unused Files, Unused Functions, Unused Global Variables)
+ - gcc/g++
+ - 22.02.2019 - 31.12.2019
+ - 0
+ -
+ - A\. Efimov
+
+ * - Process
+ - Project On-time Completion Rate
+ - PLM
+ - 22.02.2019 - 31.12.2019
+ - 100%
+ -
+ - A\. Efimov
+
+ * - Process
+ - Milestone On-time Completion Rate
+ - PLM
+ - 22.02.2019 - 31.12.2019
+ - 100%
+ -
+ - A\. Efimov
+
+ * - Process
+ - Process compliance
+ - Audit
+ - 22.02.2019 - 31.12.2019
+ - 100%
+ -
+ - A\. Kondrashov
+
+
+SW Configurations Management
+----------------------------
+
+Document
+````````
+
+
+.. list-table:: Table 2-3. Document Configuration Item
+ :widths: 2 20 5 8
+ :header-rows: 1
+
+ * - No
+ - Configuration Item
+ - Location
+ - Submitter
+
+ * - 1
+ - SW Requirement Specification
+ - PLM, GitHub
+ - A\. Efimov
+
+ * - 2
+ - SW Development Document
+ - PLM, GitHub
+ - A\. Efimov
+
+ * - 3
+ - SW High Level Document
+ - PLM, GitHub
+ - A\. Efimov
+
+
+ * - 4
+ - SW Detailed Level Document
+ - PLM, GitHub
+ - A\. Efimov
+
+ * - 5
+ - SW System Test Document
+ - PLM, GitHub
+ - A\. Efimov
+
+ * - 6
+ - SW Unit Test Report
+ - PLM, GitHub
+ - A\. Efimov
+
+
+SW Source Code
+``````````````
+
+
+SW Repositories: https://github.sec.samsung.net/STAR/nnfw
+
+::
+
+ git clone https://github.sec.samsung.net/STAR/nnfw.git
+
+
+
+Baseline
+````````
+
+.. list-table:: Table 2-4. Baseline Establishment
+ :widths: 5 5 8
+ :header-rows: 1
+
+ * - Phase
+ - Baseline Name
+ - SW Configuration Item
+
+ * - 04.2019 Plan
+ - Execution DR
+ - SW Requirement Specification, SW Development Document, System Test Document initial version
+
+ * - 06.2019 Execution
+ - DR1
+ - System Test Document
+
+ * - 08.2019 Execution
+ - Design document
+ - SW High Level Document, SW Detailed Design Document
+
+ * - 09.2019 Execution
+ - DR2
+ - Update design documents, UTR (1st round), STD (1st round)
+
+ * - 10.2019 Execution
+ - Test report
+ - SW System Test Document (result), SW Unit Test Report
+
+ * - 12.2019 Completion
+ - Project Completion
+ - Project Completion Report
+
+SW Quality Verification
+=======================
+
+SW Verification
+---------------
+
+
+.. list-table:: Table 3-1. SW Verification Plan and Result
+ :widths: 4 11 11 8 8 10 7 6
+ :header-rows: 1
+
+ * - No
+ - Verification Item
+ - Quality Goal
+ - Tool
+ - Phase
+ - Development Team Member in Charge
+ - Result
+ - Note
+
+ * - 1
+ - Open source License Verification
+ - Clear violations of open source obligation
+ - ProtexIP
+ - Execution
+ - Efimov Alexander
+ -
+ -
+
+ * - 2
+ - Potential Defect
+ - Fix all defects
+ - Svace
+ - Test
+ - Efimov Alexander
+ -
+ -
+
+ * - 3
+ - System Defect
+ - Fix Critical/ Major defects
+ - GitHub
+ - Test
+ - Efimov Alexander
+ -
+ -
+
+Static Analysis
+---------------
+
+.. list-table:: Table 3-2. Static Analysis Verification
+ :widths: 5 20 10 7 20
+ :header-rows: 1
+
+ * - No
+ - Activity
+ - Schedule
+ - Result
+ - Comment
+
+ * - 1
+ - SA Verification I (SVACE)
+ - 28.09.2019
+ -
+ -
+
+ * - 2
+ - SA Verification II (SVACE)
+ - 30.11.2019
+ -
+ -
+
+ * - 2
+ - SA Verification III (SVACE)
+ - 31.12.2019
+ -
+ -
+
+Coding Standard
+---------------
+
+.. list-table:: Table 3-3. Coding Standard Verification
+ :widths: 5 20 10 7 20
+ :header-rows: 1
+
+ * - No
+ - Activity
+ - Schedule
+ - Result
+ - Comment
+
+ * - 1
+ - Coding standard enforcement with ``clang-format`` tool.
+ - Regular
+ -
+ -
+
+
+Convergence (integration testing)
+---------------------------------
+
+Out of scope since the integration with other SW is not required by SW Requirement Specification.
+
+Dynamic Analysis
+----------------
+
+Dynamic analysis for NN Compiler memory leaks investigation performed with Valgrind/AdressSanitizer/LeakSanitizer tools.
+
+.. list-table:: Table 3-4. Dynamic Analysis Verification
+ :widths: 5 20 10 7 20
+ :header-rows: 1
+
+ * - No
+ - Activity
+ - Schedule
+ - Result
+ - Comment
+
+ * - 1
+ - DA Verification I
+ - 28.09.2019
+ -
+ -
+
+ * - 2
+ - DA Verification II
+ - 30.11.2019
+ -
+ -
+
+ * - 2
+ - DA Verification III
+ - 31.12.2019
+ -
+ -
+
+Architecture Analysis
+---------------------
+
+SW architecture verification is managed by HQ.
+
+
+SW Security
+-----------
+
+Out of the project scope since the project is not related to SW security.
+
+
+Code Review
+-----------
+
+
+.. list-table::
+ :widths: 5 20 10 7 20
+ :header-rows: 1
+
+ * - No
+ - Activity
+ - Schedule
+ - Result
+ - Comment
+
+ * - 1
+ - Code review via GitHub pull requests
+ - Regular
+ -
+ -
+
+Risk Management
+===============
+
+
+.. list-table:: Table 4-1. SW Risk Management
+ :widths: 7 12 12 10 12 12
+ :header-rows: 1
+
+ * - Priority
+ - Risk Description
+ - Risk Reduction Solution
+ - Schedule
+ - Result
+ - Responsibility
+
+ * - 1
+ - Project scope is changed due extra HQ request
+ - Discuss the new requirements via email and messenger, update SRS
+ - 02.2019 - 12.2019
+ -
+ - A\. Efimov
+
+ * - 2
+ - Unavoidable technical difficulties during requirements implementation
+ - Submit requirements changes and get confirmation from HQ
+ - 02.2019 - 12.2019
+ -
+ - A\. Efimov
+
+ * - 3
+ - Not enough HR
+ - Hire team members as soon as possible, request assistance from other teams
+ - 02.2019 - 12.2019
+ -
+ - A\. Efimov
+
+ * - 4
+ - Use of GPL code
+ - Minimize usage of GPL code, wrap GPL modules with well-defined interfaces
+ so they can be easily replaced.
+ - 02.2019 - 12.2019
+ -
+ - A\. Efimov
+
+ * - 5
+ - Requirements would change due external or internal circumstances, e.g. new technology or product launch
+ - Discuss project changes and make corrections
+ - 02.2019 - 12.2019
+ -
+ - A\. Efimov
+
+
+**References**
+
+Competitors:
+
+.. [#] `NNVM: Open Compiler for AI Frameworks <https://github.com/dmlc/nnvm>`_.
+.. [#] `Latte.jl: A high-performance DSL for deep neural networks in Julia <https://github.com/IntelLabs/Latte.jl>`_.
+.. [#] `DNNDK: Full-stack solution for deep learning development & deployment <http://www.deephi.com/dnndk.html>`_.
+.. [#] `nngraph: Neural Network Graph Package <https://github.com/torch/nngraph>`_.
+.. [#] `Richard Wei, Lane Schwartz, Vikram Adve, DLVM: A modern compiler infrastructure for deep learning systems, arXiv:1711.03016, 2017 <http://dlvm.org/>`_.
+.. [#] `XLA (Accelerated Linear Algebra): a domain-specific compiler for linear algebra that optimizes TensorFlow computations <https://www.tensorflow.org/performance/xla>`_.
+.. [#] `nGraph: an open source C++ library, compiler and runtime for Deep Learning frameworks <https://github.com/NervanaSystems/ngraph>`_.