This patch updates some documents to describe the latest NPU-DDK.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
$ sudo apt -y update
$ sudo apt -y install npu-bootstrap-fm
$ dpkg -l | grep npu-bootstrap-fm
-ii npu-bootstrap-fm 2.3.2 amd64 Bootstrap Package for ARM Cortex-A53x4-based NPU FM simulator
-ii npu-bootstrap-fm-arm-tf 2.3.2 amd64 ARM Trusted Firmware
-ii npu-bootstrap-fm-linux-fvp-initrd-dtb 2.3.2 amd64 DTB (initrd) for the Linux Kernel on Cortex-A53x4 Base Platform FVP
-ii npu-bootstrap-fm-ramdisk 2.3.2 amd64 BusyBox-based AArch64 Linux RAMDisk Image
+ii npu-bootstrap-fm 2.3.5 amd64 Bootstrap Package for ARM Cortex-A53x4-based NPU FM simulator
+ii npu-bootstrap-fm-arm-tf 2.3.5 amd64 ARM Trusted Firmware
+ii npu-bootstrap-fm-linux-fvp-initrd-dtb 2.3.5 amd64 DTB (initrd) for the Linux Kernel on Cortex-A53x4 Base Platform FVP
+ii npu-bootstrap-fm-ramdisk 2.3.5 amd64 BusyBox-based AArch64 Linux RAMDisk Image
$ ls /opt/trinity
bin emulator etc get_taos include lib npu-bootstrap npu-scc run_taos share
```
If the build has finished successfully, you should find the built packages like below.
```console
$ ls ~/GBS-ROOT/local/repos/tizen/aarch64/RPMS/
-npu-engine-2.3.8-1.aarch64.rpm npu-engine-example-2.3.8-1.aarch64.rpm
-npu-engine-devel-2.3.8-1.aarch64.rpm npu-engine-utils-2.3.8-1.aarch64.rpm
+npu-engine-2.3.15-1.aarch64.rpm npu-engine-example-2.3.15-1.aarch64.rpm
+npu-engine-devel-2.3.15-1.aarch64.rpm npu-engine-utils-2.3.15-1.aarch64.rpm
```
## Library Linking
This page describes a quick-start guide to use NPU-DDK's user library, `npu-engine`, in `Docker` environment. It is meant for people who are new to using NPU-DDK, and emulate NPU inferences using [libmrpsim](https://github.sec.samsung.net/AIP/SIM_TrinityVision2/tree/master/mRPsim).
-* Docker images supported: Ubuntu 18.04 (bionic)
+* Docker images supported: Ubuntu 18.04 (bionic) and 20.04 (focal)
## Docker Images
+To download our docker image, please follow the following instructions. You may change `bionic` to `focal` for ubuntu 20.04.
+
```console
$ sudo apt install docker.io
$ sudo docker pull art.sec.samsung.net/aip_docker/n2s2_docker/bionic
## Example: Inference with MobileNetV1
-You can start with our example programs (`/opt/trinity/bin/ and testdata.
-Please check `/opt/trinity/share/npu-engine/testdata` for many other models.
+You can start with our example programs (`npu-engine-example`) and testdata (`npu-engine-testdata`).
+The default installation paths are as follows:
+- `npu-engine-example`: `/opt/trinity/bin`
+- `npu-engine-testdata`: `/opt/trinity/share/npu-engine/testdata`
```console
root# ls /opt/trinity/share/npu-engine/testdata/TRIV235_2TOPS/MOBILENET_V1
$ cd meta-trinity
$ ls
build conf COPYING.MIT hw README.md recipes-app recipes-bsp recipes-ddk recipes-devtools recipes-kernel
-$ vim recipes-ddk/npu-engine/npu-engine_2.3.8.bb
+$ vim recipes-ddk/npu-engine/npu-engine_2.3.15.bb
[ ... ]
SRC_URI = "git://git@github.sec.samsung.net/AIP/NPU_SystemService.git;protocol=ssh;branch=tizen"
[ ... ]
[ ... ]
$ petalinux-build
$ ls build/tmp/deploy/rpm/aarch64 | grep npu-engine
-npu-engine-2.3.8-r0.aarch64.rpm
-npu-engine-testcases-2.3.8-r0.aarch64.rpm
+npu-engine-2.3.15-r0.aarch64.rpm
+npu-engine-testcases-2.3.15-r0.aarch64.rpm
```
As our FPGA board supports `ssh` connection, the created packages can be simply copied.
```
$ cd build/tmp/deploy/rpm/aarch64/
-$ scp npu-engine-2.3.8-r0.aarch64.rpm root@[FPGA IP Address]:.
-$ scp npu-engine-2.3.8-testcases-r0.aarch64.rpm root@[FPGA IP Address]:.
+$ scp npu-engine-2.3.15-r0.aarch64.rpm root@[FPGA IP Address]:.
+$ scp npu-engine-2.3.15-testcases-r0.aarch64.rpm root@[FPGA IP Address]:.
```
Then, you can install them using `rpm` command in the FPGA board.
```
$ ssh root@[FPGA IP Address]
[ ... ]
-# rpm -ivh npu-engine-2.3.8-r0.aarch64.rpm --force
+# rpm -ivh npu-engine-2.3.15-r0.aarch64.rpm --force
# ls -al /usr/lib/libnpu-engine.so
rwxr-xr-x 1 root root 210872 May 28 05:27 /usr/lib/libnpu-engine.so
-# rpm -ivh npu-engine-testcases-2.3.8-r0.aarch64.rpm --force
+# rpm -ivh npu-engine-testcases-2.3.15-r0.aarch64.rpm --force
# ls -al /usr/lib/npu-engine/bin/
drwxr-xr-x 2 root root 4096 May 28 05:24 apptests
drwxr-xr-x 2 root root 4096 May 28 05:24 unittests
emulator-26101 device m-0405-1
$ ls -1 RPMS
libmrpsim-3.8.67-0.i686.rpm
-nnstreamer-srnpu-2.3.13-0.i686.rpm
-npu-engine-2.3.13-0.i686.rpm
+nnstreamer-srnpu-2.3.15-0.i686.rpm
+npu-engine-2.3.15-0.i686.rpm
$ bash install.sh
...
```
# Getting Started with Ubuntu
The NPU-DDK's primary targets are [FastModels](FastModels.md) and [FPGA](PetaLinux.md).
-However, we also support host PC using `Ubuntu` (18.04) for fast development and testing purpose.
+However, we also support host PC using `Ubuntu` (18.04, 20.04) for fast development and testing purpose.
This page describes how to install and use NPU-DDK in your host PC.
Note that this environment simulates NPU HW behaviors and does not need to install kernel drivers.
If the build has finished successfully, you should find the built packages like below.
```console
$ ls ../*.deb
-../npu-engine_2.3.8_amd64.deb ../npu-engine-example_2.3.8_amd64.deb
-../npu-engine-dev_2.3.8_amd64.deb ../npu-engine-utils_2.3.8_amd64.deb
+../npu-engine_2.3.15_amd64.deb ../npu-engine-example_2.3.15_amd64.deb
+../npu-engine-dev_2.3.15_amd64.deb ../npu-engine-utils_2.3.15_amd64.deb
```
Then, install your packages manually.
```console
-$ dpkg -i ../npu-engine_2.3.8_amd64.deb
+$ dpkg -i ../npu-engine_2.3.15_amd64.deb
$ ls /opt/trinity/lib
libnpu-engine.so
```
## Package Deployment
* [Artifactory](Artifactory.md): Essential packages for Ubuntu
-* [SPIN OBS](SPIN.md): Full packages for both Ubuntu and Tizen
+* [SPIN OBS](SPIN.md): Full packages for both Ubuntu and Tizen (not recommended for most users)
-## CI System
-
-* [http://nnsuiteci.mooo.com](http://nnsuiteci.mooo.com): Please refer to [TAOS-CI](https://github.com/nnstreamer/TAOS-CI) for details
+## CI/CD System
+* [Github Action](https://github.sec.samsung.net/AIP/NPU_SystemService/tree/tizen/.github/workflows)
+* [TAOS-CI](http://nnsuiteci.mooo.com/NPU_SystemService/ci/taos/)