From: 오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 Date: Thu, 2 Aug 2018 04:55:46 +0000 (+0900) Subject: [neurun] split compilation NNAPI implementation into frontend (#2145) X-Git-Tag: 0.2~357 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d5624b74e77d6fbe9fa2125d3dde16f143fd0568;p=platform%2Fcore%2Fml%2Fnnfw.git [neurun] split compilation NNAPI implementation into frontend (#2145) Split compilation NNAPI implementation into frontend Define ANeuralNetworksCompilation::finish() to divide NNAPI implementation with internal Signed-off-by: Hyeongseok Oh --- diff --git a/runtimes/neurun/src/compilation.cc b/runtimes/neurun/src/compilation.cc index b401d38..f4d0603 100644 --- a/runtimes/neurun/src/compilation.cc +++ b/runtimes/neurun/src/compilation.cc @@ -618,26 +618,11 @@ void PlanBuilder::finalize(BackendResolver &backend_resolver) } } -// -// NNAPI Implementation -// -int ANeuralNetworksCompilation_create(ANeuralNetworksModel *model, - ANeuralNetworksCompilation **compilation) -{ - std::shared_ptr internal; - - model->release(internal); - - *compilation = new ANeuralNetworksCompilation(internal); - - return ANEURALNETWORKS_NO_ERROR; -} - -int ANeuralNetworksCompilation_finish(ANeuralNetworksCompilation *compilation) +int ANeuralNetworksCompilation::finish() { arm_compute::CLScheduler::get().default_init(); - auto &plan = compilation->plan(); + auto &plan = this->plan(); const auto &operands = plan.model().operands(); const auto &operations = plan.model().operations(); @@ -663,15 +648,3 @@ int ANeuralNetworksCompilation_finish(ANeuralNetworksCompilation *compilation) return ANEURALNETWORKS_NO_ERROR; } - -void ANeuralNetworksCompilation_free(ANeuralNetworksCompilation *compilation) -{ - delete compilation; -} - -int ANeuralNetworksCompilation_setPreference(ANeuralNetworksCompilation *compilation, - int32_t preference) -{ - // NYi - return ANEURALNETWORKS_NO_ERROR; -} diff --git a/runtimes/neurun/src/compilation.h b/runtimes/neurun/src/compilation.h index bcbaa59..db6a5a1 100644 --- a/runtimes/neurun/src/compilation.h +++ b/runtimes/neurun/src/compilation.h @@ -18,6 +18,7 @@ public: public: void publish(std::shared_ptr &plan) { plan = _plan; } + int finish(); private: std::shared_ptr _plan; diff --git a/runtimes/neurun/src/frontend/compilation.cc b/runtimes/neurun/src/frontend/compilation.cc new file mode 100644 index 0000000..fd871dc --- /dev/null +++ b/runtimes/neurun/src/frontend/compilation.cc @@ -0,0 +1,38 @@ +#include + +#include "model.h" +#include "compilation.h" + +// +// NNAPI Implementation +// +int ANeuralNetworksCompilation_create(ANeuralNetworksModel *model, + ANeuralNetworksCompilation **compilation) +{ + std::shared_ptr internal; + + model->release(internal); + + *compilation = new ANeuralNetworksCompilation(internal); + + return ANEURALNETWORKS_NO_ERROR; +} + +int ANeuralNetworksCompilation_finish(ANeuralNetworksCompilation *compilation) +{ + return compilation->finish(); + + return ANEURALNETWORKS_NO_ERROR; +} + +void ANeuralNetworksCompilation_free(ANeuralNetworksCompilation *compilation) +{ + delete compilation; +} + +int ANeuralNetworksCompilation_setPreference(ANeuralNetworksCompilation *compilation, + int32_t preference) +{ + // NYi + return ANEURALNETWORKS_NO_ERROR; +}