Remove deprecated contrib directories (#3844)
author오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Tue, 4 Dec 2018 05:38:32 +0000 (14:38 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Tue, 4 Dec 2018 05:38:32 +0000 (14:38 +0900)
Remove example, bindacl, and convacl directories

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
contrib/bindacl/CMakeLists.txt [deleted file]
contrib/bindacl/README.md [deleted file]
contrib/bindacl/src/nnapi_acl.cc [deleted file]
contrib/convacl/CMakeLists.txt [deleted file]
contrib/convacl/src/io_accessor.cc [deleted file]
contrib/convacl/src/io_accessor.h [deleted file]
contrib/convacl/src/nnapi_acl_conv.cc [deleted file]
contrib/example/CMakeLists.txt [deleted file]
contrib/example/example.cpp [deleted file]

diff --git a/contrib/bindacl/CMakeLists.txt b/contrib/bindacl/CMakeLists.txt
deleted file mode 100644 (file)
index 75e77a5..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-if(NOT BUILD_LABS)
-  return()
-endif(NOT BUILD_LABS)
-
-if(NOT ${TARGET_ARCH_BASE} STREQUAL "arm")
-  return()
-endif(NOT ${TARGET_ARCH_BASE} STREQUAL "arm")
-
-nnfw_find_package(ARMCompute REQUIRED)
-
-file(GLOB_RECURSE NNAPI_BINDACL_SRCS "src/*.cc")
-
-link_directories(${CMAKE_INSTALL_PREFIX}/lib)
-
-add_library(exp_bindacl SHARED ${NNAPI_BINDACL_SRCS})
-target_include_directories(exp_bindacl PUBLIC ${NNFW_INCLUDE_DIR})
-target_link_libraries(exp_bindacl nnfw_util arm_compute_graph)
-
-# we need the library name to be 'neuralnetworks' and this will do the trick
-set_target_properties(exp_bindacl PROPERTIES OUTPUT_NAME neuralnetworks)
diff --git a/contrib/bindacl/README.md b/contrib/bindacl/README.md
deleted file mode 100644 (file)
index 2c9f036..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Build
-```
-CROSS_BUILD=1 TARGET_ARCH=armv7l make
-CROSS_BUILD=1 TARGET_ARCH=armv7l make install
-```
-
-Test
-```
-USE_NNAPI=1 \
-LD_LIBRARY_PATH="$(pwd)/Product/out/lib:$(pwd)/Product/obj/contrib/bindacl" \
-Product/out/bin/tflite_run \
-[T/F Lite Flatbuffer Model Path]
-```
diff --git a/contrib/bindacl/src/nnapi_acl.cc b/contrib/bindacl/src/nnapi_acl.cc
deleted file mode 100644 (file)
index d943246..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Copyright (c) 2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include <NeuralNetworks.h>
-#include <stdexcept>
-#include <iostream>
-#include <string>
-#include <map>
-#include <cassert>
-#include <memory>
-#include <boost/format.hpp>
-// ACL Headers
-#include <arm_compute/graph.h>
-#include <arm_compute/core/TensorInfo.h>
-
-#include "util/environment.h"
-
-//
-// Asynchronous Event
-//
-struct ANeuralNetworksEvent
-{
-};
-
-int ANeuralNetworksEvent_wait(ANeuralNetworksEvent* event)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksEvent_free(ANeuralNetworksEvent* event)
-{
-  delete event;
-}
-
-//
-// Memory
-//
-struct ANeuralNetworksMemory
-{
-  // 1st approach - Store all the data inside ANeuralNetworksMemory object
-  // 2nd approach - Store metadata only, and defer data loading as much as possible
-};
-
-int ANeuralNetworksMemory_createFromFd(size_t size, int protect, int fd, size_t offset, ANeuralNetworksMemory** memory)
-{
-  *memory = new ANeuralNetworksMemory;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksMemory_free(ANeuralNetworksMemory* memory)
-{
-  delete memory;
-}
-
-//
-// Model
-//
-struct ANeuralNetworksModel
-{
-  // ANeuralNetworksModel should be a factory for Graph IR (a.k.a ISA Frontend)
-  // TODO Record # of operands
-  uint32_t numOperands;
-
-  ANeuralNetworksModel() : numOperands(0)
-  {
-    // DO NOTHING
-  }
-};
-
-int ANeuralNetworksModel_create(ANeuralNetworksModel** model)
-{
-  *model = new ANeuralNetworksModel;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksModel_free(ANeuralNetworksModel* model)
-{
-  delete model;
-}
-
-int ANeuralNetworksModel_addOperand(ANeuralNetworksModel* model, const ANeuralNetworksOperandType *type)
-{
-  model->numOperands += 1;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_setOperandValue(ANeuralNetworksModel* model, int32_t index, const void* buffer, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_setOperandValueFromMemory(ANeuralNetworksModel* model, int32_t index, const ANeuralNetworksMemory* memory, size_t offset, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_addOperation(ANeuralNetworksModel* model, ANeuralNetworksOperationType type, uint32_t inputCount, const uint32_t* inputs, uint32_t outputCount, const uint32_t* outputs)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_identifyInputsAndOutputs(ANeuralNetworksModel* model, uint32_t inputCount, const uint32_t* inputs, uint32_t outputCount, const uint32_t* outputs)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_finish(ANeuralNetworksModel* model)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-//
-// Compilation
-//
-struct ANeuralNetworksCompilation
-{
-  // ANeuralNetworksCompilation should hold a compiled IR
-};
-
-int ANeuralNetworksCompilation_create(ANeuralNetworksModel* model, ANeuralNetworksCompilation** compilation)
-{
-  *compilation = new ANeuralNetworksCompilation;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksCompilation_finish(ANeuralNetworksCompilation* compilation)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-//
-// Execution
-//
-struct ANeuralNetworksExecution
-{
-  // ANeuralNetworksExecution corresponds to NPU::Interp::Session
-
-  arm_compute::graph::frontend::Stream graph{0, "BIND_ACL"};
-};
-
-class DummyInputAccessor : public arm_compute::graph::ITensorAccessor
-{
-public:
-    DummyInputAccessor() = default;
-    DummyInputAccessor(DummyInputAccessor&&) = default;
-
-    // Inherited methods overriden:
-    bool access_tensor(arm_compute::ITensor& tensor) override;
-};
-
-bool DummyInputAccessor::access_tensor(arm_compute::ITensor&)
-{
-  return true;
-}
-
-class DummyOutputAccessor : public arm_compute::graph::ITensorAccessor
-{
-public:
-    DummyOutputAccessor() = default;
-    DummyOutputAccessor(DummyOutputAccessor&&) = default;
-
-    // Inherited methods overriden:
-    bool access_tensor(arm_compute::ITensor& tensor) override;
-};
-
-bool DummyOutputAccessor::access_tensor(arm_compute::ITensor&)
-{
-  return false;
-}
-
-int ANeuralNetworksExecution_create(ANeuralNetworksCompilation* compilation, ANeuralNetworksExecution** execution)
-{
-  std::cout << __FUNCTION__ << " +++" << std::endl;
-  *execution = new ANeuralNetworksExecution;
-
-  using arm_compute::DataType;
-  using arm_compute::graph::Target;
-  using arm_compute::graph::TensorDescriptor;
-  using arm_compute::TensorShape;
-  using arm_compute::graph::frontend::InputLayer;
-  using arm_compute::graph::frontend::OutputLayer;
-
-  ANeuralNetworksExecution* execlocal = *execution;
-  arm_compute::graph::frontend::Stream& graph = execlocal->graph;
-
-  Target target_hint = nnfw::util::get_env_int("NNFW_ACL_USENEON")
-                           ? Target::NEON : Target::CL;
-
-  graph << target_hint
-        << InputLayer(TensorDescriptor(TensorShape(224U, 224U, 3U, 1U), DataType::F32),
-                  std::unique_ptr<DummyInputAccessor>(new DummyInputAccessor()))
-        << arm_compute::graph::frontend::SoftmaxLayer()
-        << OutputLayer((std::unique_ptr<DummyOutputAccessor>(new DummyOutputAccessor())));
-
-  std::cout << __FUNCTION__ << " ---" << std::endl;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-// ANeuralNetworksExecution_setInput and ANeuralNetworksExecution_setOutput specify HOST buffer for input/output
-int ANeuralNetworksExecution_setInput(ANeuralNetworksExecution* execution, int32_t index, const ANeuralNetworksOperandType* type, const void* buffer, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksExecution_setOutput(ANeuralNetworksExecution* execution, int32_t index, const ANeuralNetworksOperandType* type, const void* buffer, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksExecution_startCompute(ANeuralNetworksExecution* execution, ANeuralNetworksEvent** event)
-{
-  std::cout << __FUNCTION__ << " +++" << std::endl;
-  *event = new ANeuralNetworksEvent;
-
-  // graph.run() fails with segment fail when only target_hint is added.
-  // after fix adding 'Tensor' we may call graph.run()
-  arm_compute::graph::frontend::Stream& graph = execution->graph;
-  graph.run();
-
-  std::cout << __FUNCTION__ << " ---" << std::endl;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksExecution_free(ANeuralNetworksExecution* execution)
-{
-  delete execution;
-}
diff --git a/contrib/convacl/CMakeLists.txt b/contrib/convacl/CMakeLists.txt
deleted file mode 100644 (file)
index ca64112..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-if(NOT BUILD_LABS)
-  return()
-endif(NOT BUILD_LABS)
-
-if(NOT ${TARGET_ARCH_BASE} STREQUAL "arm")
-  return()
-endif(NOT ${TARGET_ARCH_BASE} STREQUAL "arm")
-
-nnfw_find_package(ARMCompute REQUIRED)
-
-file(GLOB_RECURSE NNAPI_CONVACL_SRCS "src/*.cc")
-
-link_directories(${CMAKE_INSTALL_PREFIX}/lib)
-
-add_library(exp_convacl SHARED ${NNAPI_CONVACL_SRCS})
-target_include_directories(exp_convacl PUBLIC ${NNFW_INCLUDE_DIR})
-target_link_libraries(exp_convacl nnfw_util arm_compute_graph)
-
-# we need the library name to be 'neuralnetworks' and this will do the trick
-set_target_properties(exp_convacl PROPERTIES OUTPUT_NAME neuralnetworks)
diff --git a/contrib/convacl/src/io_accessor.cc b/contrib/convacl/src/io_accessor.cc
deleted file mode 100644 (file)
index b7fdee7..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Copyright (c) 2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include "io_accessor.h"
-#include <arm_compute/core/Helpers.h>
-#include <ostream>
-
-bool InputAccessor::access_tensor(arm_compute::ITensor &tensor)
-{
-  // Subtract the mean value from each channel
-  arm_compute::Window window;
-  window.use_tensor_dimensions(tensor.info()->tensor_shape());
-
-  execute_window_loop(window, [&](const arm_compute::Coordinates& id)
-  {
-    *reinterpret_cast<float *>(tensor.ptr_to_element(id)) = _test_input;
-    _test_input += _inc ? 1.0 : 0.0;
-
-    std::cout << "Input " << id.y() << "," << id.x() << " = ";
-    std::cout << *reinterpret_cast<float *>(tensor.ptr_to_element(id));
-    std::cout << std::endl;
-  });
-  return true;
-}
-
-bool OutputAccessor::access_tensor(arm_compute::ITensor &tensor)
-{
-  // Subtract the mean value from each channel
-  arm_compute::Window window;
-  window.use_tensor_dimensions(tensor.info()->tensor_shape());
-
-  execute_window_loop(window, [&](const arm_compute::Coordinates& id)
-  {
-    std::cout << "Output " << id.y() << "," << id.x() << " = ";
-    std::cout << *reinterpret_cast<float *>(tensor.ptr_to_element(id));
-    std::cout << std::endl;
-  });
-  return false; // end the network
-}
-
-bool WeightAccessor::access_tensor(arm_compute::ITensor &tensor)
-{
-  // Subtract the mean value from each channel
-  arm_compute::Window window;
-  window.use_tensor_dimensions(tensor.info()->tensor_shape());
-
-  execute_window_loop(window, [&](const arm_compute::Coordinates& id)
-  {
-    *reinterpret_cast<float *>(tensor.ptr_to_element(id)) = _test_weight;
-    _test_weight += _inc ? 1.0 : 0.0;
-
-    std::cout << "Weight " << id.y() << "," << id.x() << " = ";
-    std::cout << *reinterpret_cast<float *>(tensor.ptr_to_element(id));
-    std::cout << std::endl;
-  });
-  return true;
-}
-
-bool BiasAccessor::access_tensor(arm_compute::ITensor &tensor)
-{
-  // Subtract the mean value from each channel
-  arm_compute::Window window;
-  window.use_tensor_dimensions(tensor.info()->tensor_shape());
-
-  execute_window_loop(window, [&](const arm_compute::Coordinates& id)
-  {
-    *reinterpret_cast<float *>(tensor.ptr_to_element(id)) = 0.0;
-
-    std::cout << "Bias " << id.y() << "," << id.x() << " = ";
-    std::cout << *reinterpret_cast<float *>(tensor.ptr_to_element(id));
-    std::cout << std::endl;
-  });
-  return true;
-}
diff --git a/contrib/convacl/src/io_accessor.h b/contrib/convacl/src/io_accessor.h
deleted file mode 100644 (file)
index 4033020..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Copyright (c) 2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#ifndef __IO_ACCESSOR_H__
-#define __IO_ACCESSOR_H__
-
-#include <arm_compute/graph/ITensorAccessor.h>
-
-class InputAccessor : public arm_compute::graph::ITensorAccessor
-{
-public:
-    InputAccessor(bool inc) : _inc(inc) { _test_input = 1.0; }
-    InputAccessor(InputAccessor&&) = default;
-
-    // Inherited methods overriden:
-    bool access_tensor(arm_compute::ITensor& tensor) override;
-
-private:
-    bool _inc;
-    float _test_input;
-};
-
-class OutputAccessor : public arm_compute::graph::ITensorAccessor
-{
-public:
-    OutputAccessor() = default;
-    OutputAccessor(OutputAccessor&&) = default;
-
-    // Inherited methods overriden:
-    bool access_tensor(arm_compute::ITensor& tensor) override;
-};
-
-class WeightAccessor : public arm_compute::graph::ITensorAccessor
-{
-public:
-    WeightAccessor(bool inc) : _inc(inc) { _test_weight = 1.0; }
-    WeightAccessor(WeightAccessor&&) = default;
-
-    // Inherited methods overriden:
-    bool access_tensor(arm_compute::ITensor& tensor) override;
-
-private:
-    bool _inc;
-    float _test_weight;
-};
-
-class BiasAccessor : public arm_compute::graph::ITensorAccessor
-{
-public:
-    BiasAccessor() = default;
-    BiasAccessor(BiasAccessor&&) = default;
-
-    // Inherited methods overriden:
-    bool access_tensor(arm_compute::ITensor& tensor) override;
-};
-
-#endif // __IO_ACCESSOR_H__
diff --git a/contrib/convacl/src/nnapi_acl_conv.cc b/contrib/convacl/src/nnapi_acl_conv.cc
deleted file mode 100644 (file)
index 091d194..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Copyright (c) 2018 ARM Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include <NeuralNetworks.h>
-#include <stdexcept>
-#include <iostream>
-#include <string>
-#include <map>
-#include <cassert>
-#include <memory>
-#include <boost/format.hpp>
-// ACL Headers
-#include <arm_compute/graph.h>
-
-#include "util/environment.h"
-#include "io_accessor.h"
-
-//
-// Asynchronous Event
-//
-struct ANeuralNetworksEvent
-{
-};
-
-int ANeuralNetworksEvent_wait(ANeuralNetworksEvent* event)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksEvent_free(ANeuralNetworksEvent* event)
-{
-  delete event;
-}
-
-//
-// Memory
-//
-struct ANeuralNetworksMemory
-{
-  // 1st approach - Store all the data inside ANeuralNetworksMemory object
-  // 2nd approach - Store metadata only, and defer data loading as much as possible
-};
-
-int ANeuralNetworksMemory_createFromFd(size_t size, int protect, int fd, size_t offset, ANeuralNetworksMemory** memory)
-{
-  *memory = new ANeuralNetworksMemory;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksMemory_free(ANeuralNetworksMemory* memory)
-{
-  delete memory;
-}
-
-//
-// Model
-//
-struct ANeuralNetworksModel
-{
-  // ANeuralNetworksModel should be a factory for Graph IR (a.k.a ISA Frontend)
-  // TODO Record # of operands
-  uint32_t numOperands;
-
-  ANeuralNetworksModel() : numOperands(0)
-  {
-    // DO NOTHING
-  }
-};
-
-int ANeuralNetworksModel_create(ANeuralNetworksModel** model)
-{
-  *model = new ANeuralNetworksModel;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksModel_free(ANeuralNetworksModel* model)
-{
-  delete model;
-}
-
-int ANeuralNetworksModel_addOperand(ANeuralNetworksModel* model, const ANeuralNetworksOperandType *type)
-{
-  model->numOperands += 1;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_setOperandValue(ANeuralNetworksModel* model, int32_t index, const void* buffer, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_setOperandValueFromMemory(ANeuralNetworksModel* model, int32_t index, const ANeuralNetworksMemory* memory, size_t offset, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_addOperation(ANeuralNetworksModel* model, ANeuralNetworksOperationType type, uint32_t inputCount, const uint32_t* inputs, uint32_t outputCount, const uint32_t* outputs)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_identifyInputsAndOutputs(ANeuralNetworksModel* model, uint32_t inputCount, const uint32_t* inputs, uint32_t outputCount, const uint32_t* outputs)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksModel_finish(ANeuralNetworksModel* model)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-//
-// Compilation
-//
-struct ANeuralNetworksCompilation
-{
-  // ANeuralNetworksCompilation should hold a compiled IR
-};
-
-int ANeuralNetworksCompilation_create(ANeuralNetworksModel* model, ANeuralNetworksCompilation** compilation)
-{
-  *compilation = new ANeuralNetworksCompilation;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksCompilation_finish(ANeuralNetworksCompilation* compilation)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-//
-// Execution
-//
-struct ANeuralNetworksExecution
-{
-  // ANeuralNetworksExecution corresponds to NPU::Interp::Session
-
-  arm_compute::graph::frontend::Stream graph{0, "ACL_CONV"};
-};
-
-int ANeuralNetworksExecution_create(ANeuralNetworksCompilation* compilation, ANeuralNetworksExecution** execution)
-{
-  std::cout << __FUNCTION__ << " +++" << std::endl;
-  *execution = new ANeuralNetworksExecution;
-
-  using arm_compute::DataType;
-  using arm_compute::graph::Target;
-  using arm_compute::graph::TensorDescriptor;
-  using arm_compute::TensorShape;
-  using arm_compute::graph::frontend::InputLayer;
-  using arm_compute::graph::frontend::OutputLayer;
-
-  ANeuralNetworksExecution* execlocal = *execution;
-  arm_compute::graph::frontend::Stream& graph = execlocal->graph;
-
-  Target target_hint = nnfw::util::get_env_int("NNFW_ACL_USENEON")
-                           ? Target::NEON : Target::CL;
-  bool autoinc = nnfw::util::get_env_bool("NNFW_TEST_AUTOINC");
-
-  graph << target_hint
-        << InputLayer(TensorDescriptor(TensorShape(3U, 3U, 1U, 1U), DataType::F32),
-                  std::unique_ptr<InputAccessor>(new InputAccessor(autoinc)))
-        << arm_compute::graph::frontend::ConvolutionLayer(
-              3U, 3U, 1U,
-              std::unique_ptr<WeightAccessor>(new WeightAccessor(autoinc)),
-              std::unique_ptr<BiasAccessor>(new BiasAccessor()),
-              arm_compute::PadStrideInfo(1, 1, 0, 0))
-        << OutputLayer(
-              std::unique_ptr<OutputAccessor>(new OutputAccessor()));
-
-  std::cout << __FUNCTION__ << " ---" << std::endl;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-// ANeuralNetworksExecution_setInput and ANeuralNetworksExecution_setOutput specify HOST buffer for input/output
-int ANeuralNetworksExecution_setInput(ANeuralNetworksExecution* execution, int32_t index, const ANeuralNetworksOperandType* type, const void* buffer, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksExecution_setOutput(ANeuralNetworksExecution* execution, int32_t index, const ANeuralNetworksOperandType* type, const void* buffer, size_t length)
-{
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-int ANeuralNetworksExecution_startCompute(ANeuralNetworksExecution* execution, ANeuralNetworksEvent** event)
-{
-  std::cout << __FUNCTION__ << " +++" << std::endl;
-  *event = new ANeuralNetworksEvent;
-
-  // graph.run() fails with segment fail when only target_hint is added.
-  // after fix adding 'Tensor' we may call graph.run()
-  arm_compute::graph::frontend::Stream& graph = execution->graph;
-  graph.run();
-
-  std::cout << __FUNCTION__ << " ---" << std::endl;
-  return ANEURALNETWORKS_NO_ERROR;
-}
-
-void ANeuralNetworksExecution_free(ANeuralNetworksExecution* execution)
-{
-  delete execution;
-}
diff --git a/contrib/example/CMakeLists.txt b/contrib/example/CMakeLists.txt
deleted file mode 100644 (file)
index 2d487d5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-add_executable(example example.cpp)
diff --git a/contrib/example/example.cpp b/contrib/example/example.cpp
deleted file mode 100644 (file)
index f627e6b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <iostream>
-
-int main(int argc, char **argv)
-{
-  std::cout << "Hello, World!" << std::endl;
-  return 0;
-}