[README] Add document pages to README.md
[platform/adaptation/npu/trix-engine.git] / README.md
1 ## NPU SystemService (NPU Engine)
2
3 [![Version](https://github.sec.samsung.net/nnsuite/n2s2/blob/master/AIP_NPU_SystemService/badges/version.svg)](/CHANGES)
4 [![Code Coverage](https://github.sec.samsung.net/nnsuite/n2s2/blob/master/AIP_NPU_SystemService/badges/codecoverage.svg)](http://nnsuiteci.mooo.com/NPU_SystemService/ci/gcov_html/index.html)
5 [![Unit Test](https://github.sec.samsung.net/nnsuite/n2s2/blob/master/AIP_NPU_SystemService/badges/unittest.svg)](http://nnsuiteci.mooo.com/NPU_SystemService/ci/unittest_result/)
6 [![SAM Score](https://github.sec.samsung.net/nnsuite/n2s2/blob/master/AIP_NPU_SystemService/badges/samscore.svg)](https://code.sec.samsung.net/architecturemanager/app/sam/NPU_SystemService/npu-engine/latest/overview)
7 [![Issues](https://github.sec.samsung.net/nnsuite/n2s2/blob/master/AIP_NPU_SystemService/badges/issues.svg)](https://github.sec.samsung.net/AIP/NPU_SystemService/issues)
8 [![Pull Requests](https://github.sec.samsung.net/nnsuite/n2s2/blob/master/AIP_NPU_SystemService/badges/pulls.svg)](https://github.sec.samsung.net/AIP/NPU_SystemService/pulls)
9
10 ## Directory Structure
11 ```
12 NPU_SystemService/    Root directory
13 |-- src/
14 |   |-- core/         Source files for NPU Engine Core
15 |   |-- host/         Source files for User APIs
16 |-- include/
17 |   |-- common/       Definitions for Common Data
18 |   |-- host/         Definitions for User APIs
19 |-- tests/
20 |   |-- unittests     Source files for Unit Tests
21 |   |-- apptests      Source files for App Tests
22 |   `-- utils         Source files for Test Utils
23 |-- packaging/        Tizen Packaging Files (i.e., FastModel Simulator)
24 |-- debian/           Debian Packaging Files (i.e., Ubuntu 16.04)
25 `-- doc/              Documentation
26 ```
27
28 ## Getting Started: [official documents](https://github.sec.samsung.net/pages/AIP/NPU_DDK_DOCS)
29 - How to setup your own FastModel enviornment (in Ubuntu 16.04 running on your host PC): press [here](https://github.sec.samsung.net/AIP/NPU_bootstrap/blob/master/README.md)
30 - How to build the NPU Engine library (FastModel or Ubuntu): press [here](/doc/how_to_build.md)
31 - How to test NPU-DDK packages on FastModel: press [here](/doc/how_to_test.md)
32 - How to use the NPU Engine library in user apps: press [here](/doc/how_to_use.md)
33 - How to debug your apps using the NPU Engine library: press [here](/doc/how_to_debug.md)
34 - Usage examples using the NPU Engine library: press [here](/doc/usage_examples.md)
35 - NPU Engine-enabled bootable images for an FPGA board: press [here](https://github.sec.samsung.net/AIP/meta-trinity/blob/master/README.md)
36
37 ## Quick-start Guide using Docker
38 - Docker images (xenial, bionic) images from [Artifactory](https://art.sec.samsung.net/artifactory/webapp/#/home)
39 - Trinity NPU simulation by [libmrpsim](https://github.sec.samsung.net/AIP/SIM_TrinityVision2/tree/master/mRPsim)
40 ```
41 $ sudo apt install docker.io
42 $ sudo docker pull art.sec.samsung.net/aip_docker/n2s2_docker/xenial
43 $ sudo docker run -i -t art.sec.samsung.net/aip_docker/n2s2_docker/xenial /bin/bash
44
45 root# ls /opt/trinity/share/npu-engine/testdata/TRIV223_2TOPS/MOBILENET_V1
46 input_fmap_0.bin  model.tvn  output_fmap_0.bin
47
48 root# apptest_tvn_triv2 /opt/trinity/share/npu-engine/testdata/TRIV223_2TOPS/MOBILENET_V1
49 >>> Initializaing SPM with zero. It can be time-consuming...
50 >>> Initializaing SPM with zero. It can be time-consuming...
51 [Core Name: NPCore0], [File Name: /opt/trinity/share/mRPsim/decoder-triv2-emul.bin], [Ver: 1]
52         Section(.SRP.FLIH) Base (22000000) Size(36)
53 ...
54 [APPTEST] apptest_tvn_triv2: PASSED
55
56 root# exit
57 ```
58
59 ## Related Projects
60 - [AIP/NPU_Linux-kernel](https://github.sec.samsung.net/AIP/NPU_Linux-kernel): Linux kernel image and drivers (on FastModel simulator)
61 - [AIP/NPU_bootstrap](https://github.sec.samsung.net/AIP/NPU_bootstrap): Bootstrap packages for FastModel simulator
62 - [AIP/NPU_SystemService_Testdata](https://github.sec.samsung.net/AIP/NPU_SystemService_Testdata): Testdata for verification (NPU models and reference input/output)
63 - [AIP/NPU_SystemService_Emulator](https://github.sec.samsung.net/AIP/NPU_SystemService_Emulator): Cpp-based emulator to precheck NPU inferences in Ubuntu env.
64 - [AIP/meta-trinity](https://github.sec.samsung.net/AIP/meta-trinity): Bitbake recipes for an FPGA board (ZCU102-ZYNQMP)
65 - [AIP/n2s2_docker](https://github.sec.samsung.net/AIP/n2s2_docker): Docker images for npu-engine users
66
67 ## Official Repository (to download npu-engine packages)
68 - SPIN OBS
69   - How to create your SPIN account: press [here](https://code.sec.samsung.net/confluence/display/NEWCOMM/SPIN+Request+Process)
70   - Tizen: http://10.113.136.32/download_trbs/snapshots/devel/tizen-6.0-ai/latest/repos/Tizen_Unified_standard
71   - Ubuntu (16.04/18.04): http://10.113.136.32/download_trbs/newlive/devel:/Tizen:/6.0:/AI:/UbuntuTools
72 - Artifactory
73   - Ubuntu (16.04/18.04): https://art.sec.samsung.net/artifactory/list/aip_debian
74
75 ## Additional Notes
76 - The FastModel simulator requires Ubuntu 16.04 as it does not fully support Ubuntu 18.04.
77 - TRIV2 Models (.tvn) should be compatibile with npubinfmt v3. Please refer to [npubinfmt.h](/include/common/npubinfmt.h)
78
79 ## Reference Links
80 - Software Stack: http://suprem.sec.samsung.net/confluence/display/ODLC/NPU+OS+Stack
81 - CI Server: http://nnsuiteci.mooo.com/NPU_SystemService/ci/taos/
82 - Code Coverage: http://nnsuiteci.mooo.com/NPU_SystemService/ci/gcov_html/
83 - Doxygen manual: http://nnsuiteci.mooo.com/NPU_SystemService/latex/book.pdf