Acl backend add dom (#1638)
* Adding the ACL C++ soft backend DOM
This commit adds two class hierarchies: one for the ACL C++ soft backend
and another for the code prodecers ("backends of the backend").
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 10:31:58 +0000 (19:31 +0900)]
[enco] Introduce IdenticalObjectReduction pass (#1694)
This commit implements Identical Object Reduction optimization as an
enco pass.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 10:27:30 +0000 (19:27 +0900)]
[enco.caffe] Do NOT manipulate Kernel Layout via Kernel Object (#1696)
This commit eliminates the use of kernel layout manipulation methods of
Kernel Object inside enco caffe frontend.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 07:52:55 +0000 (16:52 +0900)]
[enco] Introduce IndirectCopyElimination (#1692)
* [enco] Introduce IndirectCopyElimination
This commit introduces Indirect Copy Elimination pass in enco.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Add assert
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 07:40:51 +0000 (16:40 +0900)]
[enco] Introduce IR Utils (#1693)
This commit introduces IRUtils.h and IRUtils.cpp which will hold
coco IR-related utilities used in enco.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 07:19:53 +0000 (16:19 +0900)]
[enco] Introduce Dead Object Elimination (#1691)
* [enco] Introduce Dead Object Elimination
This commit introduces Dead Object Elimination (DOE) pass in enco
compilation pipeline.
DOE is a special case of Dead Bag Elimination (DBE), but inserted in
order to reduce compilation overhead.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix a typo (updater -> producer)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 06:29:21 +0000 (15:29 +0900)]
[coco] Rename GenericFeatureLayout (#1689)
This commit renames GenericFeatureLayout as FeatureLayouts::Generic
for naming consistency.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 06:29:14 +0000 (15:29 +0900)]
[coco] Introduce GenericKernelLayout (#1688)
This commit introduces GenericKernelLayout class which corresponds to
GenericFeatureLayout class for feature objects.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 06:28:59 +0000 (15:28 +0900)]
[enco] Introduce FeatureUnification pass (#1687)
This commit implements FeatureUnficition pass in enco, which removes
duplicated (redundant) FeatureObject declaration.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 06:25:47 +0000 (15:25 +0900)]
[coco] Introduce Object::Kind (#1690)
This commit introduces Object::Kind enum class, which allows us to
easily distinguish the kind of each object.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 02:21:11 +0000 (11:21 +0900)]
[coco] Support Object destruction (#1685)
* [coco] Support Object destruction
This commit introduces 'destroy' method in ObjectManager, which allows
users to destruct Object(s) allocated via ObjectManager.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix typos
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 02:21:04 +0000 (11:21 +0900)]
[enco] Write generated code into a file (#1686)
With this commit, enco will write generated code into a file specified
by command-line argument.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 01:34:39 +0000 (10:34 +0900)]
[enco] Introduce CodeIndex (#1678)
This commit introduces CodeIndex class (which is a pair of BlockIndex
and InstrIndex). This CodeIndex allows us to decide the order between
two instructions without building a sequence map.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 01:14:18 +0000 (10:14 +0900)]
[coco] Remove dangling info method (#1679)
Object::info has no implementation, and no code invokes this method.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
[nnc] Implement tensor deserialization (#1412)
* This PR adds Deserializer template class, specializations of which are used for deserialization in nnc.
* Serializer functions are made static because they conflict with functions with same name from deserializer as they are in the same translation unit.
Signed-off-by: Denis Maksimenko d.maksimenko@partner.samsung.com
Add licenses to code snippets (#1680)
Add proper licenses in soft backend snippet files
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 10:32:26 +0000 (19:32 +0900)]
[coco] Assign InstrIndex for each Instr (#1673)
This commit introduces a field/method related with instruction index, and
revises the implementation of Instr to automatically update this index
per change.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 10:01:44 +0000 (19:01 +0900)]
[coco] Remove FeatureObjectInfo (#1676)
Similarly as KernelObjectInfo, FeatureObjectInfo was introduced as a
mean to avoid the use of friend declaration, but this decision is no
longer valid.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 10:01:28 +0000 (19:01 +0900)]
[coco] Remove KernelObjectInfo (#1675)
This commit removes KernelObjectInfo class. This class was introduced as
a mean to avoid the use of friend declaration, but this design is no
longer valid.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
[nnc] Add license notice (#1627)
* [nnc] Add license notice
Append license notice for all headers and sources of nnc project
Signed-off-by: Roman Rusyaev r.rusyaev@samsung.com
* add license for new files
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 08:19:48 +0000 (17:19 +0900)]
[coco] Introduce InstrIndex (#1670)
This commit introduces InstIndex class which denotes the index of each
instruction (inside a block).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 08:19:02 +0000 (17:19 +0900)]
[enco.cli] Introduce --backend-arg option (#1672)
This commit introduces --backend-arg option which allows users to pass
arguments to backend.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 08:18:42 +0000 (17:18 +0900)]
[enco] Backend as interface (#1671)
This commit makes Backend as interface, and hides its implementation
details.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 07:16:29 +0000 (16:16 +0900)]
[enco.cli] Use make_backend (#1669)
This commit revises enco-cli to invoke make_backend helper instead of
Backend's constructor directly.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 07:03:07 +0000 (16:03 +0900)]
[coco] Construct FeatureObject empty layout (#1668)
This commit revises ObjectManager to allow users to construct FeatureObject
with empty layout.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 06:23:27 +0000 (15:23 +0900)]
[enco] Add license notice (#1662)
This commit appends license notice at the top of all the headers and
sources of enco.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 06:09:46 +0000 (15:09 +0900)]
[enco] Introduce make_backend function (#1667)
This commit introduces make_backend function which will abstract Backend
instance creation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 02:19:58 +0000 (11:19 +0900)]
[enco] Remove unused local variable (#1665)
This commit removes unused local variable m from ShuffleGen::mutate.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 01:21:29 +0000 (10:21 +0900)]
[coco] Automatic BlockIndex update (#1656)
With this commit, each Block includes BlockIndex which will be
automatically updated upon Block link update.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 01:21:20 +0000 (10:21 +0900)]
[enco] Remove unused code (#1663)
This commit removes unused code in Normalize.cpp which is left to
minimize code diffs.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 23:29:10 +0000 (08:29 +0900)]
[coco] Add license notice (#1657)
This commit appends license notice for all the sources and headers of
coco IR.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Remove third party debug functionality (#1658)
* Remove unused third party debug functionality
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 09:55:06 +0000 (18:55 +0900)]
[coco] Introduce BlockIndex class (#1655)
This commit introduces BlockIndex class which denotes the index of a
block inside a block list.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 09:54:58 +0000 (18:54 +0900)]
[coco] Notify Child Join/Leave from DLinkedList (#1653)
With this commit, users may implement a hook on child join/leave event
for classes that inherit DLinkedList traits.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 09:54:39 +0000 (18:54 +0900)]
[coco] Test Conv2D's destructor (#1652)
This commit introduces a test for Conv2D's destructor.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 09:53:57 +0000 (18:53 +0900)]
[nest] Add license notice (#1648)
This commit appends license notice over all the headers and sources of
nest.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 09:50:57 +0000 (18:50 +0900)]
[coco] Do NOT use GenericFeatureLayout in IR test (#1651)
This commit removes the use of GenericFeatureLayout inside IR test.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 07:44:21 +0000 (16:44 +0900)]
[enco] Insert Copy instead of Shuffle (#1654)
The current implementation of data layout normalization pass inserts
shuffle, which necessitates excessive iterations.
As an optimization, this commit revises data layout normalization
pass to insert copy instead of shuffle.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 06:37:24 +0000 (15:37 +0900)]
[enco] Lower Copy as Shuffle (#1650)
This commit introduces a lowering phase that rewrites Copy as Shuffle.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 05:53:12 +0000 (14:53 +0900)]
[coco] Unlink Use on destruction (#1649)
This commit revises Use's destructor to unlink itself from linked
Object (if exists).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 05:12:53 +0000 (14:12 +0900)]
[nncc.foundation] Add license notice (#1625)
This commit appends license notice for all the sources and headers of
nncc foundation library.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 05:12:26 +0000 (14:12 +0900)]
[coco] Rename 'Use' mock-up class (#1626)
This commit renames 'Use' mock-up class as 'Consumer'.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Remove redundant classes from modelIR (#1642)
Remove
- IndexEnumerator class that duplicates functionality from ShapeInference
- Redundant interface classes
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Update STD doc (#1644)
include all rst files into the document
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Update SDD doc (#1643)
include all rst files into the document
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Move SDD document into contrib/nnc (#1641)
This commit moves SDD document from nncc/doc in md formant into nncc/contrib/nnc in rst format
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Move STD document into contrib/nnc (#1636)
* move STD document into contrib/nnc
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
[nnc] Implement tensor serialization (#1398)
* Add serialization classes
Add Serializer class that can be used for IR serialization, and unit tests for it.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
Prevent crash build if components are unavailable (#1628)
* fix linking failure if frontends are unavailable
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 07:42:10 +0000 (16:42 +0900)]
[nnkit] Throw bad_alloc on malloc failure (#1624)
tflite backend (for nnsuite conv case) internally uses typed_malloc
method, which wraps std::malloc, which may return nullptr on memory
allocation failure.
This commit revises this method to throw std::bad_alloc on memory
allocation failure (similarly as C++ new) to make it easy to detect
memory allocation failure.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 06:18:47 +0000 (15:18 +0900)]
Allow users to skip contrib project build (#1623)
With this commit, users are now allowed to skip some projects under
contrib via cmake options (-DBUILD_CONTRIB_XXX).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 06:18:30 +0000 (15:18 +0900)]
[coco] Build tests only when test is enabled (#1622)
With this commit, CMake will build coco tests (coco_core_test and
coco_generic_test) only when ENABLE_TEST is set.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 05:30:15 +0000 (14:30 +0900)]
[refNN] Simplify DCHECK macros (#1621)
This commit simplifies DCHECK macros using assert itself.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 04:08:43 +0000 (13:08 +0900)]
[coco] Introduce Copy instruction (#1615)
This commit introduces Copy instruction as a mean to reduce compile
time.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 04:08:23 +0000 (13:08 +0900)]
[nnkit] Add lincense notice (#1618)
This commit adds license notice for all the headers and sources.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 04:08:16 +0000 (13:08 +0900)]
[morph] Add license notice (#1619)
This commit appends license notice over the sources and headers of morph
project.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 04:08:08 +0000 (13:08 +0900)]
[nncc.core] Add license notice (#1620)
This commit addes license notices for all the sources and headers of
nncc core library.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 04:08:00 +0000 (13:08 +0900)]
[nnop] Add license notice (#1617)
This commit appends license notice for all the headers and sources of
nnop project.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 04:07:52 +0000 (13:07 +0900)]
[nnsuite] Add license notice (#1616)
This commit appends license notice for all the headers and sources of
nnsuite library.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 01:58:22 +0000 (10:58 +0900)]
[pp] Add license notice (#1608)
This commit appends license notice for all the headers and soruces of
pp library.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 01:35:46 +0000 (10:35 +0900)]
[coco] Introduce Instr::IMutator interface (#1614)
This commit introduces Instr::IMutator interface, which aims to minimize
code changes upon Instr (similarly as in Instr::IVisitor).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 01:30:13 +0000 (10:30 +0900)]
[coco] Unique ID for each FeatureLayout (#1613)
This commit introduces unique ID value for each FeatureLayout, which
allows backend to easily distinguish each layout.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 01:27:10 +0000 (10:27 +0900)]
Introduce list_subdirectories (#1611)
This commit extracts list_subdirectories function from
add_subdirectories, and re-implements add_subdirectories using
list_subdirectories.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 01:26:56 +0000 (10:26 +0900)]
[enco] Do NOT use GenericFeatureLayout in NNAPI backend (#1612)
This commit replaces all the use of GenericFeatureLayout inside NNAPI
backend implementation with optimized BHWC layout.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 23:57:37 +0000 (08:57 +0900)]
[coco] Introduce BHWC Feature Layout (#1601)
This commit implements BHWC Feature Layout class, which may speed up
some model import/codegen phase.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 23:51:58 +0000 (08:51 +0900)]
[coco] Instr::Visitor as abstract class (instead of interface) (#1605)
This commit introduces pure virtual Instr::IVisitor interface, and
revises Instr::Vistor as abstract class.
This change aims to minimize changes upon Instr extension.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 23:51:50 +0000 (08:51 +0900)]
[enco] Throw an exception on unknown operand type (#1606)
The current implementation assumes that operand is either scalar or
tensor and validates it through assert.
This commit explicitly validates dynamic casted pointer, which allows us
to detect such an abnormal case even for release build.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 23:51:26 +0000 (08:51 +0900)]
[enco] Catch std::exception instead of std::runtime_error (#1607)
The current implementation catches std::runtime_error, and thus failed
to catch other exceptions such as std::invalid_argument.
This commit revises catch statement to catch std::exception which is a
base class for a wide range of exceptions including
std::invalid_argument.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Fix build for install target (#1609)
* Fix build for install target
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 10:08:17 +0000 (19:08 +0900)]
Add OptionalTargetTools module (#1590)
This commit introduces OptionalTargetTools module which provides
optional_target_link_libraries macro, and revises
nncc_target_link_libraries to use this macro.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 08:30:00 +0000 (17:30 +0900)]
[nncc.core] Return a uint32_t value on num_elements call (#1604)
Now, num_elements functions return a uint32_t value instead of a uint64_t
value.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 08:29:52 +0000 (17:29 +0900)]
[nnop] Explicit cast to int64_t (#1603)
This commit inserts explicit cast to int64_t (from uint32_t) before
using it.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 08:04:51 +0000 (17:04 +0900)]
[enco] Catch internal exceptions in main (#1600)
With this commit, enco-cli now catches internal exceptions from
top-level main, and shows error message.
Note that this change is applied only to Release build. Debug build
remains unchanged to make it easy to check the stack trace on failure.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 06:35:49 +0000 (15:35 +0900)]
[stdex] Add license notice (#1602)
All the headers and sources in stdex now have license notice at the top.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 05:49:34 +0000 (14:49 +0900)]
[stdex] File naming convention (#1598)
This commit changes set as Set.h for consistency.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 05:48:47 +0000 (14:48 +0900)]
[enco] Replace Generic with BCHW layout in Caffe frontend (#1597)
This commit replaces all the use of GenericFeatureLayout with BCHW
layout.
This change eliminates the need for reorder call, which speeds up IR
build.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 04:07:46 +0000 (13:07 +0900)]
[coco] Fix possible memory leak in DLinkedListTest (#1593)
With the current implementation, allocated objects will be leaked on
assert failure.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 04:04:14 +0000 (13:04 +0900)]
[caffegen] Add license notice (#1596)
This commit adds license notice to all the headers and sources under
contrib/caffegen.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 04:04:02 +0000 (13:04 +0900)]
[coco] Introduce BCHW Feature Layout (#1595)
This commit introduces BCHW feature layout class as a mean to speed up
model import/transformation phases.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 02:51:48 +0000 (11:51 +0900)]
[cli] Add LICENSE notice (#1568)
This commit adds LICENSE notice for all the sources under cli.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 02:25:22 +0000 (11:25 +0900)]
[coco] Introduce FeatureLayout interface (#1592)
This commit introduces FeatureLayout interface, and revises
FeatureObject to depend on this new interface instead of
GenericFeatureLayout.
Besides, this commit also revises GenericFeatureLayout to inherit
FeatureLayout interface, which removes the need for external code
update.
This change allows us to impliment and use optimized FeatureLayouts to
speed up compilation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 01:43:46 +0000 (10:43 +0900)]
[coco] Update Index-to-Element link only via GenericFeatureLayout (#1591)
This commit adjusts the role of FeatureObject and GenericFeatureLayout
classes. Now, GenericFeatureLayout (not FeatureObject) is not responsible
for Index-to-Element link update.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 01:09:18 +0000 (10:09 +0900)]
[enco] Do NOT use reorder (in NNAPI backend) (#1589)
This commit eliminates the use of reorder method (in FeatureObject) from
NNAPI backend implementation.
This change is prerequisite for coco IR design revision.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Sep 2018 01:09:10 +0000 (10:09 +0900)]
[enco] Do NOT use reorder inside Caffe frontend (#1588)
This commit eliminates the use of reorder method (in FeatureObject) from
caffe frontend implementation.
This change is prerequisite for coco IR design revision.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
The first commit in the set of incremental commits for PRs adding the new ACL C++ soft backend (#1583)
This commit adds the command line option for the new backend invokation and add the new backend library stub
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
Refactor nnc build system (#1584)
* implement function to add nnc library
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Support pooling border type in soft backend (#1582)
Support two border types in avg pooling: ZEROFILLED and EMPTY
Only EMPTY type supported in max pooling
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 19 Sep 2018 15:19:44 +0000 (18:19 +0300)]
[nnc] Fix interpreter tests (#1581)
Force borderType to be set to `ZEROFILLED` in pooling operator creation
Fix check for gtest availability( previosly was `getst` instead of `gtest` )
Add status message instead silent fail if tests cannot be build
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 19 Sep 2018 13:57:07 +0000 (16:57 +0300)]
Add interpreter support of different pooling types (#1580)
Add support of `zero filled` and `empty` padding fill in interpreter pooling
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Add border type in pooling operation (#1579)
* Add border type that describes content of pool input outside of it's shape
* Support this property in importers
* Fix warning in tflite_op_creator.cpp
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Add custom target to build unit tests from only nnc (#1576)
* add custom target to build all tests from only nnc
* add custom target to run all tests from only nnc
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 10:34:27 +0000 (19:34 +0900)]
[coco] Externally Configurable GenericFeatureLayout (#1578)
This commit allows users to replace the layout in FeatureObject with
their own (externally allocated) GenericFeatureLayout.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 10:34:19 +0000 (19:34 +0900)]
[coco] Implement reorder in GenericFeatureLayout (#1577)
This commit moves the actual implementation of reorder method from
FeaturObject into GenericFeatureLayout.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 10:12:57 +0000 (19:12 +0900)]
[coco] Rename mock-up Bag::Updater (#1575)
Currently, its name is "Update" although it inherits "Bag::Updater".
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:50:05 +0000 (17:50 +0900)]
[coco] Generate reader/accessor per request (#1573)
This commit revises PlainWeightContext to generate kernel
reader/accessor per request.
This allows PlainWeightContext to generate Object-specific reader and
accessor.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:48:52 +0000 (17:48 +0900)]
[coco] Remove ObjectInfo (#1569)
This commit removes all the reference of ObjectInfo from coco IR code
base as ObjectInfo is no longer used.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:48:41 +0000 (17:48 +0900)]
[caffegen] Remove deprecated Fill command (#1567)
* [caffegen] Remove deprecated Fill command
This commit removes deprecated Fill command and related implementations
from caffegen.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix build error
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 08:47:58 +0000 (17:47 +0900)]
[coco] Introduce GenericFeatureLayout (#1565)
This commit introduces GenericFeatureLayout which is extracted from
FeatureObject. GenericFeatureLayout includes code related with mapping
from index to each Bag element.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Rename target of system test for soft backend (#1574)
* Rename target of system test for soft backend
* replace target name `system_test_soft_backend_cpp_compile` with `nnc_system_test_soft_backend_cpp_compile`
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
* rename target of test executable
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Sep 2018 07:50:53 +0000 (16:50 +0900)]
[nnc] Initialize modelPacked field in TfliteImporter (#1566)
This commit add an initializer for modelPacked filed in TfliteImporter.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>