$ 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.15.bb
+$ vim recipes-ddk/npu-engine/npu-engine_2.4.0.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.15-r0.aarch64.rpm
-npu-engine-testcases-2.3.15-r0.aarch64.rpm
+npu-engine-2.4.0-r0.aarch64.rpm
+npu-engine-testcases-2.4.0-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.15-r0.aarch64.rpm root@[FPGA IP Address]:.
-$ scp npu-engine-2.3.15-testcases-r0.aarch64.rpm root@[FPGA IP Address]:.
+$ scp npu-engine-2.4.0-r0.aarch64.rpm root@[FPGA IP Address]:.
+$ scp npu-engine-2.4.0-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.15-r0.aarch64.rpm --force
+# rpm -ivh npu-engine-2.4.0-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.15-r0.aarch64.rpm --force
+# rpm -ivh npu-engine-testcases-2.4.0-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
-rwxr-xr-x 1 root root 38984 May 28 05:27 apptest_tvn_triv2_xml
```
-They may use test models stored in `/home/root/TRIV235_2TOPS` if necessary.
-- `TRIV235_2TOPS/NHWC`: test models with NHWC format
-- `TRIV235_2TOPS/TRIV2`: test models with TRIV2 format
+They may use test models stored in `/home/root/TRIV238_2TOPS` if necessary.
+- `TRIV238_2TOPS`: TRIV v2.3.8 (2-TOPS) test models with NHWC format
Programs in `apptests` are linked to `libnpu-engine.so` and may require extra arguments.
The below shows example command lines for each apptest.
-h Show help messages
[APPTEST] apptest_tvn_triv2: SKIPPED
-# apptest_tvn_triv2 TRIV235_2TOPS/NHWC/MOBILENET_V1
+# apptest_tvn_triv2 TRIV238_2TOPS/MOBILENET_V1
[APPTEST] apptest_tvn_triv2: PASSED
-# apptest_tvn_triv2_bulk TRIV235_2TOPS/NHWC
+# apptest_tvn_triv2_bulk TRIV238_2TOPS
[APPTEST] apptest_tvn_triv2_bulk: PASSED (98), FAILED (0)
-# apptest_tvn_triv2_bulk TRIV235_2TOPS/TRIV2 -t
-[APPTEST] apptest_tvn_triv2_bulk: PASSED (98), FAILED (0)
-
-# apptest_tvn_triv2_dmabuf TRIV235_2TOPS/TRIV2/MOBILENET_V1
+# apptest_tvn_triv2_dmabuf TRIV238_2TOPS/MOBILENET_V1
[APPTEST] apptest_tvn_triv2_dmabuf: PASSED
-# apptest_tvn_triv2_preempt TRIV235_2TOPS/NHWC
+# apptest_tvn_triv2_preempt TRIV238_2TOPS
[APPTEST] apptest_tvn_triv2_preempt: PASSED
-# apptest_tvn_triv2_profile TRIV235_2TOPS/NHWC/MOBILENET_V1 -p visa
+# apptest_tvn_triv2_profile TRIV238_2TOPS/MOBILENET_V1 -p visa
[ ... ]
[622] ADMA_IN
Running Cycles : 477
vISA Exec Seq : 23537
[APPTEST] apptest_tvn_triv2_profile: PASSED
-# apptest_tvn_triv2_profile TRIV235_2TOPS/NHWC/MOBILENET_V1 -p layer
+# apptest_tvn_triv2_profile TRIV238_2TOPS/MOBILENET_V1 -p layer
[ ... ]
[30] conv_dw_13_relu/Relu6
Running Cycles : 3005
# cat model.xml
<testcases>
<model name="mobilenet_v1" timeout="3000" priority="1">
- <dirpath>TRIV235_2TOPS/NHWC/MOBILENET_V1</dirpath>
+ <dirpath>TRIV238_2TOPS/MOBILENET_V1</dirpath>
</model>
<model name="mobilenet_v2" timeout="1000" priority="2">
- <dirpath>TRIV235_2TOPS/NHWC/MOBILENET_V2</dirpath>
+ <dirpath>TRIV238_2TOPS/MOBILENET_V2</dirpath>
</model>
</testcases>
# apptest_tvn_triv2_xml model.xml