# Add cpu
-set(NEURUN_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
+set(NEURUN_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/core/include)
# Build backends and their kernels
set(LIB_NEURUN_KERNEL_CPU neurun_kernel_cpu)
add_subdirectory(frontend)
-file(GLOB SOURCES "src/*.cc")
-file(GLOB SOURCES_BACKEND "src/backend/*.cc")
-file(GLOB_RECURSE SOURCES_GRAPH "src/graph/*.cc")
-file(GLOB_RECURSE SOURCES_LINEAR "src/linear/*.cc")
-file(GLOB_RECURSE SOURCES_DUMPER "src/dumper/*.cc")
-file(GLOB_RECURSE SOURCES_COMPILER "src/compiler/*.cc")
-file(GLOB_RECURSE SOURCES_EXEC "src/exec/*.cc")
-file(GLOB_RECURSE SOURCES_VERIFIER "src/verifier/*.cc")
-file(GLOB_RECURSE SOURCES_UTIL "src/util/*.cc")
-file(GLOB_RECURSE SOURCES_MODEL "src/model/*.cc")
+# TODO Extract this to `core/CMakeLists.txt`
-set(SOURCES ${SOURCES} ${SOURCES_BACKEND} ${SOURCES_GRAPH} ${SOURCES_LINEAR} ${SOURCES_DUMPER} ${SOURCES_COMPILER} ${SOURCES_EXEC} ${SOURCES_VERIFIER} ${SOURCES_UTIL} ${SOURCES_MODEL})
+file(GLOB_RECURSE SOURCES "core/src/*.cc")
add_library(neurun-core STATIC ${SOURCES})
set_target_properties(neurun-core PROPERTIES POSITION_INDEPENDENT_CODE ON)
-target_include_directories(neurun-core PUBLIC ${NEURUN_INCLUDE_DIR})
+target_include_directories(neurun-core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/core/include)
+target_include_directories(neurun-core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/core/src)
target_include_directories(neurun-core PUBLIC ${CMAKE_SOURCE_DIR}/externals/tensorflow)
-target_link_libraries(neurun-core nnapi-header)
+target_link_libraries(neurun-core nnapi-header) # TODO Remove this dependency
target_link_libraries(neurun-core tensorflow-lite)
target_link_libraries(neurun-core nnfw_lib_misc)
target_link_libraries(neurun-core nnfw_lib_cpp14)
target_compile_options(neurun-core PRIVATE -Wall -Wextra -Werror)
+# TODO Extract this to `test/CMakeLists.txt`
+
# Unit Tests
set(TEST_NEURUN test_neurun)
# NOTE This line is a workaround to resolve compilation error
target_include_directories(${TEST_NEURUN} PRIVATE frontend/nnapi)
target_include_directories(${TEST_NEURUN} PRIVATE backend/cpu)
+target_include_directories(${TEST_NEURUN} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/core/src)
target_link_libraries(${TEST_NEURUN} ${LIB_NEURUN})
+target_link_libraries(${TEST_NEURUN} neurun-core)
target_link_libraries(${TEST_NEURUN} gtest)
target_link_libraries(${TEST_NEURUN} gtest_main)
target_link_libraries(${TEST_NEURUN} ${LIB_PTHREAD})
#ifndef __NEURUN_BACKEND_ACL_CL_CONFIG_H__
#define __NEURUN_BACKEND_ACL_CL_CONFIG_H__
-#include "backend/interface/IConfig.h"
+#include <backend/IConfig.h>
namespace neurun
{
#ifndef __NEURUN_BACKEND_ACL_CL_STAGE_GENERATOR_H__
#define __NEURUN_BACKEND_ACL_CL_STAGE_GENERATOR_H__
-#include "backend/interface/IStageGenerator.h"
+#include <backend/IStageGenerator.h>
#include "model/operand/Set.h"
#include "TensorBuilder.h"
#ifndef __NEURUN_BACKEND_ACL_CL_TENSOR_BUILDER_H__
#define __NEURUN_BACKEND_ACL_CL_TENSOR_BUILDER_H__
-#include "backend/interface/ITensorBuilder.h"
+#include <backend/ITensorBuilder.h>
#include "operand/CLTensor.h"
#include "operand/CLSubTensor.h"
#include "operand/Object.h"
#ifndef __NEURUN_BACKEND_ACL_CL_KERNEL_CL_FUNCTION_H__
#define __NEURUN_BACKEND_ACL_CL_KERNEL_CL_FUNCTION_H__
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include <arm_compute/runtime/IFunction.h>
#include <memory>
#include <arm_compute/core/ITensorInfo.h>
#include <arm_compute/core/CL/ICLTensor.h>
-#include "backend/interface/operand/ITensor.h"
+#include <backend/operand/ITensor.h>
namespace neurun
{
#include <memory>
-#include "backend/interface/operand/IObject.h"
+#include <backend/operand/IObject.h>
#include "operand/ICLTensor.h"
namespace neurun
#ifndef __NEURUN_BACKEND_CPU_CONFIG_H__
#define __NEURUN_BACKEND_CPU_CONFIG_H__
-#include "backend/interface/IConfig.h"
+#include <backend/IConfig.h>
namespace neurun
{
#include "kernel/PermuteLayer.h"
#include "kernel/DepthwiseConvolutionLayer.h"
-#include "backend/BackendManager.h"
-#include "backend/interface/IConfig.h"
+#include <backend/Backend.h>
+#include <backend/IConfig.h>
#include "compiler/IExecutionBuilder.h"
#include "util/logging.h"
#ifndef __NEURUN_BACKEND_CPU_STAGE_GENERATOR_H__
#define __NEURUN_BACKEND_CPU_STAGE_GENERATOR_H__
-#include "backend/interface/IStageGenerator.h"
+#include <backend/IStageGenerator.h>
#include "model/operand/Set.h"
#include "operand/Tensor.h"
#include <unordered_map>
-#include "backend/interface/ITensorBuilder.h"
+#include <backend/ITensorBuilder.h>
#include "operand/Tensor.h"
#include "operand/Object.h"
#include "model/operand/IndexMap.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "util/feature/nhwc/View.h"
#include "OperationUtils.h"
-#include "backend/interface/operand/IObject.h"
+#include <backend/operand/IObject.h>
#include "model/operation/PermuteNode.h"
namespace neurun
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#include <NeuralNetworks.h>
-#include "exec/interface/IFunction.h"
+#include <exec/IFunction.h>
#include "OperationUtils.h"
#define __NEURUN_BACKEND_CPU_OPERAND_OBJECT_H__
#include <memory>
-#include "backend/interface/operand/ITensor.h"
+#include <backend/operand/ITensor.h>
-#include "backend/interface/operand/IObject.h"
+#include <backend/operand/IObject.h>
namespace neurun
{
#ifndef __NEURUN_BACKEND_CPU_OPERAND_TENSOR_H__
#define __NEURUN_BACKEND_CPU_OPERAND_TENSOR_H__
-#include "backend/interface/operand/ITensor.h"
+#include <backend/operand/ITensor.h>
#include "compiler/TensorInfo.h"
namespace neurun
#include <vector>
#include <functional>
-#include "backend/interface/IStage.h"
+#include "IStage.h"
namespace neurun
{
#include <memory>
#include <functional>
-#include "backend/interface/ITensorBuilder.h"
-#include "backend/interface/IStage.h"
+#include "ITensorBuilder.h"
+#include "IStage.h"
#include "model/operation/NodeVisitor.h"
#include "model/operation/Subgraph.h"
#include "cpp14/memory.h"
#include "operand/IObject.h"
#include "compiler/SubTensorInfo.h"
#include "compiler/TensorInfo.h"
-#include "backend/interface/operand/ITensor.h"
+#include "operand/ITensor.h"
namespace neurun
{
#include <vector>
#include <functional>
-#include "backend/interface/IStage.h"
+#include "IStage.h"
#include "backend/AtomicStage.h"
#include "cpp14/memory.h"
#include <memory>
-#include "exec/interface/IFunction.h"
+#include "exec/IFunction.h"
namespace neurun
{
#include <string>
-#include "backend/BackendManager.h"
+namespace neurun
+{
+namespace backend
+{
+class Backend;
+} // namespace backend
+} // namespace neurun
namespace neurun
{
#include "model/operation/Node.h"
-#include "backend/BackendManager.h"
+namespace neurun
+{
+namespace backend
+{
+class Backend;
+} // namespace backend
+} // namespace neurun
namespace neurun
{
#include "misc/feature/Reader.h"
#include "misc/feature/Shape.h"
-#include "backend/interface/operand/ITensor.h"
+#include "backend/operand/ITensor.h"
#include "util/feature/Coordinate4D.h"
#include <cassert>
* limitations under the License.
*/
-#include "Backend.h"
+#include "backend/Backend.h"
-#include "backend/interface/IConfig.h"
-#include "backend/interface/ITensorBuilder.h"
-#include "backend/interface/IStageGenerator.h"
+#include "backend/IConfig.h"
+#include "backend/ITensorBuilder.h"
+#include "backend/IStageGenerator.h"
namespace neurun
{
#include <dlfcn.h>
#include "BackendManager.h"
-#include "backend/interface/IConfig.h"
-#include "backend/interface/ITensorBuilder.h"
-#include "backend/interface/IStageGenerator.h"
+#include "backend/IConfig.h"
+#include "backend/ITensorBuilder.h"
+#include "backend/IStageGenerator.h"
#include "util/logging.h"
#include "util/config/ConfigManager.h"
#include <map>
#include "model/operand/Set.h"
-#include "Backend.h"
+#include "backend/Backend.h"
namespace neurun
{
#include "util/logging.h"
#include "util/config/ConfigManager.h"
#include "backend/BackendManager.h"
-#include "backend/interface/IStageGenerator.h"
+#include "backend/IStageGenerator.h"
namespace neurun
{
* limitations under the License.
*/
-#include "Compiler.h"
+#include "compiler/Compiler.h"
#include "OperationValidator.h"
#include "SubTensorAnalyzer.h"
// TODO Extract this to another class
// IExecutionBuilder should be moved to `compiler/IExecutionBuilder.h` from
- // `backend/interface/IStageGenerator.h`.
+ // `backend/IStageGenerator.h`.
class ExecutionBuilder : public IExecutionBuilder
{
public:
#include "ConstantInitializer.h"
-#include "backend/interface/operand/IObject.h"
-#include "backend/interface/IConfig.h"
+#include "backend/operand/IObject.h"
+#include "backend/IConfig.h"
#include "backend/BackendManager.h"
#include "model/operation/FullyConnectedNode.h"
#include "util/feature/nhwc/Reader.h"
#ifndef __NEURUN_COMPILER_OPERAND_CONTEXT_H__
#define __NEURUN_COMPILER_OPERAND_CONTEXT_H__
-#include "backend/interface/operand/IObject.h"
+#include "backend/operand/IObject.h"
#include "model/operand/IndexMap.h"
#include <unordered_map>
#include <memory>
#include "PlanBuilder.h"
-#include "backend/interface/operand/IObject.h"
+#include "backend/operand/IObject.h"
namespace neurun
{
#include "compiler/OperandContext.h"
#include "compiler/operation/Sequence.h"
#include "compiler/IExecutionBuilder.h"
-#include "backend/interface/IStageGenerator.h"
-#include "backend/interface/ITensorBuilder.h"
-#include "backend/interface/IStage.h"
+#include "backend/IStageGenerator.h"
+#include "backend/ITensorBuilder.h"
+#include "backend/IStage.h"
namespace neurun
{
#ifndef __NEURUN_COMPILER_OPERATION_SEQUENCE_H__
#define __NEURUN_COMPILER_OPERATION_SEQUENCE_H__
#include <stdint.h>
-#include "exec/interface/IFunction.h"
+#include "exec/IFunction.h"
#include <memory>
#include <vector>
#include "DotNodeInfo.h"
#include "graph/Graph.h"
#include "graph/operation/LowerInfo.h"
-#include "backend/interface/IConfig.h"
+#include "backend/IConfig.h"
+#include "backend/Backend.h"
namespace neurun
{
#include "DotOperandInfo.h"
#include "graph/Graph.h"
#include "graph/operand/LowerInfo.h"
-#include "backend/interface/IConfig.h"
+#include "backend/IConfig.h"
#include "backend/BackendManager.h"
namespace neurun
#include "Executor.h"
#include "backend/BackendManager.h"
-#include "backend/interface/IConfig.h"
-#include "backend/interface/operand/ITensor.h"
+#include "backend/IConfig.h"
+#include "backend/operand/ITensor.h"
#include "graph/operand/LowerInfo.h"
namespace neurun
#include "Source.h"
#include "Sink.h"
-#include "IExecutor.h"
+#include "exec/IExecutor.h"
#include "model/Model.h"
#include "graph/LowerInfoMap.h"
-#include "backend/interface/IConfig.h"
+#include "backend/IConfig.h"
#include "compiler/TensorInfo.h"
#include "model/operation/Subgraph.h"
+#include "backend/Backend.h"
namespace neurun
{
#include <memory>
#include <vector>
-#include "exec/interface/IFunction.h"
+#include "exec/IFunction.h"
namespace neurun
{
#include <unordered_set>
-#include "interface/IFunction.h"
+#include "exec/IFunction.h"
#include "model/operation/Index.h"
#include "model/operand/IndexSet.h"
* limitations under the License.
*/
-#include "Graph.h"
+#include "graph/Graph.h"
#include <algorithm>
#include <bitset>
#include "verifier/Verifier.h"
#include "cpp14/memory.h"
#include "linear/Linear.h"
-#include "operation/LowerInfo.h"
-#include "operand/LowerInfo.h"
+#include "graph/operation/LowerInfo.h"
+#include "graph/operand/LowerInfo.h"
#include "operand/Shape4DConvert.h"
#include "compiler/BackendResolver.h"
-#include "backend/interface/IConfig.h"
+#include "backend/IConfig.h"
#include "pass/PermutationInsertionPass.h"
#include "pass/PermutationEliminationPass.h"
* limitations under the License.
*/
-#include "BackendSet.h"
+#include "graph/operand/BackendSet.h"
#include <cassert>
#include <initializer_list>
#include <unordered_set>
-#include "Layout.h"
+#include "graph/operand/Layout.h"
namespace neurun
{
* limitations under the License.
*/
-#include "LowerInfo.h"
+#include "graph/operand/LowerInfo.h"
namespace neurun
{
#ifndef __NEURUN_GRAPH_OPERAND_SHAPE4D_CONVERT_H__
#define __NEURUN_GRAPH_OPERAND_SHAPE4D_CONVERT_H__
-#include "LowerInfo.h"
+#include "graph/operand/LowerInfo.h"
namespace neurun
{
* limitations under the License.
*/
-#include "LowerInfo.h"
+#include "graph/operation/LowerInfo.h"
namespace neurun
{
#include "model/operand/Object.h"
#include "graph/operand/LowerInfo.h"
#include "graph/Graph.h"
-#include "backend/interface/IConfig.h"
+#include "backend/IConfig.h"
#include "util/logging.h"
#include "compiler/BackendResolver.h"
#include "model/operand/Object.h"
#include "graph/operation/LowerInfo.h"
#include "graph/Graph.h"
-#include "backend/interface/IConfig.h"
+#include "backend/IConfig.h"
#include "util/logging.h"
#include "cpp14/memory.h"
#include "model/operation/PermuteNode.h"
#include "graph/operation/LowerInfo.h"
#include "graph/operand/LowerInfo.h"
-#include "backend/interface/IStageGenerator.h"
-#include "backend/interface/IConfig.h"
+#include "backend/IStageGenerator.h"
+#include "backend/IConfig.h"
+#include "backend/Backend.h"
#include "compiler/SubTensorInfo.h"
#include "compiler/TensorInfo.h"
#include "model/operand/IndexMap.h"
#include "model/Model.h"
#include "model/operation/Subgraph.h"
-#include "backend/interface/ITensorBuilder.h"
+#include "backend/ITensorBuilder.h"
#include "graph/LowerInfoMap.h"
namespace neurun
* limitations under the License.
*/
-#include "IndexSet.h"
+#include "model/operand/IndexSet.h"
#include <algorithm>
* limitations under the License.
*/
-#include "Object.h"
+#include "model/operand/Object.h"
namespace neurun
{
* limitations under the License.
*/
-#include "Set.h"
+#include "model/operand/Set.h"
#include "cpp14/memory.h"
#include <cassert>
-#include "Shape.h"
+#include "model/operand/Shape.h"
namespace neurun
{
* limitations under the License.
*/
-#include "TypeInfo.h"
+#include "model/operand/TypeInfo.h"
namespace neurun
{
* limitations under the License.
*/
-#include "AddNode.h"
+#include "model/operation/AddNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "AvgPool2DNode.h"
+#include "model/operation/AvgPool2DNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "CastNode.h"
+#include "model/operation/CastNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ConcatNode.h"
+#include "model/operation/ConcatNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "Conv2DNode.h"
+#include "model/operation/Conv2DNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "DepthwiseConv2DNode.h"
+#include "model/operation/DepthwiseConv2DNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "DivNode.h"
+#include "model/operation/DivNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "EmbeddingLookupNode.h"
+#include "model/operation/EmbeddingLookupNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ExpNode.h"
+#include "model/operation/ExpNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "FloorNode.h"
+#include "model/operation/FloorNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "FullyConnectedNode.h"
+#include "model/operation/FullyConnectedNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "HashtableLookupNode.h"
+#include "model/operation/HashtableLookupNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "IndexList.h"
+#include "model/operation/IndexList.h"
#include <algorithm>
* limitations under the License.
*/
-#include "L2NormalizationNode.h"
+#include "model/operation/L2NormalizationNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "L2Pool2DNode.h"
+#include "model/operation/L2Pool2DNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "LogicalAndNode.h"
+#include "model/operation/LogicalAndNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "LogisticNode.h"
+#include "model/operation/LogisticNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "MaxPool2DNode.h"
+#include "model/operation/MaxPool2DNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "MulNode.h"
+#include "model/operation/MulNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "Node.h"
+#include "model/operation/Node.h"
#include <cassert>
* limitations under the License.
*/
-#include "NotEqualNode.h"
+#include "model/operation/NotEqualNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "OperandConstraint.h"
+#include "model/operation/OperandConstraint.h"
namespace neurun
{
* limitations under the License.
*/
-#include "PReLUNode.h"
+#include "model/operation/PReLUNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "PermuteNode.h"
+#include "model/operation/PermuteNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "RSQRTNode.h"
+#include "model/operation/RSQRTNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ReLU1Node.h"
+#include "model/operation/ReLU1Node.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ReLU6Node.h"
+#include "model/operation/ReLU6Node.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ReLUNode.h"
+#include "model/operation/ReLUNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ReduceMaxNode.h"
+#include "model/operation/ReduceMaxNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ReduceSumNode.h"
+#include "model/operation/ReduceSumNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ReshapeNode.h"
+#include "model/operation/ReshapeNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "ResizeBilinearNode.h"
+#include "model/operation/ResizeBilinearNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "SQRTNode.h"
+#include "model/operation/SQRTNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "Set.h"
+#include "model/operation/Set.h"
#include <cassert>
* limitations under the License.
*/
-#include "SoftmaxNode.h"
+#include "model/operation/SoftmaxNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "SpaceToDepthNode.h"
+#include "model/operation/SpaceToDepthNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "SqueezeNode.h"
-#include "NodeVisitor.h"
+#include "model/operation/SqueezeNode.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "StridedSliceNode.h"
+#include "model/operation/StridedSliceNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "SubNode.h"
+#include "model/operation/SubNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "Subgraph.h"
-#include "NodeVisitor.h"
+#include "model/operation/Subgraph.h"
+#include "model/operation/NodeVisitor.h"
#include <sstream>
namespace neurun
* limitations under the License.
*/
-#include "TanhNode.h"
+#include "model/operation/TanhNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "TransposeConvNode.h"
+#include "model/operation/TransposeConvNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "TransposeNode.h"
+#include "model/operation/TransposeNode.h"
#include <cassert>
-#include "NodeVisitor.h"
+#include "model/operation/NodeVisitor.h"
namespace neurun
{
* limitations under the License.
*/
-#include "NNAPIConvert.h"
+#include "util/NNAPIConvert.h"
namespace neurun
{
* limitations under the License.
*/
-#include "Utils.h"
+#include "util/Utils.h"
#include <cassert>
* limitations under the License.
*/
-#include "ConfigManager.h"
+#include "util/config/ConfigManager.h"
#include <cstdlib>
#define CONFIG(Name, Type, Default) const char *Name = #Name;
-#include "Config.lst"
+#include "util/config/Config.lst"
#undef CONFIG
_map.insert({std::string{#Name}, std::string{Default}}); \
fetch_from_env_var(#Name);
-#include "Config.lst"
+#include "util/config/Config.lst"
#undef CONFIG
}
add_library(${LIB_NEURUN} SHARED ${SOURCES_FRONTEND})
target_include_directories(${LIB_NEURUN} PUBLIC ${NEURUN_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN} PUBLIC ${CMAKE_SOURCE_DIR}/externals/tensorflow)
+target_link_libraries(${LIB_NEURUN} nnapi-header)
target_link_libraries(${LIB_NEURUN} neurun-core)
target_compile_options(${LIB_NEURUN} PRIVATE -Wall -Wextra -Werror)