1414
1515namespace ml {
1616
17- // TODO:: CompilationImplNN* => std::unique<CompilationImplNN> so that
18- // ie_compilation_free(ie_compilation_); can host in class CompilationImplNN.
1917ExecutionImplNN::ExecutionImplNN (const CompilationImplNN* compilation,
2018 mojo::ScopedSharedBufferHandle memory)
2119 : operands_(compilation->operands_),
2220 operations_ (compilation->operations_),
2321 inputs_(compilation->inputs_),
2422 outputs_(compilation->outputs_),
2523 memory_(std::move(memory)),
26- #if defined(OS_ANDROID)
27- nn_compilation_ (compilation->nn_compilation_) {
28- #else
29- ie_compilation_ (compilation->ie_compilation_ ) {
30- #endif
24+ compilation_impl_(compilation) {
3125#if defined(OS_LINUX) || defined(OS_WIN)
3226 // Create Execution
33- IE (ie_execution_create)(ie_compilation_, &ie_execution_);
27+ IE (ie_execution_create)(compilation_impl_-> ie_compilation_ , &ie_execution_);
3428#endif
3529 uint32_t total_length = 0 ;
3630 inputs_info_.reserve (inputs_.size ());
@@ -54,9 +48,7 @@ ExecutionImplNN::ExecutionImplNN(const CompilationImplNN* compilation,
5448
5549ExecutionImplNN::~ExecutionImplNN () {
5650#if defined(OS_ANDROID)
57- ANeuralNetworksCompilation_free (nn_compilation_);
5851#else
59- IE (ie_compilation_free)(ie_compilation_);
6052 IE (ie_execution_free)(ie_execution_);
6153#endif
6254 DLOG (INFO) << " ANeuralNetworksCompilation_free" ;
@@ -91,8 +83,8 @@ void ExecutionImplNN::StartCompute(mojom::UserBufferPtr user_buffer,
9183 int32_t result = 0 ;
9284#if defined(OS_ANDROID)
9385 ANeuralNetworksExecution* nn_execution;
94- result =
95- ANeuralNetworksExecution_create (nn_compilation_, &nn_execution);
86+ result = ANeuralNetworksExecution_create (compilation_impl_-> nn_compilation_ ,
87+ &nn_execution);
9688#endif
9789 for (size_t i = 0 ; i < inputs_info_.size (); ++i) {
9890 std::unique_ptr<OperandInfo>& info = inputs_info_[i];
@@ -101,8 +93,8 @@ void ExecutionImplNN::StartCompute(mojom::UserBufferPtr user_buffer,
10193 nn_execution, i, NULL , static_cast <void *>(info->mapping .get ()),
10294 info->length );
10395#else
104- result = IE (ie_execution_set_input)(ie_execution_, i,
105- info->mapping . get (), info-> length );
96+ result = IE (ie_execution_set_input)(ie_execution_, i, info-> mapping . get (),
97+ info->length );
10698#endif
10799 }
108100
@@ -113,8 +105,8 @@ void ExecutionImplNN::StartCompute(mojom::UserBufferPtr user_buffer,
113105 nn_execution, i, NULL , static_cast <void *>(info->mapping .get ()),
114106 info->length );
115107#else
116- result = IE (ie_execution_set_output)(
117- ie_execution_, i, info-> mapping . get (), info->length );
108+ result = IE (ie_execution_set_output)(ie_execution_, i, info-> mapping . get (),
109+ info->length );
118110#endif
119111 }
120112
0 commit comments