Remove `model::Shape::asVector` replacing calls to it with `num_elements()` or `dim(0)`. (#5498)
Also remove unused `model::Shape::asMatrix` and `model::Shape::asTensor`.
This is a preparation step before removing dependency of `model::Shape` on `misc::tensor::Shape`.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
Upload exec_time explicitely, not in destructor (#5511)
Since exec time is updated just in case of turned on profiler, no need
to upload it in a destructor. Moreover, since graph::Graph is reusable,
in its next usages BackendResolver will be recreated without destructing
JSON/ExecTime/Graph, so Backend, that is pointed by
JSON::_measurements.first in the first call is destructed and
JSON::uploadOperationsExecTime will cause a segmentation error in
`printString(backend.first->config()->id(), stream);`
Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
Add workarounds for unsupported ops in scheduler (#5512)
This is workaround, come up with better solution if have.
Adding exception in stage doesn't help. Because if
there is a record for an op without broadcast,
scheduling will select it since it doesn't distinguish
broadcast and non-broadcast like it does for quant&non-quantized
Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Jul 2019 01:26:42 +0000 (10:26 +0900)]
Add header files to use tflite_loader (#5520)
- provide header files to build with tflite_loader
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
Use CLRsqrtLayer instead of custom implementation (#5500)
Use `CLRsqrtLayer` (introduced in ACL v19.02) instead of custom implementation
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
Use CLExpLayer instead of custom implementation (#5501)
Use `CLExpLayer` (introduced in ACL v19.02) instead of custom implementation
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
Use CLElementwiseSquaredDiff instead of custom implementation (#5502)
Use `CLElementwiseSquaredDiff` (introduced in ACL v19.02) instead of custom implementation
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
Assign 1 to supported op in Scheduler::tryBackend (#5490)
Scheduler must prefer supported op to unsupported one
Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Jul 2019 08:24:34 +0000 (17:24 +0900)]
jsoncpp library as a static lib for nnfw internal use (#5510)
* jsoncpp library as a static lib for nnfw internal use
- jsoncpp library(1.7.7) as a static lib
- tizen does not provide static lib and it is not sure that it is
- shipped into tizen platform
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
* apply format.patch
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 1 Jul 2019 04:58:00 +0000 (07:58 +0300)]
[neurun] Fix multiple parent tensor skipping (#5509)
Fix multiple parent tensor skipping
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Jul 2019 03:44:43 +0000 (12:44 +0900)]
[kbenchmark] Separate the result file if it is not html reporter type (#5361)
This patch separates the result files if it is not html reporter type.
Becuase other reporters store only one test result in one file.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Jun 2019 05:40:13 +0000 (14:40 +0900)]
Define minial NNFW API (#5463)
* Define minial NNFW API
- define a minimal set of runtiem API
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
* remove meta info getter
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 27 Jun 2019 04:46:58 +0000 (13:46 +0900)]
[nnpackage] Modify main-model to models to support multiple models (#5486)
For multiple model support in future, main-model is changed to models.
`models` is an array of model paths.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 27 Jun 2019 04:27:35 +0000 (13:27 +0900)]
[customOp] Added a figure for workflow (#5495)
* [customOp] added a figure for workflow
This adds a figure for workflow to prepare a model with custom operation.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* revised diagram
Fix build of PACL (#5499)
Fix failing build of PACL caused by #5492
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
Fix rank calculation in executors (#5480)
Assign either rank or zero if there isn't any like in notify()
Also moved calculateRank into DataflowExecutor
Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
Use polymorphic_downcast instead of dynamic_cast. (#5493)
Use `polymorphic_downcast` instead of `dynamic_cast` to avoid unnecessary overhead as was suggested in https://github.sec.samsung.net/STAR/nnfw/pull/5383#discussion_r200703.
Remove several redundant `dynamic_cast`s.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 26 Jun 2019 09:39:06 +0000 (18:39 +0900)]
[kbenchmark] Add filter option (#5360)
This option allows to run benchmark whose name matches the regex.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 26 Jun 2019 09:36:10 +0000 (12:36 +0300)]
[neurun] fix ExecutorBase::getOutput() (#5494)
ExecutorBase::getOutput() was using model->inputs instead of outputs
Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 26 Jun 2019 09:27:28 +0000 (18:27 +0900)]
[nnpackage] Add version attribute in manifest (#5484)
* [nnpackage] Add version attribute in manifest
Introduce major-version, minor-version, patch-version.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
* Remove the word `API` used in `version` attribute
Rename element_nums to num_elements (#5492)
Rename `element_nums` methods of `ITensor` and `Shape` classes to more appropriate `num_elements`.
Reuse `num_elements` in several places to reduce code duplication.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
[neurun] Fix kernel shapes for Conv2D and DepthwiseConv2D (#5461)
* [neurun] Fix kernel shapes for Conv2D and DepthwiseConv2D
* Remove `neurun::model::Shape::asKernel`
* Remove similar no longer used method `asMatrix`
* Remove redundant and not used method `asTensor`
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
* * Revert some unrelated changes.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 25 Jun 2019 08:42:39 +0000 (17:42 +0900)]
[custom op] initial commit for custom op documentation (#5485)
We would like to gather all information about custom operation in one place.
We will start with requirements from nnpackage 00_requirments.md.
Next, we will have diagram(s) for candidate architecture and overall process.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 25 Jun 2019 06:52:33 +0000 (15:52 +0900)]
[MemoryManager] Introduce interface apis of ITensorBuilder (#5469)
On arm_compute::Memory classes, constant should be allocated before
prepare() after configure(). To do this, below functions will be used.
- registerModelObject
- markConstant
- isConstant
Some acl_kernels support deallocating constants unused. To do this,
- deallocateConstants
For arm_compute::LifetimeManager class, we should track the
operands' lifetime. To do this,
- notifyFirstUseIf
- notifyLastUseIf
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 25 Jun 2019 06:51:58 +0000 (15:51 +0900)]
[nnpackage] initial commit (specification and schema) (#5462)
* nnpackage initial commit (specification and schema)
It is the initial commit of nnpackage specification and specification.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 25 Jun 2019 06:37:58 +0000 (15:37 +0900)]
Add COPYRIGHT (#5482)
- Add COPYRIGHT notice to join Samsung Inner Source Project
Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 25 Jun 2019 02:01:05 +0000 (11:01 +0900)]
[kbenchmark] Add operation class for loading operation info (#5359)
This patch loads operation informations from config file.
And it executes kernel benchmark test using the operation info.
The result is stored by default in text file.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 10:13:21 +0000 (19:13 +0900)]
Introduce ObjectManager to replace Operands (#5464)
Introduce template class `ObjectManager` class which replaces
`Operands` and it will replace `Operations` and `SubgraphContext`.
Since these three classes basically do the same thing but index type and
object type are different.
`ObjectManager` does the following:
- Manages the lifetime of objects
- Create an object and associate with a unique index for the object
- Automatically an index for each object
- Access to an object with the associated index
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 10:03:50 +0000 (19:03 +0900)]
[MemoryManager] Apply createMemoryManager to each TensorBuilder (#5477)
Apply createMemoryManager to each TensorBuilder. However, until
TensorBuilders' notify{First|Last|UseIf APIs lands, do not use
LinearMemoryManager.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 24 Jun 2019 08:04:22 +0000 (17:04 +0900)]
[Interp] Reshape kernel in interpreter (#5453)
Enable reshape operation in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 24 Jun 2019 08:03:40 +0000 (17:03 +0900)]
[Interp] Fix input/output setting (#5456)
Replace input/output tensor setting instead of using insert for multiple inference using one interpreter type executor
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 06:55:22 +0000 (15:55 +0900)]
[neurun] Separate prepare of TemplTensorBuilder (#5473)
Separate prepare of TemplTensorBuilder to buildTensors and
buildSubtensors
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 06:34:46 +0000 (15:34 +0900)]
Introduce AclLinearMemoryManager (#5466)
Introduce AclLinearMemoryManager for wrapping arm_compute::Memory
classes
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 05:42:02 +0000 (14:42 +0900)]
[MemoryManager] Introduce createMemoryManager on each acl backend (#5468)
This createMemoryManager function on each acl backend creates
MemoryManager according to each executor's type and delivered to
TensorBuilder's ctor.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 05:03:02 +0000 (14:03 +0900)]
Add initConstant to Utils.h (#5467)
This util `initConstant` will be used in backend::TensorBuilders
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 04:42:25 +0000 (13:42 +0900)]
[MemoryManager] Apply MemoryManager to Executors (#5447)
Apply MemoryManager to { Linear|Dataflow|Parallel } Executor
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 04:42:11 +0000 (13:42 +0900)]
Apply MemoryManager into FullyConnectedReshapingLayer (#5465)
Apply arm_compute::IMemoryManager into { CL | NE }FullyConnectedReshapingLayer
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Jun 2019 06:19:43 +0000 (15:19 +0900)]
Introduce xprobe library (#5452)
This commit introduces xprobe library which provides various
instrumentation probes for performance analysis.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
[neurun] Move `Layout` enum from `operand` to `model` namespace (#5441)
* Move enum class `Layout` from `graph::operand` namespace to `model`
* Fix usages of this class
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 20 Jun 2019 04:55:57 +0000 (13:55 +0900)]
Revise HowToContribute.md (#5445)
Revise HowToContribute.md with our new reviewing process
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Jun 2019 04:53:46 +0000 (13:53 +0900)]
[Interp] Update generated test skiplist (#5454)
Remove supporting operations in skiplist
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Jun 2019 04:28:11 +0000 (13:28 +0900)]
Skip analysis multiple parent tensor (#5451)
* Skip analysis multiple parent tensor
Ignore setting parent tensor info to all childrun tensor if one of child tensor have different parent tensor
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove dead code
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 20 Jun 2019 03:56:21 +0000 (12:56 +0900)]
Fix parallel executor finishing condition (#5429)
Finishing condition must be processed with the lock, so the condition is
now inside the `while` body.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Jun 2019 02:10:24 +0000 (11:10 +0900)]
[Interp] Use Buffer class in interpreter tensor (#5436)
* [Interp] Use Buffer class in interpreter tensor
Instead of use pointer directly, use Buffer class in interpreter tensor
Rename tensor data pointer field setter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix error message
* Update Tensor.h
- Introduce getter to share Data shared pointer
- Change setter to set Data instead of ExternalData
- Add const keyword for Data object
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 19 Jun 2019 10:01:30 +0000 (13:01 +0300)]
Added support for models with multiple input tensors (#5405)
* Added support for models with multiple input tensors
Added support for models with multiple input tensors
Various minor fixes
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Unhandled case handled and function renamed
Removed dependence on uint64_t in signature.
Added a check for incorrect number of files given.
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Review fixes: codesyle and error message clarification
Review fixes: codesyle and error message clarification
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 08:34:32 +0000 (17:34 +0900)]
[Loader] Add supporting operations (#5449)
Add supporting operations
- BuiltinOperator_ADD
- BuiltinOperator_RELU
- BuiltinOperator_TRANSPOSE
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 08:33:34 +0000 (17:33 +0900)]
Pad operation frontend acl-cl backend (#5443)
Introduce pad operation frontend and acl-cl backend
Enable framework and generated test for pad operation
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 07:49:03 +0000 (16:49 +0900)]
[Loader] Fix quantizaion info loading (#5450)
Check nullptr to get quantizaion info
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 07:37:18 +0000 (16:37 +0900)]
Remove pad in armcompute-ex (#5448)
Remove unused pad implementation in armcompute-ex
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 04:21:06 +0000 (13:21 +0900)]
[pacl] Use pad acl 19.02 kernel (#5438)
Use pad acl 19.02 kernel instead of acl-ex library
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 19 Jun 2019 02:03:30 +0000 (11:03 +0900)]
[MemoryManager] Apply MemoryManager to TensorBuilder on ACL backend (#5407)
Each TensorBuilder on each acl backend such as cl and neon has
AclMemoryManager instead of Tensors.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 01:02:40 +0000 (10:02 +0900)]
Introduce pad operation in neurun (#5435)
* Introduce pad operation in neurun
Define pad operation node in neurun
Add validation check for pad operation
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Release build fix and remove cassert header include
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove virtual keyword
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 18 Jun 2019 11:13:44 +0000 (14:13 +0300)]
Added Scheduling to Dataflow executors (#5410)
* Use Profile-based Scheduler for Dataflow executor job scheduling
Use Profile-based Scheduler for Dataflow executor job scheduling
Fixed some incorrect constants in Scheduler
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Review fixes: mostly codestyle
Review fixes: codestyle and Magic number removed
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Moved Indexed Ranks inside Dataflow executor
Moved Indexed Ranks inside Dataflow executor
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 18 Jun 2019 10:33:02 +0000 (19:33 +0900)]
Remove redundant virtual keyword from neurun's operation/*Node.h (#5437)
This patch removes redundant virtuals from `runtimes/neurun/core/include/model/operation/*Node.h`.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 18 Jun 2019 04:41:44 +0000 (13:41 +0900)]
[MemoryManager] Apply MemoryManager to TensorBuilder on CPU (#5406)
MemoryManager on CPU has MemoryPlanner, Allocator and Tensors instead of
TensorBuilder on CPU.
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Jun 2019 04:24:12 +0000 (13:24 +0900)]
[Interp] Introduce max pool operation in interpreter (#5355)
Introduce max pool operation for float32 type in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Jun 2019 10:18:07 +0000 (19:18 +0900)]
[Interp] Introduce Buffer class (#5401)
* [Interp] Introduce Buffer class
Introduce Buffer class to handle writable data area
- Allocate internally
- Comes from outside (ex. model output)
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix comment, include guard and add const function keyword
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Jun 2019 10:15:56 +0000 (19:15 +0900)]
Remove axis restriction on concat elimination (#5414)
* Remove axis restriction on concat elimination
Remove axis restruction that is allowed channel axis only on concat elimination
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove old comment
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 17 Jun 2019 08:16:37 +0000 (17:16 +0900)]
Clean header inclusion (#5423)
For acl_cl and acl_neon StageGenerator implementation
- Remove unnecessary newlines
- Remove unused inclusion
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Jun 2019 08:12:03 +0000 (17:12 +0900)]
[Interp] Depthwise conv kernel in interpreter (#5425)
Enable depthwise conv operation for float32 type in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
Disallow copying of model::Operation class (#5383)
Mark copy constructor and copy assignment operator as deleted to avoid unintentional copying.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 08:09:03 +0000 (17:09 +0900)]
Use `reset()` for unique_ptr freeing (#5420)
This commit revises to call `reset()` instead of using keyword
`delete[]` in `MemoryPlanner.h`.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 08:07:28 +0000 (17:07 +0900)]
Apply Concat Elimination for DataflowExecutor (#5409)
* Apply Concat Elimination for DataflowExecutor
This commit applies Concat Elimination to Dataflow/ParallelExecutor.
Instead of actually removing the operation, create a IFunction that does
nothing and execute it at runtime. This is a very simple way to apply
Concat Elimination for very small overhead.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Fix unintended deallocation
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Fix acl_neon and extract NopFunction
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Jun 2019 08:05:56 +0000 (17:05 +0900)]
Interpreter test script (#5417)
Divide standalone interpreter test script from x64 build script
Use interpreter test script in x64 test and armv7l coverage test
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 08:05:45 +0000 (17:05 +0900)]
Remove calcOffset methods using Coordinate4D (#5416)
This commit removes calcOffset methods using Coordinate4D from classes of backend tensor
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Jun 2019 07:29:16 +0000 (16:29 +0900)]
[Interp] DepthwiseConv and Reshape kernel skeleton (#5415)
- DepthwiseConv kernel skeleton for mobilenet
- Reshape kernel skeleton for inception v3 2018
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 00:55:14 +0000 (09:55 +0900)]
Apply Coordinates for PermuteLayer (#5399)
This commit applies Coordinates for PermuteLayer.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 00:53:14 +0000 (09:53 +0900)]
Apply Coordinates for sinking and sourcing (#5398)
This commit applies Coordinates for sinking and sourcing.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Jun 2019 00:46:38 +0000 (09:46 +0900)]
Use Coordinates in SubTensorInfo (#5395)
Use Coordinates instead of Coordinate4D in SubTensorAnalyzer and SubTensorInfo
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 14 Jun 2019 00:46:17 +0000 (03:46 +0300)]
Added profiling infrastructure to Executors (#5365)
* Added profiling infrastructure to Executors
Profiling is done via wrapper function.
TODO: figure out how to wait for result in parallel executor.
Linear executor is not profiled, because LinearExecutor uses IFunctions
directly instead of subgraphs
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Added Observer for Profiling results
Added Observer for Profiling results
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Code review fixes for profiling
ExextionObserver added for Dataflow Executor.
Removed ProfilingWrapper as not needed.
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Jun 2019 22:07:55 +0000 (07:07 +0900)]
Add transpose conv gtest (#5391)
* Add transpose conv gtest
Add transpose conv gtest
- stride: 2
- same padding
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Update skiplist
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 13 Jun 2019 09:09:34 +0000 (18:09 +0900)]
[MemoryManager] Introduce MemoryManager class for each backend (#5392)
* [MemoryManager] Introduce MemoryManager class for each backend
- IMemoryManager: Interface class which has two apis - allocate() and
deallocate()
- cpu::MemoryManager and acl_common::AclMemoryManager - impl classes for
each backend
Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
* Change parameter
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Jun 2019 08:56:50 +0000 (17:56 +0900)]
Introduce xdata library (#5387)
* Introduce xdata library
This commit introduces xdata library which provides (XRay) data classes
for profiling.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove commented build script
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 13 Jun 2019 04:34:46 +0000 (13:34 +0900)]
Apply Coordinates for ConstantInitializer (#5397)
This commit applies Coordinates for ConstantInitializer.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 13 Jun 2019 04:01:28 +0000 (13:01 +0900)]
Apply Coordinates for feature::nchw::View (#5400)
This commit applies Coordinates for feature::nchw::View.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 13 Jun 2019 00:40:05 +0000 (09:40 +0900)]
Introduce coordinate converter (#5394)
Introduce coordinate converter from neurun coordinate to acl coordinate
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Jun 2019 08:27:11 +0000 (17:27 +0900)]
Fix coordinate size expanding bug (#5393)
Fix coordinate size expanding using index when set coordinate
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
[neurun] Accept Visitors by lvalue reference (#5385)
* Change `Operation::accept` to accept `OperationVisitor` by lvalue reference instead of rvalue reference.
Parameters with rvalue reference types are assumed to be "moved-from". This was not the case.
* Remove redundant `virtual` keyword since the methods are declared `override`.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 12 Jun 2019 02:06:26 +0000 (11:06 +0900)]
Add interpreter unittest for coverage (#5376)
- Rename skiplist file for interpreter
- Update skiplist
- Add interpreter unittest for coverage
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 12 Jun 2019 01:52:35 +0000 (10:52 +0900)]
Do cross build automatically when ROOTFS_DIR is present. (#5380)
* Do cross build automatically when ROOTFS_DIR is present.
* In Makefile, set CROSS_BUILD flag automatically when ROOTFS_DIR is given and exist.
Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
* Improve the use case scenario and document.
* condition check was supplemented.
* update related document (This time, only arm related parts.)
Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 12 Jun 2019 01:00:10 +0000 (10:00 +0900)]
Remove createParallelExecutor code (#5382)
Remove createParallelExecutor code which is no longer used.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 12 Jun 2019 00:40:21 +0000 (09:40 +0900)]
Introduce calcOffset method with param Coordinates into Tensor classes (#5372)
This commit introduces calcOffset with param Coordinates into Tensor classes.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Jun 2019 22:27:37 +0000 (07:27 +0900)]
[Interp] Introduce softmax operation in interpreter (#5370)
* [Interp] Introduce softmax operation in interpreter
Introduce softmax operation for float32 type input & output in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix based on review
- Use dynamic_cast
- Move internal function to anonymous namespace
- Remove return
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 11 Jun 2019 10:16:14 +0000 (19:16 +0900)]
Unify Dataflow/ParallelExecutor creation (#5381)
Creation procedures of Dataflow/Parallel Executor are identical except
constructor call, we can unify them.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 11 Jun 2019 00:29:26 +0000 (09:29 +0900)]
Fix transpose conv padding calculation bug (#5371)
Fix padding calculation parameter seting bug in transpose conv
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Jun 2019 10:58:08 +0000 (19:58 +0900)]
[Interp] Introduce concat operation in interpreter (#5356)
Introduce concat operation for float32 type in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 10 Jun 2019 09:30:30 +0000 (18:30 +0900)]
Enhance DataflowExecutor dependency resolution (#5352)
Enhance inefficent dependency resolution to count-based resolution for
DataflowExecutor and ParallelExecutor.
Resolve #5223
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 10 Jun 2019 09:00:20 +0000 (18:00 +0900)]
Change ACL_DEFAULT_LAYOUT configuration to ACL_LAYOUT (#5324)
This commit changes ACL_DEFAULT_LAYOUT configuration to ACL_LAYOUT.
This configuration will force the layout of node for ACL to change.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Jun 2019 08:57:54 +0000 (17:57 +0900)]
Remove lower info dependency in SubTensorAnalyzer (#5369)
Remove operand lower info dependency in SubTensorAnalyzer
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 10 Jun 2019 08:57:42 +0000 (11:57 +0300)]
Scheduler for HE (#5182)
* Scheduler part of POC refactored
Added inital support for scheduling
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Code review fixes
Renamed makeRankForScheduler, added asserts,
Added some comments
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* More review fixes
Use Backend * instead of string for _backend_avail_time
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Decouple scheduler from warm-up
Assumes linear dependence on size and uses lower address bits of the
backend pointer to differentiate between backends
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Rebased changes unto fresh master, fixed typos
Rebased changes unto fresh master, fixed typos
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Scheduler conforms to ISheduler interface
Changed Scheduler to conform to ISheduler interface
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Moved getOperationsFlattenedIOSize to Scheduler
Moved getOperationsFlattenedIOSize to Scheduler
Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 10 Jun 2019 01:26:09 +0000 (10:26 +0900)]
[kbenchmark] Add Config parser (#5354)
This patch parses the given configuration file.
Each layer is tested in a given set of kernel benchmark tests.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 10 Jun 2019 01:25:44 +0000 (10:25 +0900)]
Introduce Coordinates (#5345)
This commit introduces Coordinates that is not dependent on a specific layout.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
[ACL backends] Fuse activation layers into convolutional layers (#5350)
* [ACL backends] Fuse activation layers into convolutional layers
Previously, convolutions with built-in activations were translated into two separate layers for ACL backends. Now activations are fused into the convolutional layers by exploiting corresponding feature of the backends.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
* Workaround ACL bug.
[ACL CL backend] Support `Unpack` operation in ACL CL backend (#5349)
* [backend] Support `Unpack` operation in ACL CL backend
Added support of `Unpack` operation in ACL CL backend through `Unstack` layer.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
* * Remove redundant `static_cast`
* Move checking code to `OperationValidator`
* * Implement `Dumper` method for `UnpackNode` class
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Jun 2019 06:15:51 +0000 (15:15 +0900)]
[Interp] Introduce fully connected operation in interepreter (#5358)
Introduce fully connected operation for float in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 7 Jun 2019 06:03:45 +0000 (15:03 +0900)]
Resolve param value for softmax at frontend (#5348)
* Resolve param value for softmax at frontend
Remove index param in softmax node and resolve value at frontend
Rename param name scale to beta (generally used)
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove unused variable in tflite loader
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Jun 2019 10:17:49 +0000 (19:17 +0900)]
[Interp] Introduce average pool operation in interpreter (#5357)
Introduce average pool operation for float type in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 5 Jun 2019 10:16:52 +0000 (19:16 +0900)]
Rename Executor.cc to LinearExecutor.cc (#5353)
When the class name was renamed to LinearExecutor, the source file was
not renamed.
Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
TFLite Loader [4/4] (#5288)
* Core implementation without operations
* Core structure of tflite loader without operations
Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Full implementation of tflite loader
Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Fix cmake and outdated headers from neurun
Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* TFLite loader tool implementation (test tool which load tflite models)
Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Fix copyright years, ifndef name and name of tflite loader test tool
Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Remove NNAPI usage from test tool
Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 5 Jun 2019 05:04:59 +0000 (14:04 +0900)]
[kbenchmark] Loads kernel benchmark library and adds some draft conv test kernels (#5346)
This patch loads kernel benchmark library using dynamic loader.
It also adds the draft test conv kernel for armcl and armne.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>