platform/core/ml/nnfw.git
5 years ago'nncc_foundation' as a static library (#1753)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Oct 2018 01:07:56 +0000 (10:07 +0900)]
'nncc_foundation' as a static library (#1753)

This commit converts 'nncc_fountion' as a static library in order to
permit the use of this library without installation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[nnkit] Remove unused macros (#1752)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Oct 2018 01:07:47 +0000 (10:07 +0900)]
[nnkit] Remove unused macros (#1752)

'nnkit_add_action' and 'nnkit_add_backend' was introduced to support
self-registration, but the current design of nnkit no longer uses
self-registration.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit Portable ASM code (#1743)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 10:24:25 +0000 (19:24 +0900)]
[enco] Emit Portable ASM code (#1743)

GNU "an" interprtes '@' symbol as a comment symbole for some architecture,
such as ARM.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit global weight data as a binary file (#1741)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 07:00:24 +0000 (16:00 +0900)]
[enco] Emit global weight data as a binary file (#1741)

With this commit, C++ code that enco generates no longer includes an
initializer for global weight data.

Instead, enco generates .bin file, and embed this data into an
executable through corresponding asm file.

This change significantly reduces the overhead of C++ code generation
and its compilation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Remove unused aligned function (#1742)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 06:52:44 +0000 (15:52 +0900)]
[enco] Remove unused aligned function (#1742)

This commit removes unused aligned function implemented in
Normalize.cpp.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce KernelLayout::ID (#1740)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 05:15:32 +0000 (14:15 +0900)]
[coco] Introduce KernelLayout::ID (#1740)

This commit introduces KernelLayout::ID and extends KernelLayout
interface and its concrete implementations to return its id
in order to make it easy to distinguish each layout.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Use pre-defined NCHW layout in Caffe frontend (#1737)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 03:55:02 +0000 (12:55 +0900)]
[enco] Use pre-defined NCHW layout in Caffe frontend (#1737)

This commit rewrites Caffe frontend to use pre-defined NCHW kernel layout
instead of Generic one (for performance optimization).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce NHWC kernel layout (#1738)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 03:05:25 +0000 (12:05 +0900)]
[coco] Introduce NHWC kernel layout (#1738)

This commit introduces pre-defined (optimized) implementation of NHWC
kernel layout.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce Global Data Generation Pass (#1739)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 02:55:23 +0000 (11:55 +0900)]
[enco] Introduce Global Data Generation Pass (#1739)

This commit extracts code related with global weight array generation,
and introduces "Global Data Generation" pass that includes the extracted code.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce create method for Generic FeatureLayout (#1731)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 01:06:40 +0000 (10:06 +0900)]
[coco] Introduce create method for Generic FeatureLayout (#1731)

For consistency, this commit introduces create method for Generic
FeatureLayout.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] KernelObject with empty layout (#1730)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 01:06:16 +0000 (10:06 +0900)]
[coco] KernelObject with empty layout (#1730)

This commit allows users to construct a KernelObject with empty layout.

For that, this commit includes the following changes:
- Introduce default constructor for KernelObject class
- Specialize template-based create method in ObjectManager for coco::KernelObject

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Emit Global constant as a single array variable (#1728)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Oct 2018 01:06:07 +0000 (10:06 +0900)]
[enco] Emit Global constant as a single array variable (#1728)

With this commit, C++ code that enco generates uses a single (uint8_t) array
as a storage for weight values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce KernelLayouts module (#1729)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 10:17:45 +0000 (19:17 +0900)]
[coco] Introduce KernelLayouts module (#1729)

This commit introduces KernelLayouts module which provides a set of
pre-defined KernelLayout classes.

The initial implementation includes includes only NCHW layout.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce KernelLayout interface (#1725)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 10:03:36 +0000 (19:03 +0900)]
[coco] Introduce KernelLayout interface (#1725)

This commit introduces KernelLayout interface, and rewrites KernelObject
to use this interface instead of GenericKernelLayout.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Dead Bag Elimination as an independent module (#1726)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 10:03:25 +0000 (19:03 +0900)]
[enco] Dead Bag Elimination as an independent module (#1726)

This commit introduces "DeadBagElimination" module (header and source)
which includes the declaration and implementation of 'eliminate_dead_bag'.

Previously, the declaration and implementation was in Optimizations
module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Introduce FeatureShape alias (#1727)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 10:03:15 +0000 (19:03 +0900)]
[coco] Introduce FeatureShape alias (#1727)

This commit introduces FeatureShape type in coco (which is an alias of
nncc::core::ADT::feature::Shape) for ease of use.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoEliminate nested namespaces in nnc project (#1710)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 10:01:37 +0000 (13:01 +0300)]
Eliminate nested namespaces in nnc project (#1710)

* Eliminate nested namespaces in nnc project

* replace core with mir
* replace nncc with nnc
* replace clopt with cli
* eliminate namespaces:
  - contrib
  - model
  - IR
  - data
  - backend
  - soft
  - dumper
  - ADT
  - interpreter
  - frontend
  - pass
  - common
  - util
  - impl
* remove `using` directives in some headers

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[coco] Use intuitive variable name in Window2D test (#1724)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 09:56:56 +0000 (18:56 +0900)]
[coco] Use intuitive variable name in Window2D test (#1724)

Window2D test currently uses a counter-intuitive name for some
variables.

This commit renames such variables.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco.generic] Remove deprecated methods (#1722)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 09:56:14 +0000 (18:56 +0900)]
[coco.generic] Remove deprecated methods (#1722)

This commit removes deprecated methods that was introduced for
Object-level data managment.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Update Global only from CppCode (#1723)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 09:26:18 +0000 (18:26 +0900)]
[enco] Update Global only from CppCode (#1723)

With this commit, Global is updated only inside CppCode.
 - SubnetStructBuilder no longer updates Global.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Replace link with allocate (#1721)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 07:01:40 +0000 (16:01 +0900)]
[enco] Replace link with allocate (#1721)

This commit replace deprecated methods such as Data::allocate and
PlainWeightContext<T>::link with PlainWeightContext<T>::allocate.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Invoke detach from each Child class (#1713)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:57:09 +0000 (13:57 +0900)]
[coco] Invoke detach from each Child class (#1713)

* [coco] Invoke detach from each Child class

The current implementation invokes 'detach' inside the destructor of Node.

Unfortunately, this may result in undefined behavior as detach may access the
internal of Child class (through leaving hook), but Child class is already
destructed.

With this commit, unlink on destruction is the responsibility of each
Child class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Add a comment

5 years ago[enco] Get Code from Session (#1720)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:48:57 +0000 (13:48 +0900)]
[enco] Get Code from Session (#1720)

With this commit, enco Backend class no longer declares Code variable.
Instead, it accesses the Code entity through Session.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Eliminate Objects with no backing bag (#1719)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:39:08 +0000 (13:39 +0900)]
[enco] Eliminate Objects with no backing bag (#1719)

This commit allows Dead Object Elimination (DOE) pass to eliminate
objects with no backing bag (if it has no uses).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Clone Bag if possible (#1718)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:37:34 +0000 (13:37 +0900)]
[enco] Clone Bag if possible (#1718)

The current implementation of 'clone' method always tries to clone
an object along with its backing bag.

With this commit, 'clone' method clones its backing bag only when
there is a backing bag for a given object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco.generic] Introduce allocate for KernelObject (#1715)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:35:12 +0000 (13:35 +0900)]
[coco.generic] Introduce allocate for KernelObject (#1715)

This commit introduces allocate method in PlaingWeightContext as the
first step toward Bag-level data management.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[coco] Deprecate Layout manipulation via KernelObject (#1714)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:34:42 +0000 (13:34 +0900)]
[coco] Deprecate Layout manipulation via KernelObject (#1714)

This commit removes layout manipulation methods from KernelObject.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Remove unused make_sequence_map (#1717)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:32:17 +0000 (13:32 +0900)]
[enco] Remove unused make_sequence_map (#1717)

make_sequence_map is no longer used as coco IR now provides InstrIndex
and BlockIndex.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Remove Object Hoist pass from pipeline (#1716)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 04:28:16 +0000 (13:28 +0900)]
[enco] Remove Object Hoist pass from pipeline (#1716)

Recently introduced lightweight Identical/Duplicated Object Reduction
passes replace this heavy Object Hoist pass.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce DuplicatedObjectReduction (#1712)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 01:18:35 +0000 (10:18 +0900)]
[enco] Introduce DuplicatedObjectReduction (#1712)

* [enco] Introduce DuplicatedObjectReduction

This commit introduces Duplicated Object Reduction pass in enco. This
pass will replace Object Hoist pass later.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix a typo in comment

5 years ago[coco] Change Instr/Block destruction order (#1711)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 00:29:50 +0000 (09:29 +0900)]
[coco] Change Instr/Block destruction order (#1711)

This commit revises EntityManagerImpl to first destruct InstrManager and
then destruct BlockManager.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco.nnapi] Do NOT manipulate layout through KernelObject (#1699)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Oct 2018 00:01:36 +0000 (09:01 +0900)]
[enco.nnapi] Do NOT manipulate layout through KernelObject (#1699)

This commit eliminates the use of deprecated Kernel layout manipulatoin
methods from NNAPI backend implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[enco] Introduce Session (#1697)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 23:54:49 +0000 (08:54 +0900)]
[enco] Introduce Session (#1697)

* [enco] Introduce Session

This commit introduces Session-related API in enco compiler framework.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Correct return value for make_session

5 years agoAdd license for new files (#1698)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 11:53:00 +0000 (14:53 +0300)]
Add license for new files (#1698)

Add license for new files: serializer, deserializer

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoAcl backend add dom (#1638)
Тимур Отеллович Аблязимов/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 1 Oct 2018 11:39:10 +0000 (14:39 +0300)]
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>
5 years ago[enco] Introduce IdenticalObjectReduction pass (#1694)
박종현/동작제어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>
5 years ago[enco.caffe] Do NOT manipulate Kernel Layout via Kernel Object (#1696)
박종현/동작제어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>
5 years ago[enco] Introduce IndirectCopyElimination (#1692)
박종현/동작제어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

5 years ago[enco] Introduce IR Utils (#1693)
박종현/동작제어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>
5 years ago[enco] Introduce Dead Object Elimination (#1691)
박종현/동작제어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)

5 years ago[coco] Rename GenericFeatureLayout (#1689)
박종현/동작제어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>
5 years ago[coco] Introduce GenericKernelLayout (#1688)
박종현/동작제어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>
5 years ago[enco] Introduce FeatureUnification pass (#1687)
박종현/동작제어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>
5 years ago[coco] Introduce Object::Kind (#1690)
박종현/동작제어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>
5 years ago[coco] Support Object destruction (#1685)
박종현/동작제어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

5 years ago[enco] Write generated code into a file (#1686)
박종현/동작제어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>
5 years ago[enco] Introduce CodeIndex (#1678)
박종현/동작제어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>
5 years ago[coco] Remove dangling info method (#1679)
박종현/동작제어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>
5 years ago[nnc] Implement tensor deserialization (#1412)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Fri, 28 Sep 2018 14:17:58 +0000 (17:17 +0300)]
[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
5 years agoAdd licenses to code snippets (#1680)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 28 Sep 2018 13:46:53 +0000 (16:46 +0300)]
Add licenses to code snippets (#1680)

Add proper licenses in soft backend snippet files

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
5 years ago[coco] Assign InstrIndex for each Instr (#1673)
박종현/동작제어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>
5 years ago[coco] Remove FeatureObjectInfo (#1676)
박종현/동작제어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>
5 years ago[coco] Remove KernelObjectInfo (#1675)
박종현/동작제어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>
5 years ago[nnc] Add license notice (#1627)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 28 Sep 2018 09:09:07 +0000 (12:09 +0300)]
[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

5 years ago[coco] Introduce InstrIndex (#1670)
박종현/동작제어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>
5 years ago[enco.cli] Introduce --backend-arg option (#1672)
박종현/동작제어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>
5 years ago[enco] Backend as interface (#1671)
박종현/동작제어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>
5 years ago[enco.cli] Use make_backend (#1669)
박종현/동작제어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>
5 years ago[coco] Construct FeatureObject empty layout (#1668)
박종현/동작제어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>
5 years ago[enco] Add license notice (#1662)
박종현/동작제어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>
5 years ago[enco] Introduce make_backend function (#1667)
박종현/동작제어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>
5 years ago[enco] Remove unused local variable (#1665)
박종현/동작제어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>
5 years ago[coco] Automatic BlockIndex update (#1656)
박종현/동작제어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>
5 years ago[enco] Remove unused code (#1663)
박종현/동작제어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>
5 years ago[coco] Add license notice (#1657)
박종현/동작제어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>
5 years agoRemove third party debug functionality (#1658)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Thu, 27 Sep 2018 11:49:27 +0000 (14:49 +0300)]
Remove third party debug functionality (#1658)

* Remove unused third party debug functionality

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[coco] Introduce BlockIndex class (#1655)
박종현/동작제어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>
5 years ago[coco] Notify Child Join/Leave from DLinkedList (#1653)
박종현/동작제어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>
5 years ago[coco] Test Conv2D's destructor (#1652)
박종현/동작제어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>
5 years ago[nest] Add license notice (#1648)
박종현/동작제어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>
5 years ago[coco] Do NOT use GenericFeatureLayout in IR test (#1651)
박종현/동작제어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>
5 years ago[enco] Insert Copy instead of Shuffle (#1654)
박종현/동작제어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>
5 years ago[enco] Lower Copy as Shuffle (#1650)
박종현/동작제어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>
5 years ago[coco] Unlink Use on destruction (#1649)
박종현/동작제어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>
5 years ago[nncc.foundation] Add license notice (#1625)
박종현/동작제어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>
5 years ago[coco] Rename 'Use' mock-up class (#1626)
박종현/동작제어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>
5 years agoRemove redundant classes from modelIR (#1642)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 26 Sep 2018 17:22:51 +0000 (20:22 +0300)]
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>
5 years agoUpdate STD doc (#1644)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Tue, 25 Sep 2018 14:21:02 +0000 (17:21 +0300)]
Update STD doc (#1644)

include all rst files into the document

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoUpdate SDD doc (#1643)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Tue, 25 Sep 2018 14:03:54 +0000 (17:03 +0300)]
Update SDD doc (#1643)

include all rst files into the document

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years agoMove SDD document into contrib/nnc (#1641)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Tue, 25 Sep 2018 13:49:13 +0000 (16:49 +0300)]
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>
5 years agoMove STD document into contrib/nnc (#1636)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Mon, 24 Sep 2018 16:48:21 +0000 (19:48 +0300)]
Move STD document into contrib/nnc (#1636)

* move STD document into contrib/nnc

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[nnc] Implement tensor serialization (#1398)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Fri, 21 Sep 2018 13:02:10 +0000 (16:02 +0300)]
[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>
5 years agoPrevent crash build if components are unavailable (#1628)
Роман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 21 Sep 2018 12:33:53 +0000 (15:33 +0300)]
Prevent crash build if components are unavailable (#1628)

* fix linking failure if frontends are unavailable

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
5 years ago[nnkit] Throw bad_alloc on malloc failure (#1624)
박종현/동작제어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>
5 years agoAllow users to skip contrib project build (#1623)
박종현/동작제어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>
5 years ago[coco] Build tests only when test is enabled (#1622)
박종현/동작제어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>
5 years ago[refNN] Simplify DCHECK macros (#1621)
박종현/동작제어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>
5 years ago[coco] Introduce Copy instruction (#1615)
박종현/동작제어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>
5 years ago[nnkit] Add lincense notice (#1618)
박종현/동작제어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>
5 years ago[morph] Add license notice (#1619)
박종현/동작제어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>
5 years ago[nncc.core] Add license notice (#1620)
박종현/동작제어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>
5 years ago[nnop] Add license notice (#1617)
박종현/동작제어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>
5 years ago[nnsuite] Add license notice (#1616)
박종현/동작제어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>
5 years ago[pp] Add license notice (#1608)
박종현/동작제어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>
5 years ago[coco] Introduce Instr::IMutator interface (#1614)
박종현/동작제어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>
5 years ago[coco] Unique ID for each FeatureLayout (#1613)
박종현/동작제어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>
5 years agoIntroduce list_subdirectories (#1611)
박종현/동작제어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>
5 years ago[enco] Do NOT use GenericFeatureLayout in NNAPI backend (#1612)
박종현/동작제어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>
5 years ago[coco] Introduce BHWC Feature Layout (#1601)
박종현/동작제어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>
5 years ago[coco] Instr::Visitor as abstract class (instead of interface) (#1605)
박종현/동작제어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>