summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
MyungJoo Ham [Thu, 13 Jun 2019 10:48:53 +0000 (19:48 +0900)]
[Build] Add basic meson build scripts
Core and Host will have separated meson build roots.
Note that common is to be separatedly packages; however,
it does not have codes to be compiled; thus, packager
can do things for common without the help of meson.
Changes 2019-06-13
- C++ dependency clarification
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Dongju Chae [Mon, 27 May 2019 04:58:08 +0000 (13:58 +0900)]
[GEM] Implement core operations for GEM API
This commit includes core operations for GEM API
- open, create, destroy, mmap, and export
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Fri, 17 May 2019 07:18:31 +0000 (16:18 +0900)]
[DIST] Enable multi-threaded build
Add -j* options
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 17 May 2019 05:50:41 +0000 (14:50 +0900)]
[NE] NPU Runtime Core --> NPU Engine
Rename module name
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 16 May 2019 11:40:38 +0000 (20:40 +0900)]
[DIST] Separate host / core package script
In order to ensure that the core-package has the least
dependencies at build-time, separate host-package from
core-package script so that we can keep using heavy
libraries for host-packages.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 15 Apr 2019 10:43:32 +0000 (19:43 +0900)]
Applied NPU OS Design update, 2019/04/15 v2
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 15 Apr 2019 10:34:40 +0000 (19:34 +0900)]
Apply design draft of NPU OS Design
Interface design of
http://suprem.sec.samsung.net/confluence/pages/viewpage.action?pageId=
126187176
is applied.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 10 Apr 2019 05:48:11 +0000 (14:48 +0900)]
Initial directory structure created
This is to provide source code structural overview.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 10 Apr 2019 04:51:12 +0000 (13:51 +0900)]
Initial commit with documentation link
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>