platform/adaptation/npu/trix-engine.git
5 years ago[Dist/Tizen] Fix gbs build errors when unit tests are enabled
Wook Song [Tue, 30 Jul 2019 03:59:27 +0000 (12:59 +0900)]
[Dist/Tizen] Fix gbs build errors when unit tests are enabled

This patch fixes errors during gbs-build when unit tests are enabled.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Valgrid] Fix memory leak in ne-conf.c and ne-mem.c
Dongju Chae [Mon, 29 Jul 2019 10:01:33 +0000 (19:01 +0900)]
[Valgrid] Fix memory leak in ne-conf.c and ne-mem.c

This commit fixes memory leak in `ne-conf.c` and `ne-mem.c`.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N1] change API args to use model id/version instead of model itself
Dongju Chae [Mon, 29 Jul 2019 10:38:25 +0000 (19:38 +0900)]
[N1] change API args to use model id/version instead of model itself

This commit changes function arguments to use model id/param.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[TAOS-CI] Add test coverage package for TAOS-CI
Dongju Chae [Mon, 29 Jul 2019 10:10:40 +0000 (19:10 +0900)]
[TAOS-CI] Add test coverage package for TAOS-CI

This commit appends scripts for test coverage package to the spec file.
The package is used in TAOS-CI to show the analysis result for test coverage.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Conf] Load default configurations in constructor
Dongju Chae [Mon, 29 Jul 2019 10:18:34 +0000 (19:18 +0900)]
[Conf] Load default configurations in constructor

This commit updates to load default configurations in constructor.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N4C] Added implementations for configure and dataready
Parichay Kapoor [Fri, 12 Jul 2019 00:46:19 +0000 (09:46 +0900)]
[N4C] Added implementations for configure and dataready

Added implementations for configure and dataready
Updated changes in npu-host-service for successful build

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Meson] Enable tests for core libraries
Wook Song [Tue, 30 Jul 2019 02:29:40 +0000 (11:29 +0900)]
[Meson] Enable tests for core libraries

This patch enables tests for core libraries.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Meson] Clean-up meson build scripts
Wook Song [Tue, 30 Jul 2019 02:18:26 +0000 (11:18 +0900)]
[Meson] Clean-up meson build scripts

This patch revises meson build scripts in the whole project.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[NPUdrvAPI/test] Added unit tests for NPU driver api
Parichay Kapoor [Wed, 24 Jul 2019 11:32:37 +0000 (20:32 +0900)]
[NPUdrvAPI/test] Added unit tests for NPU driver api

Added unit test cases for NPU driver api
This only tests the internal working of the api
Syscalls/Interaction with device is ignored in this testing
This test suite should pass with/without device driver/device available
Fixed Doxygen entries

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Meson] Apply work-around in order to fix gbs-build errors
Wook Song [Mon, 29 Jul 2019 08:10:38 +0000 (17:10 +0900)]
[Meson] Apply work-around in order to fix gbs-build errors

This patch applies several work-around solutions in order to fix
gbs-build errors. Note that this is not permanent solutions. After CI
system is enabled, we need to take look into whole build scripts.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Dist/Tizen] Modify the rpm sepc file according to meson revision
Wook Song [Mon, 29 Jul 2019 08:09:06 +0000 (17:09 +0900)]
[Dist/Tizen] Modify the rpm sepc file according to meson revision

Since the meson build scripts are revised, it is required to revise the
rpm spec file as well.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Engine/Scheduler] Replace 'n4_opmode' with 'submodel_opmode'
Wook Song [Mon, 29 Jul 2019 08:07:27 +0000 (17:07 +0900)]
[Engine/Scheduler] Replace 'n4_opmode' with 'submodel_opmode'

There is no 'n4_opmode' anymore. This patch replaces 'n4_opmode' with
'submodel_opmode' to fix build errors.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Engine/HostInputService] Define a dummy for 'N4_OPS_HOST_INPUT'
Wook Song [Mon, 29 Jul 2019 07:44:31 +0000 (16:44 +0900)]
[Engine/HostInputService] Define a dummy for 'N4_OPS_HOST_INPUT'

Since 'N4_OPS_HOST_INPUT' is omitted from the current source tree, this
patch just defines a dummy for 'N4_OPS_HOST_INPUT' as a work-around.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Engine/InputService] Fix build error due to incompatible-pointer-types
Wook Song [Mon, 29 Jul 2019 07:38:04 +0000 (16:38 +0900)]
[Engine/InputService] Fix build error due to incompatible-pointer-types

This patch fixes build errors in the header file for 'inputservice'
due to incompatible-pointer-types.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years agoEngine/HostInputService] Block lines refering to non-existent member
Wook Song [Mon, 29 Jul 2019 07:29:08 +0000 (16:29 +0900)]
Engine/HostInputService] Block lines refering to non-existent member

In order to fix build errors, this patch blocks lines that refer to
non-existent member of a struct. Note that this ia a work-around. We
need to fix it.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Core/HostInputService] Fix build error, 'maybe-uninitialized'
Wook Song [Mon, 29 Jul 2019 06:48:11 +0000 (15:48 +0900)]
[Core/HostInputService] Fix build error, 'maybe-uninitialized'

This patch fixes a build error caused by a local variable used without
initialization.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Core/HostInputService] Include 'srnpu.h' from 'misc'
Wook Song [Mon, 29 Jul 2019 06:46:13 +0000 (15:46 +0900)]
[Core/HostInputService] Include 'srnpu.h' from 'misc'

This patch changes the location of 'srnpu.h' from 'linux' to 'misc'.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Core] Include srnpu.h from 'misc'
Wook Song [Mon, 29 Jul 2019 06:40:33 +0000 (15:40 +0900)]
[Core] Include srnpu.h from 'misc'

This patch changes the location of 'srnpu.h' from 'linux' to 'misc'.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Engine/ArmPlugin] Fix build error due to incompatible-pointer-types
Wook Song [Mon, 29 Jul 2019 06:36:38 +0000 (15:36 +0900)]
[Engine/ArmPlugin] Fix build error due to incompatible-pointer-types

This patch fixes a build error due to initialization from incompatible
pointer types between the arm_plugin_configure function and the function
pointer, configure, in the inputservice structure.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Engine/Handler] Fix undefined reference to un-implemented functions
Wook Song [Mon, 29 Jul 2019 06:30:06 +0000 (15:30 +0900)]
[Engine/Handler] Fix undefined reference to un-implemented functions

This patch fixes build errors due to undefined reference to
un-implemented functions, exitNEcomm and initNEcomm.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[DIST/Tizen] Add build dependency on linux-fvp
Wook Song [Fri, 26 Jul 2019 08:03:21 +0000 (17:03 +0900)]
[DIST/Tizen] Add build dependency on linux-fvp

This patch fixes errors occurring since a necessary kernel header is not
provided.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[N12] The prototype of FastModel comm plugin
Dongju Chae [Tue, 23 Jul 2019 04:33:55 +0000 (13:33 +0900)]
[N12] The prototype of FastModel comm plugin

This commit adds the prototype of fastmodel comm plugin using TCP/IP.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Build] revise meson files to make a single project
Parichay Kapoor [Fri, 26 Jul 2019 06:04:16 +0000 (15:04 +0900)]
[Build] revise meson files to make a single project

merge core and host into a single project
npu-engine final .so with interface of libnpuhost.h in ip comm mode only
libnpuhost.h and npu-engine interface to be done by N11 (plugin-ip-comm.c)
npu-engine exe build only in fast model mode
include common dir for header properly

Working on issue #114

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[ne] Create submodel for input service
Parichay Kapoor [Fri, 19 Jul 2019 08:23:39 +0000 (17:23 +0900)]
[ne] Create submodel for input service

Create dummy submodel for input computation service corresponding to the input opmode
Add enum in typedef corresponding to the type of submodel in its meta
n4_opmode replaces with submodel_ops
updated the order of the submodels in the model

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[NE-scheduler] Interface between N3 and N4
Parichay Kapoor [Fri, 19 Jul 2019 10:53:26 +0000 (19:53 +0900)]
[NE-scheduler] Interface between N3 and N4

N3's interface takes in the input_mode op along with list of submodels or a model
However, N4C interface takes in the n4_opmode which points to the device to be run
This patch links the two interface in N3 implementation

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[NE] Add .gitignore
Dongju Chae [Fri, 26 Jul 2019 08:27:04 +0000 (17:27 +0900)]
[NE] Add .gitignore

This commit adds .gitignore

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N44] N44 is now deprecated
Dongju Chae [Thu, 25 Jul 2019 07:15:25 +0000 (16:15 +0900)]
[N44] N44 is now deprecated

N44 is now deprecated.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[ne-inputservice] Update the interface for configure
Parichay Kapoor [Wed, 17 Jul 2019 10:55:30 +0000 (19:55 +0900)]
[ne-inputservice] Update the interface for configure

Updated the interface for configure
Replaced n40_data data in configure with cb_data
Further the data will not be present in n4_configure #93
Removed cb/cb_data from n40_data

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Build] Add a meson option to select a comm plugin.
Dongju Chae [Mon, 22 Jul 2019 06:26:06 +0000 (15:26 +0900)]
[Build] Add a meson option to select a comm plugin.

This commit adds a meson option to select a comm plugin

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Build] Build NE as an executable instead of library.
Dongju Chae [Mon, 22 Jul 2019 06:24:41 +0000 (15:24 +0900)]
[Build] Build NE as an executable instead of library.

This commit changes meson.build to build NE as an executable.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[UnitTest] Append auto unittests to npu-engine.spec
Dongju Chae [Fri, 19 Jul 2019 08:31:14 +0000 (17:31 +0900)]
[UnitTest] Append auto unittests to npu-engine.spec

This PR appends auto unittests to npu-engine.spec
(and missing dependency for gtest)

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N4C] Make only N4C call .getNextBuffer() in N7
Dongju Chae [Fri, 19 Jul 2019 02:17:13 +0000 (11:17 +0900)]
[N4C] Make only N4C call .getNextBuffer() in N7

This commit adds getNextBuffer wrappers in N2 and N3, and append prefixes.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N42] Implementation for setting up device and callbacks
Parichay Kapoor [Thu, 11 Jul 2019 05:56:57 +0000 (14:56 +0900)]
[N42] Implementation for setting up device and callbacks

Added implementation to interface with the device
Added callbacks
Added minor bug fixes

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Build/Fix] Fix minor compile errors (with gbs)
Dongju Chae [Fri, 19 Jul 2019 08:23:56 +0000 (17:23 +0900)]
[Build/Fix] Fix minor compile errors (with gbs)

This updates minor compiler errors

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N42] Added function implementations
Parichay Kapoor [Mon, 8 Jul 2019 11:39:00 +0000 (20:39 +0900)]
[N42] Added function implementations

Added implementation for empty functions

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[NE] Remove 'first_buffer' in configure functions.
Dongju Chae [Wed, 17 Jul 2019 10:08:10 +0000 (19:08 +0900)]
[NE] Remove 'first_buffer' in configure functions.

This commit removes buffer arguments in configure functions.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N4C] Make N4C's register/unregister() use its own mutex
Dongju Chae [Wed, 17 Jul 2019 06:42:13 +0000 (15:42 +0900)]
[N4C] Make N4C's register/unregister() use its own mutex

This commit changes N4C to use its own mutex in register/unregister()

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N3] Add N3's wrapper of output callback
Dongju Chae [Wed, 17 Jul 2019 09:40:52 +0000 (18:40 +0900)]
[N3] Add N3's wrapper of output callback

This commit adds the output callback wrapper for N3.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N44] Add prototype impl. of N44
Dongju Chae [Thu, 4 Jul 2019 08:20:19 +0000 (17:20 +0900)]
[N44] Add prototype impl. of N44

This commit includes the basic implementation for N44.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N40] Fix compiler error in ne-inputservice.h
Dongju Chae [Thu, 4 Jul 2019 08:19:24 +0000 (17:19 +0900)]
[N40] Fix compiler error in ne-inputservice.h

This commit re-arranges the order of structure definitions to fix compile errors.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N71] Split the compaction algorithm into two-step one
Dongju Chae [Wed, 17 Jul 2019 08:10:20 +0000 (17:10 +0900)]
[N71] Split the compaction algorithm into two-step one

This commit splits the compaction algorithm into two-step one.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Main] Make main() call N2's init/exit functions.
Dongju Chae [Tue, 16 Jul 2019 11:34:24 +0000 (20:34 +0900)]
[Main] Make main() call N2's init/exit functions.

This commit changes main() to call N2's init/exit functions.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Main] Fix bugs in argument parsing
Dongju Chae [Tue, 16 Jul 2019 11:32:33 +0000 (20:32 +0900)]
[Main] Fix bugs in argument parsing

This commit fixs the argument parsing bug. It didn't check whether `argc` is larger than 1.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Conf] Implement configuration parsing
Dongju Chae [Tue, 16 Jul 2019 12:27:50 +0000 (21:27 +0900)]
[Conf] Implement configuration parsing

This commit implements configuration parsing in `ne-conf.c`

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Build] Revise meson.build for each module
Dongju Chae [Tue, 16 Jul 2019 09:37:46 +0000 (18:37 +0900)]
[Build] Revise meson.build for each module

This commit changes each meson.build file to use the same prefix and remove unncessary dependencies.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Build] Append sources for implemented modules to the build script
Dongju Chae [Mon, 15 Jul 2019 04:26:15 +0000 (13:26 +0900)]
[Build] Append sources for implemented modules to the build script

This commit appends implemented components to `npu_engine_common_sources`
- 'ne-armplugin.c'
- 'ne-handler.c'
- 'ne-scheduler.c'

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Build] Add missing dependencies for NPU Engine
Dongju Chae [Mon, 15 Jul 2019 04:24:28 +0000 (13:24 +0900)]
[Build] Add missing dependencies for NPU Engine

This commit adds missing dependencies such as iniparser and libm

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N71/Errno] Remove ne-error.h and use the log utility in ne-utils.h
Dongju Chae [Fri, 12 Jul 2019 06:02:16 +0000 (15:02 +0900)]
[N71/Errno] Remove ne-error.h and use the log utility in ne-utils.h

This commit changes codes to use the log utility in ne-utils.h

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N2] The prototype of host handler
Dongju Chae [Thu, 27 Jun 2019 10:05:41 +0000 (19:05 +0900)]
[N2] The prototype of host handler

This commit adds the implementation of host handler.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[ne-inf/mem] Build fixes
Parichay Kapoor [Thu, 11 Jul 2019 05:37:06 +0000 (14:37 +0900)]
[ne-inf/mem] Build fixes

Minor fixes for ne-inf anf ne-mem

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[N3] The prototype of interence scheduler
Dongju Chae [Fri, 28 Jun 2019 08:28:48 +0000 (17:28 +0900)]
[N3] The prototype of interence scheduler

This commit adds the implementation of inference scheduler (N3).

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NE/Headers] Fix headers in NPU Engine to sync with the recent updates
Dongju Chae [Fri, 12 Jul 2019 02:14:36 +0000 (11:14 +0900)]
[NE/Headers] Fix headers in NPU Engine to sync with the recent updates

This commit updates some NE header files to apply the recent discussion and fix compile errors
- move `output_ready` to `ne-common.h`
- add missing header files
- fix error due to typedef structures before their declarations

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N71] Change a chunk state management to safely resize I/O buffers.
Dongju Chae [Fri, 12 Jul 2019 02:03:57 +0000 (11:03 +0900)]
[N71] Change a chunk state management to safely resize I/O buffers.

This commit changes the logic of chunk state management to safely resize I/O buffers.
Now, each chunk has one of three states (i.e., free, activated, modified).
This 'modified' state contains anything which can change the offset and size of a used chunk.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NRC/N71] Add simple unit tests for memory allocator
Dongju Chae [Fri, 12 Jul 2019 01:33:54 +0000 (10:33 +0900)]
[NRC/N71] Add simple unit tests for memory allocator

This commit includes some unit tests and append build scripts for this

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Build] meson script for npu-engine
Parichay Kapoor [Wed, 10 Jul 2019 07:10:34 +0000 (16:10 +0900)]
[Build] meson script for npu-engine

Added meson build script for npu-engine
Added fix for meson script for libnpu-core

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[N91/NPUdrvApi_c] Added implementation of interfacing with device driver
Parichay Kapoor [Mon, 1 Jul 2019 07:38:41 +0000 (16:38 +0900)]
[N91/NPUdrvApi_c] Added implementation of interfacing with device driver

Added the implementation of functions which interface with srnpu device driver

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Dist] Fix duplicated, comment header exports
MyungJoo Ham [Wed, 10 Jul 2019 07:54:32 +0000 (16:54 +0900)]
[Dist] Fix duplicated, comment header exports

meson build commands were duplicated.
added a note that header-export should be managed by meson script, not .spec file.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Meson] Host meson file typo fix
MyungJoo Ham [Thu, 27 Jun 2019 09:30:57 +0000 (18:30 +0900)]
[Meson] Host meson file typo fix

- A string was not closed.
- Variable names had a lot of typo.
- Undefined variable w/ cxx.
- Incorrect npuhost install path

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Dist/Tizen] Fix .spec for host gbs build
MyungJoo Ham [Thu, 27 Jun 2019 09:22:43 +0000 (18:22 +0900)]
[Dist/Tizen] Fix .spec for host gbs build

THe main meson.build is located at /host.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Meson] Fix incorrect include-dir variable
MyungJoo Ham [Thu, 27 Jun 2019 09:19:18 +0000 (18:19 +0900)]
[Meson] Fix incorrect include-dir variable

Use the standard syntax to support different versions of meson.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Dist/Tizen] Fix .spec for gbs build
MyungJoo Ham [Thu, 27 Jun 2019 08:24:33 +0000 (17:24 +0900)]
[Dist/Tizen] Fix .spec for gbs build

Fixes of:
- Missing Summary entires for subpackages (build error)
- Missing build dependencies on iniparser, libdrm
- Missing NPU=FS mode support

Note that this does not fix all build errors of GBS.
More comimts will follow to resolve other issues.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[ne-engine] Build fixes
Parichay Kapoor [Wed, 10 Jul 2019 07:18:29 +0000 (16:18 +0900)]
[ne-engine] Build fixes

Added fixes to solve build error

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[N4C] Implemtnation of start/stop
MyungJoo Ham [Tue, 25 Jun 2019 10:56:25 +0000 (19:56 +0900)]
[N4C] Implemtnation of start/stop

Basic functions are implemented.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[N4C] Register/Unregister N4x input services
MyungJoo Ham [Tue, 25 Jun 2019 10:18:49 +0000 (19:18 +0900)]
[N4C] Register/Unregister N4x input services

N4x should register itself with the given interfaces.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Utils/Log] Fix syntax/semantic errors for log functions in ne-utils.c
Dongju Chae [Fri, 28 Jun 2019 06:28:59 +0000 (15:28 +0900)]
[Utils/Log] Fix syntax/semantic errors for log functions in ne-utils.c

This commit fixes some syntax/semantic errors in ne-utils.c

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[N42] Skeleton code for N42
Parichay Kapoor [Thu, 4 Jul 2019 05:22:53 +0000 (14:22 +0900)]
[N42] Skeleton code for N42

Added skeleton code for N42

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[N5] Add missing APIs in NPU ARM plugin
Dongju Chae [Thu, 4 Jul 2019 08:14:43 +0000 (17:14 +0900)]
[N5] Add missing APIs in NPU ARM plugin

This commit adds some missing APIs such as
- deregister() of npu_arm_plugin
- preempt() in npu_arm_plugin

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[npubinfmt] Removing activation size and values
Parichay Kapoor [Tue, 9 Jul 2019 08:05:14 +0000 (17:05 +0900)]
[npubinfmt] Removing activation size and values

Activation values is the output of a layer after applying activation function.
It can be either intermediate value or output value in my understanding.
Model binary cannot provide these values.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Wait4#9][N91/NPUdrvApi_c] Implementation for NPU API interface
Parichay Kapoor [Fri, 28 Jun 2019 05:55:05 +0000 (14:55 +0900)]
[Wait4#9][N91/NPUdrvApi_c] Implementation for NPU API interface

Added implementation for NPU API interface
Updated meson build
TODO: implement NYI items

v1:
Added locking along with minor fixes

v2:
Updated as per blocking I/O

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[NRC/N71] Make only N4x manage the triple buffering
Dongju Chae [Wed, 26 Jun 2019 11:14:33 +0000 (20:14 +0900)]
[NRC/N71] Make only N4x manage the triple buffering

This commit updates the overall buffer management in memory allocator.
Now, only N4x can manage triple buffering via .switch_buffers()

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NRC/N10] NPU driver API interface
Parichay Kapoor [Mon, 10 Jun 2019 01:04:57 +0000 (10:04 +0900)]
[NRC/N10] NPU driver API interface

In http://suprem.sec.samsung.net/confluence/pages/viewpage.action?pageId=126187176
this is about N10 and N10's dependencies

V1:
Added details regarding the ioctl calls and signal handling

V2:
Updated interface to accomodate update in overall design for NPU design

V3:
Updated to use offset, and minor bug fixes

V4:
Updated with ioctl design
UIO design needed access to physical address in user side

V5:
Added interface to pass dmabuf_fd to kernel driver for physical address access
Added an extra identifier when setting up npu device

V6:
Updated based on blocking I/O

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Utils] Add a missing destroy function for hash table
Dongju Chae [Thu, 4 Jul 2019 05:46:58 +0000 (14:46 +0900)]
[Utils] Add a missing destroy function for hash table

This commit adds the destroy function for hash table.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NRC/N71] add error checking to prevent size overflow
Dongju Chae [Thu, 27 Jun 2019 03:50:25 +0000 (12:50 +0900)]
[NRC/N71] add error checking to prevent size overflow

Fix size overflow bug

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NE/test] change assert() to ASSERT_XX() in gtest
Dongju Chae [Thu, 27 Jun 2019 12:17:49 +0000 (21:17 +0900)]
[NE/test] change assert() to ASSERT_XX() in gtest

Change assert() to ASSERT_XX() for gem/utils unit tests.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[CONF/FIX] fix typo and remove unused variables in ne-conf.c
Dongju Chae [Fri, 28 Jun 2019 05:16:01 +0000 (14:16 +0900)]
[CONF/FIX] fix typo and remove unused variables in ne-conf.c

This commit removes some typos in ne-conf.c

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Dist/RPM] Simplify packaging.
MyungJoo Ham [Thu, 13 Jun 2019 09:48:25 +0000 (18:48 +0900)]
[Dist/RPM] Simplify packaging.

1. For OBS, unify spec files
2. Do not separate adaptation packages; they do not have alternatives.
3. Added .pc file and install scripts for devel package.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE/N5] Interface for ARM post processor
MyungJoo Ham [Thu, 20 Jun 2019 10:35:22 +0000 (19:35 +0900)]
[NE/N5] Interface for ARM post processor

Compiler may provide an ARM post processing block with this interface.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE-CONF] Added interface of global conf/env values
MyungJoo Ham [Tue, 25 Jun 2019 11:08:26 +0000 (20:08 +0900)]
[NE-CONF] Added interface of global conf/env values

- Added two dir confs
- Added doxygen entries for conf elements.
- Added a default .ini file.
- Added API to initialize conf values from main().

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[N40/InputService] Interface for N40
MyungJoo Ham [Mon, 24 Jun 2019 11:59:11 +0000 (20:59 +0900)]
[N40/InputService] Interface for N40

Interface for N40, which is a prototype for N4x plugins.

Updated 2019-06-25
- Added two operators for N40, which are used by N4x to
register themselves. They are implemented in N4C.
- Follow N4/N40 ActSeq document on halt modes.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Npufmt] fix compile errors in NPU binary format header.
Dongju Chae [Thu, 27 Jun 2019 07:05:32 +0000 (16:05 +0900)]
[Npufmt] fix compile errors in NPU binary format header.

This commit fixed two compile errors.
- typedef structures before their declarations
- flexible array member in union

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NRC/N3] Inference Scheduler Interfaces
MyungJoo Ham [Thu, 16 May 2019 11:29:14 +0000 (20:29 +0900)]
[NRC/N3] Inference Scheduler Interfaces

In http://suprem.sec.samsung.net/confluence/pages/viewpage.action?pageId=126187176
This is about NRC-scheduler.h of N3.

Updated 2019-06-12
- Removed duplicated file.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoNPU Binary Format
MyungJoo Ham [Wed, 5 Jun 2019 08:03:17 +0000 (17:03 +0900)]
NPU Binary Format

This defines the binary format of compiled NPU model data.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE-CONF] Add basic implementation skeleton
MyungJoo Ham [Wed, 26 Jun 2019 04:12:58 +0000 (13:12 +0900)]
[NE-CONF] Add basic implementation skeleton

This shows how ne-conf.c should be implemented.

Updated (2019-06-26)
- Added confpath to load_conf()
- Added confpath argument to argc/argv of main()
- Modified ini load logic of load_conf()

TODO Later: add parsers.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE-Util] Add log write implementation
MyungJoo Ham [Wed, 26 Jun 2019 05:13:23 +0000 (14:13 +0900)]
[NE-Util] Add log write implementation

Each module may use logwrite to leave log messages
to a filesystem.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Main] Add main function.
MyungJoo Ham [Wed, 26 Jun 2019 04:11:31 +0000 (13:11 +0900)]
[Main] Add main function.

Each module should register its init functions here.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Maintanence] Add CODEOWNERS
MyungJoo Ham [Wed, 26 Jun 2019 04:32:58 +0000 (13:32 +0900)]
[Maintanence] Add CODEOWNERS

Getting tired of adding reviewers manually,
let GITHUB do that for us.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE-Utils] Add log utilities
MyungJoo Ham [Wed, 26 Jun 2019 04:18:10 +0000 (13:18 +0900)]
[NE-Utils] Add log utilities

Modules may write log files with the given API.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE-CONF] Interface of global conf/env values
MyungJoo Ham [Tue, 25 Jun 2019 11:08:26 +0000 (20:08 +0900)]
[NE-CONF] Interface of global conf/env values

All modules may read conf values with this interface.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[N4C] Skeleton only
MyungJoo Ham [Tue, 25 Jun 2019 08:36:26 +0000 (17:36 +0900)]
[N4C] Skeleton only

As an example of adding implementation for npu-engine,
here goes a trivial code without actual implementation.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE] Event Handler Interfaces, N1
MyungJoo Ham [Wed, 15 May 2019 11:20:49 +0000 (20:20 +0900)]
[NE] Event Handler Interfaces, N1

In http://suprem.sec.samsung.net/confluence/pages/viewpage.action?pageId=126187176
It's about N1 and N1's dependencies.

Updated 2019-06-12
- Updated enum name for iCAM mode
- Added enum name for Fast-Model testing

Updated 2019-06-24
- Fixed typo
- RegisterModel uses hwmem.

Updated 2019-06-25
- Removed model struct. Reuse ne-model.h

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NE/N4] Interface of N4 and N7-models
MyungJoo Ham [Thu, 20 Jun 2019 10:07:51 +0000 (19:07 +0900)]
[NE/N4] Interface of N4 and N7-models

ne-inf.h: The interface of N4

ne-model.h: The interfaces of loaded model and submodel, which are
  "model" and "submodel" class of N7,
  http://suprem.sec.samsung.net/confluence/display/ODLC/Class+Diagram+of+N7

Updated 2019-06-25
- Reuse ne-utils.h's linked list
- Added model's info to remove model struct from other files

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[NRC/N71] Remove .config_buffers() & 32bit -> 64bit
Dongju Chae [Tue, 25 Jun 2019 05:16:28 +0000 (14:16 +0900)]
[NRC/N71] Remove .config_buffers() & 32bit -> 64bit

This commit removes .config_buffers() and convert 32bit to 64bit (to sync with other headers).

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NRC/N71] implement memory allocator using a GEM driver
Dongju Chae [Thu, 20 Jun 2019 04:23:23 +0000 (13:23 +0900)]
[NRC/N71] implement memory allocator using a GEM driver

This commit includes basic implementations of memory allocator, hwmmem, and I/O buffer.
Also, memory mangement and compaction algorithms are updated.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NRC/N9/build] Append build scripts for GEM API
Dongju Chae [Fri, 14 Jun 2019 01:54:22 +0000 (10:54 +0900)]
[NRC/N9/build] Append build scripts for GEM API

This commit changes build scripts (meson.build) to build libGEM-core

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[NRC/N9] minor fix such as removing unnecessary functions
Dongju Chae [Thu, 13 Jun 2019 10:59:16 +0000 (19:59 +0900)]
[NRC/N9] minor fix such as removing unnecessary functions

This commit includes
- remove unnecessary functions and fixes errors.
- change 'open' function to specify the name of gem driver

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Utils] remove the prefix
Dongju Chae [Fri, 21 Jun 2019 08:10:25 +0000 (17:10 +0900)]
[Utils] remove the prefix

This commit removes the prefix of each function in utility

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[libNPUhost] API Prototype Draft
MyungJoo Ham [Tue, 14 May 2019 11:53:02 +0000 (20:53 +0900)]
[libNPUhost] API Prototype Draft

The first libnpuhost API draft includes API interface
format for the required functions only.

Changes 20190604
- enum typo fixed
- added @todo for in-memory models

Changes 20190612
- use explicit types insteat of int unless they are ok/error return values
- rename attributes to avoid confusion
- added a few comments

Changed 20190617
- Renamed async policy names
- Added a note on memory compaction

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Dist/Debian] Add libnpuhost pkging for Ubuntu/Debian
MyungJoo Ham [Thu, 13 Jun 2019 11:28:37 +0000 (20:28 +0900)]
[Dist/Debian] Add libnpuhost pkging for Ubuntu/Debian

To prepare CI system, we need build/pkging services.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Utils] Add utility functions for memory allocator and other components
Dongju Chae [Thu, 13 Jun 2019 11:37:48 +0000 (20:37 +0900)]
[Utils] Add utility functions for memory allocator and other components

This commit includes some utility functions such as linked list and hash table.
It will be used in N71 (memory allocator).
And, we can append other utility functions if necessary.

5 years ago[GEM/tests] Add simple unit tests for GEM API operations
Dongju Chae [Mon, 27 May 2019 05:08:16 +0000 (14:08 +0900)]
[GEM/tests] Add simple unit tests for GEM API operations

This commit inclues some unit tests

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>