# Build configuration for project
#
option(BUILD_EXT_MULTITHREAD "Build external build using multi thread" ON)
-option(BUILD_NEURUN "Build neurun" OFF) #if implementation is done, it would replace nn runtime.
+option(BUILD_NEURUN "Build neurun" ON)
option(BUILD_LOGGING "Build logging runtime" ON)
+option(BUILD_PURE_ARM_COMPUTE "Build pure_arm_compute runtime" OFF)
CMAKE_DEPENDENT_OPTION(BUILD_RUNTIME_NNAPI_TEST "Build Runtime NN API Generated Test"
# Set BUILD_RUNTIME_NNAPI_TEST as ON
# if CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.2
#
# aarch64 linux cmake options
#
-option(BUILD_PURE_ARM_COMPUTE "Build pure_arm_compute runtime" ON)
option(BUILD_ARMCOMPUTE "Build ARM Compute from the downloaded source" ON)
option(BUILD_ANDROID_TFLITE "Enable android support for TensorFlow Lite" OFF)
option(DOWNLOAD_ARMCOMPUTE "Download ARM Compute source" ON)
#
# aarch64 tizen cmake options
#
-option(BUILD_PURE_ARM_COMPUTE "Build pure_arm_compute runtime" ON)
option(BUILD_ARMCOMPUTE "Build ARM Compute from the downloaded source" ON)
option(BUILD_ANDROID_TFLITE "Enable android support for TensorFlow Lite" OFF)
option(DOWNLOAD_ARMCOMPUTE "Download ARM Compute source" ON)
# arm64 android cmake options
#
-option(BUILD_PURE_ARM_COMPUTE "Build pure_arm_compute runtime" ON)
option(BUILD_ARMCOMPUTE "Build ARM Compute from the downloaded source" ON)
option(BUILD_ANDROID_TFLITE "Enable android support for TensorFlow Lite" ON)
option(DOWNLOAD_ARMCOMPUTE "Download ARM Compute source" ON)
#
# armv7l linux cmake options
#
-option(BUILD_PURE_ARM_COMPUTE "Build pure_arm_compute runtime" ON)
option(BUILD_ARMCOMPUTE "Build ARM Compute from the downloaded source" ON)
option(BUILD_ANDROID_TFLITE "Enable android support for TensorFlow Lite" OFF)
option(DOWNLOAD_ARMCOMPUTE "Download ARM Compute source" ON)
#
# armv7l tizen cmake options
#
-option(BUILD_PURE_ARM_COMPUTE "Build pure_arm_compute runtime" ON)
option(BUILD_ARMCOMPUTE "Build ARM Compute from the downloaded source" ON)
option(BUILD_ANDROID_TFLITE "Enable android support for TensorFlow Lite" OFF)
option(DOWNLOAD_ARMCOMPUTE "Download ARM Compute source" ON)
#
# x86_64 linux cmake options
#
-option(BUILD_PURE_ARM_COMPUTE "Build pure_arm_compute runtime" OFF)
option(BUILD_ARMCOMPUTE "Build ARM Compute from the downloaded source" OFF)
option(BUILD_ANDROID_TFLITE "Enable android support for TensorFlow Lite" OFF)
option(DOWNLOAD_ARMCOMPUTE "Download ARM Compute source" OFF)
%{!?coverage_build: %define coverage_build 0}
%if %{coverage_build} == 1
-%define build_options OPTIONS='-DBUILD_NEURUN=on -DBUILD_PURE_ARM_COMPUTE=off' COVERAGE_BUILD=1 OBS_BUILD=1 BUILD_TYPE=Debug TARGET_ARCH=%{target_arch} TARGET_OS=tizen TFLITE_MAJOR_VER=1 TFLITE_MINOR_VER=9
+%define build_options COVERAGE_BUILD=1 OBS_BUILD=1 BUILD_TYPE=Debug TARGET_ARCH=%{target_arch} TARGET_OS=tizen TFLITE_MAJOR_VER=1 TFLITE_MINOR_VER=9
%else
-%define build_options OPTIONS='-DBUILD_NEURUN=on -DBUILD_PURE_ARM_COMPUTE=off' OBS_BUILD=1 BUILD_TYPE=%{build_type} INSTALL_PATH=%{buildroot}%{_prefix} TARGET_ARCH=%{target_arch} TARGET_OS=tizen TFLITE_MAJOR_VER=1 TFLITE_MINOR_VER=9
+%define build_options OBS_BUILD=1 BUILD_TYPE=%{build_type} INSTALL_PATH=%{buildroot}%{_prefix} TARGET_ARCH=%{target_arch} TARGET_OS=tizen TFLITE_MAJOR_VER=1 TFLITE_MINOR_VER=9
%endif
%prep
target_compile_options(${LIB_NEURUN_BACKEND_ACL_CL} PRIVATE -Wall -Wextra -Werror)
set_target_properties(${LIB_NEURUN_BACKEND_ACL_CL} PROPERTIES OUTPUT_NAME backend_acl_cl)
-install(TARGETS ${LIB_NEURUN_BACKEND_ACL_CL} DESTINATION lib/neurun)
+install(TARGETS ${LIB_NEURUN_BACKEND_ACL_CL} DESTINATION lib)
set_target_properties(${LIB_NEURUN_BACKEND_ACL_COMMON} PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_target_properties(${LIB_NEURUN_BACKEND_ACL_COMMON} PROPERTIES OUTPUT_NAME backend_acl_common)
-install(TARGETS ${LIB_NEURUN_BACKEND_ACL_COMMON} DESTINATION lib/neurun)
+install(TARGETS ${LIB_NEURUN_BACKEND_ACL_COMMON} DESTINATION lib)
target_compile_options(${LIB_NEURUN_BACKEND_ACL_NEON} PRIVATE -Wall -Wextra -Werror)
set_target_properties(${LIB_NEURUN_BACKEND_ACL_NEON} PROPERTIES OUTPUT_NAME backend_acl_neon)
-install(TARGETS ${LIB_NEURUN_BACKEND_ACL_NEON} DESTINATION lib/neurun)
+install(TARGETS ${LIB_NEURUN_BACKEND_ACL_NEON} DESTINATION lib)
target_compile_options(${LIB_NEURUN_BACKEND_CPU} PRIVATE -Wall -Wextra -Werror)
set_target_properties(${LIB_NEURUN_BACKEND_CPU} PROPERTIES OUTPUT_NAME backend_cpu)
-install(TARGETS ${LIB_NEURUN_BACKEND_CPU} DESTINATION lib/neurun)
+install(TARGETS ${LIB_NEURUN_BACKEND_CPU} DESTINATION lib)
# Unit Tests
set(TEST_NEURUN_BACKEND_CPU test_neurun_backend_cpu)
set_target_properties(${LIB_NEURUN} PROPERTIES OUTPUT_NAME neuralnetworks)
-install(TARGETS ${LIB_NEURUN} DESTINATION lib/neurun)
+install(TARGETS ${LIB_NEURUN} DESTINATION lib)
set_target_properties(nnapi_pure_arm_compute PROPERTIES OUTPUT_NAME neuralnetworks)
install(TARGETS nnapi_pure_arm_compute DESTINATION lib/pureacl RENAME neuralnetworks)
-install(TARGETS nnapi_pure_arm_compute DESTINATION lib RENAME neuralnetworks)
# To prevent undefined references
add_executable(pure_arm_compute_symbolcheck symbolcheck.cpp)
pushd $ROOT_PATH > /dev/null
# TODO use command instead of makefile
-CMD="make && \
+CMD="export OPTIONS='-DBUILD_NEURUN=OFF -DBUILD_PURE_ARM_COMPUTE=ON' && \
+ make && \
make install && \
make build_test_suite"
source nnfw docker-run-user bash -c "${CMD}"
pushd $ROOT_PATH > /dev/null
# TODO use command instead of makefile
-CMD="export OPTIONS='-DBUILD_PURE_ARM_COMPUTE=ON -DBUILD_TFLITE_BENCHMARK_MODEL=ON' && \
+CMD="export OPTIONS='-DBUILD_PURE_ARM_COMPUTE=ON -DBUILD_NEURUN=OFF -DBUILD_TFLITE_BENCHMARK_MODEL=ON' && \
make && \
make install && \
make build_test_suite"
pushd $ROOT_PATH > /dev/null
# TODO use command instead of makefile
-CMD="export OPTIONS='-DBUILD_NEURUN=ON -DBUILD_PURE_ARM_COMPUTE=OFF' && \
- make && \
+CMD="make && \
make install && \
make build_test_suite"
source nnfw docker-run-user bash -c "$CMD"
pushd $ROOT_PATH > /dev/null
# TODO use command instead of makefile
-CMD="export OPTIONS='-DBUILD_NEURUN=ON -DBUILD_PURE_ARM_COMPUTE=OFF' && \
- make && \
+CMD="make && \
make install && \
make build_test_suite"
source nnfw docker-run-user bash -c "$CMD"
pushd $ROOT_PATH > /dev/null
# TODO use command instead of makefile
-CMD="make && \
+CMD="export OPTIONS='-DBUILD_NEURUN=OFF -DBUILD_PURE_ARM_COMPUTE=ON' && \
+ make && \
make install && \
make build_test_suite"
source nnfw docker-run-user bash -c "${CMD}"
pushd $ROOT_PATH > /dev/null
# TODO use command instead of makefile
-CMD="export OPTIONS+='-DBUILD_NEURUN=ON -DBUILD_PURE_ARM_COMPUTE=OFF' && \
- make && \
+CMD="make && \
make install && \
make build_coverage_suite"
source nnfw docker-run-user bash -c "$CMD"
pushd $ROOT_PATH > /dev/null
-CMD="export OPTIONS+='-DBUILD_NEURUN=ON -DBUILD_PURE_ARM_COMPUTE=OFF' && \
- make && \
+CMD="make && \
make install && \
make build_test_suite"
DOCKER_ENV_VARS+=" -e OP_BACKEND_ALLOPS=cpu"
source nnfw docker-run-user ./tests/scripts/test_driver.sh \
- --ldlibrarypath=$ROOT_PATH/Product/out/lib/neurun \
+ --ldlibrarypath=$ROOT_PATH/Product/out/lib \
--frameworktest_list_file=./tests/scripts/neurun_frameworktest_list.x86-64.cpu.txt \
--reportdir=$ROOT_PATH/report/ .
pushd $ROOT_PATH > /dev/null
-source ./tests/scripts/test_driver.sh .
+cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.pacl ./Product/out/unittest/nnapi_gtest.skip
+source ./tests/scripts/test_driver.sh \
+ --frameworktest_list_file=tests/scripts/pacl_frameworktest_list.armv7l-linux.txt \
+ --ldlibrarypath="$ROOT_PATH/Product/out/lib/pureacl:$ROOT_PATH/Product/out/lib" \
+ --reportdir="$ROOT_PATH/report" .
popd > /dev/null
export OP_BACKEND_ALLOPS=acl_cl
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.neurun ./Product/out/unittest/nnapi_gtest.skip
+cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux ./Product/out/unittest/nnapi_gtest.skip
export EXECUTOR=Linear
source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.acl_cl.txt \
- --ldlibrarypath="$ROOT_PATH/Product/out/lib/neurun:$ROOT_PATH/Product/out/lib" \
+ --ldlibrarypath="$ROOT_PATH/Product/out/lib" \
--reportdir="$ROOT_PATH/report/acl_cl" .
export EXECUTOR=Dataflow
source ./tests/scripts/test_driver.sh \
- --frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.acl_cl.txt \
- --ldlibrarypath="$ROOT_PATH/Product/out/lib/neurun:$ROOT_PATH/Product/out/lib" \
+ --ldlibrarypath="$ROOT_PATH/Product/out/lib" \
--reportdir="$ROOT_PATH/report/acl_cl" .
popd > /dev/null
export OP_BACKEND_ALLOPS=acl_neon
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.neurun.acl_neon ./Product/out/unittest/nnapi_gtest.skip
+cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.acl_neon ./Product/out/unittest/nnapi_gtest.skip
export EXECUTOR=Linear
source ./tests/scripts/test_driver.sh \
--frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.acl_neon.txt \
- --ldlibrarypath="$ROOT_PATH/Product/out/lib/neurun:$ROOT_PATH/Product/out/lib" \
+ --ldlibrarypath="$ROOT_PATH/Product/out/lib" \
--reportdir="$ROOT_PATH/report/acl_neon" .
export EXECUTOR=Dataflow
source ./tests/scripts/test_driver.sh \
--frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.acl_neon.txt \
- --ldlibrarypath="$ROOT_PATH/Product/out/lib/neurun:$ROOT_PATH/Product/out/lib" \
+ --ldlibrarypath="$ROOT_PATH/Product/out/lib" \
--reportdir="$ROOT_PATH/report/acl_neon" .
export OP_BACKEND_ALLOPS=cpu
-cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.neurun.cpu ./Product/out/unittest/nnapi_gtest.skip
+cp -v ./Product/out/unittest/nnapi_gtest.skip.armv7l-linux.cpu ./Product/out/unittest/nnapi_gtest.skip
export EXECUTOR=Linear
source ./tests/scripts/test_driver.sh \
--frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.cpu.txt \
- --ldlibrarypath="$ROOT_PATH/Product/out/lib/neurun:$ROOT_PATH/Product/out/lib" \
+ --ldlibrarypath="$ROOT_PATH/Product/out/lib" \
--reportdir="$ROOT_PATH/report/cpu" .
export EXECUTOR=Dataflow
source ./tests/scripts/test_driver.sh \
--frameworktest_list_file=tests/scripts/neurun_frameworktest_list.armv7l.cpu.txt \
- --ldlibrarypath="$ROOT_PATH/Product/out/lib/neurun:$ROOT_PATH/Product/out/lib" \
+ --ldlibrarypath="$ROOT_PATH/Product/out/lib" \
--reportdir="$ROOT_PATH/report/cpu" .
popd > /dev/null
MODELFILE_SERVER_PATH="https://storage.googleapis.com/download.tensorflow.org/models/tflite"
MODELFILE_NAME="mobilenet_v1_0.25_128_float_2017_11_08.zip"
-STATUS="enabled"
MODELFILE_NAME="concat_test_2d.tflite"
-STATUS="disabled"
MODELFILE_NAME="exp_4d.tflite"
-STATUS="enabled"
MODELFILE_NAME="sigmoid_test.tflite"
+STATUS="disabled"
MODELFILE_NAME="neg_4d.tflite"
-STATUS="enabled"
MODELFILE_NAME="pad_4d_2d_test.tflite"
+STATUS="disabled"
-# REDUCE_MAX is supported after tensorflow 1.10
MODELFILE_NAME="reduce_max_1d.tflite"
-STATUS="disabled"
-# REDUCE_MEAN is supported after tensorflow 1.10
MODELFILE_NAME="reduce_mean_test.tflite"
-STATUS="disabled"
-# REDUCE_MEAN is supported after tensorflow 1.10
MODELFILE_NAME="reduce_mean_test_2.tflite"
-STATUS="disabled"
MODELFILE_NAME="rsqrt_4d.tflite"
-STATUS="disabled"
target_include_directories(${RUNTIME_NNAPI_TEST} PRIVATE ${RUNTIME_NNAPI_TEST_SRC_INC})
if (BUILD_NEURUN)
- set(SKIPLIST_FILE_NAME ${RUNTIME_NNAPI_TEST}.skip.${TARGET_PLATFORM}.neurun)
-elseif (BUILD_PURE_ARM_COMPUTE)
set(SKIPLIST_FILE_NAME ${RUNTIME_NNAPI_TEST}.skip.${TARGET_PLATFORM})
+elseif (BUILD_PURE_ARM_COMPUTE)
+ set(SKIPLIST_FILE_NAME ${RUNTIME_NNAPI_TEST}.skip.${TARGET_PLATFORM}.pacl)
endif()
target_link_libraries(${RUNTIME_NNAPI_TEST} nnapi-header)
target_link_libraries(${RUNTIME_NNAPI_TEST} gtest)
-GeneratedTests.greater_equal_ex*
-GeneratedTests.less_ex*
-GeneratedTests.lsh_projection
-GeneratedTests.lsh_projection_2
-GeneratedTests.lsh_projection_weights_as_inputs
-GeneratedTests.lstm
-GeneratedTests.lstm2
-GeneratedTests.lstm2_state
-GeneratedTests.lstm2_state2
-GeneratedTests.lstm3
-GeneratedTests.lstm3_state
-GeneratedTests.lstm3_state2
-GeneratedTests.lstm3_state3
-GeneratedTests.lstm_state
-GeneratedTests.lstm_state2
-GeneratedTests.pack*
-GeneratedTests.svdf
-GeneratedTests.svdf2
-GeneratedTests.svdf_state
-ValidationTestCompilation.CreateExecution
-ValidationTestCompilation.Finish
-ValidationTestCompilation.SetPreference
-ValidationTestExecution.EventWait
-ValidationTestExecution.SetInput
-ValidationTestExecution.SetInputFromMemory
-ValidationTestExecution.SetOutput
-ValidationTestExecution.SetOutputFromMemory
+#
+# Following tests will be skipped on armv7l-linux
+#
+# Not support operations
ValidationTestExecution.StartCompute
-ValidationTestIdentify.DuplicateInputs
-ValidationTestIdentify.DuplicateOutputs
-ValidationTestIdentify.InputIsOutput
-ValidationTestIdentify.OutputIsInput
-ValidationTestModel.AddOperand
-ValidationTestModel.CreateCompilation
-ValidationTestModel.Finish
-ValidationTestModel.IdentifyInputsAndOutputs
-ValidationTestModel.SetOperandValue
-ValidationTestModel.SetOperandValueFromMemory
+GeneratedTests.lsh_projection*
+GeneratedTests.lstm*
+GeneratedTests.mobilenet*
+GeneratedTests.rnn*
+GeneratedTests.pad*
+GeneratedTests.svdf*
+GeneratedTests.batch_to_space*
+GeneratedTests.space_to_batch*
+# Unexpected result
+GeneratedTests.split*
+GeneratedTests.pack*
+GeneratedTests.unpack*
+# Not support broadcast
+GeneratedTests.logical_or_ex_broadcast_4D_2D
+++ /dev/null
-#
-# Following tests will be skipped on armv7l-linux
-#
-# Not support operations
-ValidationTestExecution.StartCompute
-GeneratedTests.lsh_projection*
-GeneratedTests.lstm*
-GeneratedTests.mobilenet*
-GeneratedTests.rnn*
-GeneratedTests.pad*
-GeneratedTests.svdf*
-GeneratedTests.batch_to_space*
-GeneratedTests.space_to_batch*
-# Unexpected result
-GeneratedTests.split*
-GeneratedTests.pack*
-GeneratedTests.unpack*
-# Not support broadcast
-GeneratedTests.logical_or_ex_broadcast_4D_2D
--- /dev/null
+GeneratedTests.greater_equal_ex*
+GeneratedTests.less_ex*
+GeneratedTests.lsh_projection
+GeneratedTests.lsh_projection_2
+GeneratedTests.lsh_projection_weights_as_inputs
+GeneratedTests.lstm
+GeneratedTests.lstm2
+GeneratedTests.lstm2_state
+GeneratedTests.lstm2_state2
+GeneratedTests.lstm3
+GeneratedTests.lstm3_state
+GeneratedTests.lstm3_state2
+GeneratedTests.lstm3_state3
+GeneratedTests.lstm_state
+GeneratedTests.lstm_state2
+GeneratedTests.pack*
+GeneratedTests.svdf
+GeneratedTests.svdf2
+GeneratedTests.svdf_state
+ValidationTestCompilation.CreateExecution
+ValidationTestCompilation.Finish
+ValidationTestCompilation.SetPreference
+ValidationTestExecution.EventWait
+ValidationTestExecution.SetInput
+ValidationTestExecution.SetInputFromMemory
+ValidationTestExecution.SetOutput
+ValidationTestExecution.SetOutputFromMemory
+ValidationTestExecution.StartCompute
+ValidationTestIdentify.DuplicateInputs
+ValidationTestIdentify.DuplicateOutputs
+ValidationTestIdentify.InputIsOutput
+ValidationTestIdentify.OutputIsInput
+ValidationTestModel.AddOperand
+ValidationTestModel.CreateCompilation
+ValidationTestModel.Finish
+ValidationTestModel.IdentifyInputsAndOutputs
+ValidationTestModel.SetOperandValue
+ValidationTestModel.SetOperandValueFromMemory
-add/1D
-add/4D
-argmax
+add
average_pool_2d
cast
-concat
-conv_2d
+concat/concat1
+concat/concat2
+conv2d
depthwise_conv_2d
-div/broadcast
+div
embedding_lookup
-equal
exp
floor
fullyconnected/fc1
gather
-l2_pool_2d
hashtable_lookup
l2_normalization
-local_response_normalization
+l2_pool_2d
+logistic
max_pool_2d
mean
+MODELS/inception_module
MODELS/mobilenet
-mul/broadcast
+mul
neg
-not_equal
-prelu
-softmax
-reduce_max
-reduce_min
+pad/4D_2D
relu
-reshape
-rsqrt
-relu6
+reul6
reshape
resize_bilinear
+softmax
space_to_depth
+squeeze
strided_slice
-sub/broadcast
+sub
tanh
topk_v2
transpose
-transpose_conv
-MODELS/inception_module
-squeeze
-custom