aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules4
m---------3rdparty0
-rw-r--r--SConstruct3
-rw-r--r--docs/00_introduction.dox23
-rw-r--r--examples/SConscript30
-rwxr-xr-xscripts/clang_tidy_rules.py7
-rw-r--r--tests/SConscript36
7 files changed, 58 insertions, 45 deletions
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index da9bc32fee..0000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,4 +0,0 @@
-[submodule "3rdparty"]
- path = 3rdparty
- url = https://eu-gerrit-1.euhpc.arm.com/VisualCompute/3rdparty
- branch = master
diff --git a/3rdparty b/3rdparty
deleted file mode 160000
-Subproject 679eadd4df491b26b8b824690348e334ad588c7
diff --git a/SConstruct b/SConstruct
index 15197a632f..b543bc0ebb 100644
--- a/SConstruct
+++ b/SConstruct
@@ -64,8 +64,7 @@ vars.AddVariables(
PathVariable("install_dir", "Specify sub-folder for the install", "", PathVariable.PathAccept),
BoolVariable("exceptions", "Enable/disable C++ exception support", True),
PathVariable("linker_script", "Use an external linker script", "", PathVariable.PathAccept),
- #FIXME Remove before release (And remove all references to INTERNAL_ONLY)
- BoolVariable("internal_only", "Enable ARM internal only tests", False),
+ PathVariable("external_tests_dir", "Add examples, benchmarks and tests to the tests suite", "", PathVariable.PathAccept),
ListVariable("custom_options", "Custom options that can be used to turn on/off features", "none", ["disable_mmla_fp"]),
ListVariable("data_type_support", "Enable a list of data types to support", "all", ["qasymm8", "qasymm8_signed", "qsymm16", "fp16", "fp32"]),
("toolchain_prefix", "Override the toolchain prefix", ""),
diff --git a/docs/00_introduction.dox b/docs/00_introduction.dox
index 448025846b..189067c81f 100644
--- a/docs/00_introduction.dox
+++ b/docs/00_introduction.dox
@@ -1481,6 +1481,10 @@ To see the build options available simply run ```scons -h```:
default: False
actual: False
+ external_tests_dir: Add examples, benchmarks and tests to the tests suite from an external path ( /path/to/external_tests_dir )
+ default:
+ actual:
+
@b debug / @b asserts:
- With debug=1 asserts are enabled, and the library is built with symbols and no optimisations enabled.
- With debug=0 and asserts=1: Optimisations are enabled and symbols are removed, however all the asserts are still present (This is about 20% slower than the release build)
@@ -1535,6 +1539,25 @@ Example:
@sa Scheduler::set
+@b external_tests_dir Add examples, benchmarks and tests to the tests suite from an external path ( /path/to/external_tests_dir )
+
+In order to use this option, the external tests directory must have the following structure:
+
+ EXTERNAL_TESTS_DIR:
+ └── tests
+ ├── benchmark
+ │   ├── CL
+ │   ├── datasets
+ │   ├── fixtures
+ │   └── NEON
+ └── validation
+    ├── CL
+     ├── datasets
+     ├── fixtures
+     └── NEON
+
+Then, build the library with `external_tests_dir=<PATH_TO_EXTERNAL_TESTS_DIR>`.
+
@subsection S3_2_linux Building for Linux
@subsubsection S3_2_1_library How to build the library ?
diff --git a/examples/SConscript b/examples/SConscript
index cd07c6a15a..ff457faf38 100644
--- a/examples/SConscript
+++ b/examples/SConscript
@@ -131,19 +131,19 @@ if env['gles_compute']:
alias = examples_env.Alias(example, prog)
Default(alias)
-#FIXME Delete 3rdparty builds before release
-for file in Glob("#3rdparty/examples/graph_*.cpp"):
- example = os.path.basename(os.path.splitext(str(file))[0])
- prog = None
+if env['external_tests_dir']:
+ for file in Glob(env['external_tests_dir'] + "/examples/graph_*.cpp"):
+ example = os.path.basename(os.path.splitext(str(file))[0])
+ prog = None
- if env['os'] in ['android', 'bare_metal'] or env['standalone']:
- prog = examples_env.Program(example, [examples_env.Object(source=file, target=example), utils, graph_utils], LIBS = examples_libs + arm_compute_graph_libs, LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--whole-archive',graph_dependency,'-Wl,--no-whole-archive'] + extra_link_flags)
- Depends(prog, graph_dependency)
- prog = install_bin(prog)
- else:
- #-Wl,--allow-shlib-undefined: Ignore dependencies of dependencies
- prog = examples_env.Program(example, [examples_env.Object(source=file, target=example), utils, graph_utils], LIBS = examples_libs + arm_compute_graph_libs, LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--allow-shlib-undefined'] )
- Depends(prog, graph_dependency)
- prog = install_bin(prog)
- alias = examples_env.Alias(example, prog)
- Default(alias)
+ if env['os'] in ['android', 'bare_metal'] or env['standalone']:
+ prog = examples_env.Program(example, [examples_env.Object(source=file, target=example), utils, graph_utils], LIBS = examples_libs + arm_compute_graph_libs, LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--whole-archive',graph_dependency,'-Wl,--no-whole-archive'] + extra_link_flags)
+ Depends(prog, graph_dependency)
+ prog = install_bin(prog)
+ else:
+ #-Wl,--allow-shlib-undefined: Ignore dependencies of dependencies
+ prog = examples_env.Program(example, [examples_env.Object(source=file, target=example), utils, graph_utils], LIBS = examples_libs + arm_compute_graph_libs, LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--allow-shlib-undefined'] )
+ Depends(prog, graph_dependency)
+ prog = install_bin(prog)
+ alias = examples_env.Alias(example, prog)
+ Default(alias)
diff --git a/scripts/clang_tidy_rules.py b/scripts/clang_tidy_rules.py
index 1e24b042de..ddf25384f2 100755
--- a/scripts/clang_tidy_rules.py
+++ b/scripts/clang_tidy_rules.py
@@ -11,8 +11,7 @@ def get_list_includes():
"src/core/NEON/kernels/assembly " \
"src/core/NEON/kernels/convolution/winograd " \
"include/linux include " \
- ". " \
- "3rdparty/include kernels".split()
+ ". ".split()
def get_list_flags( filename, arch):
assert arch in ["armv7", "aarch64"]
@@ -64,7 +63,6 @@ def filter_clang_tidy_lines( lines ):
("Utils.h" in line and "no member named 'unmap' in 'arm_compute::Tensor'" in line) or
("Utils.h" in line and "no member named 'map' in 'arm_compute::Tensor'" in line) or
("CPUUtils.cpp" in line and "'asm/hwcap.h' file not found" in line) or
- "3rdparty" in line or
("'arm_compute_version.embed' file not found" in line) ):
print_context=False
continue
@@ -119,8 +117,7 @@ def filter_clang_tidy_lines( lines ):
("GCKernelLibrary.cpp" in line and "warning: do not declare C-style arrays" in line) or
("Utils.h" in line and "warning: Use of zero-allocated memory" in line) or
("NEDepthwiseConvolutionLayerNativeKernel.cpp" in line and "misc-non-private-member-variables-in-classes" in line) or # This is to prevent false positive, should be reassessed with the newer clang-tidy
- ("NEDepthwiseConvolutionLayerNativeKernel.cpp" in line and "cppcoreguidelines-pro-type-member-init" in line) or # This is to prevent false positive, should be reassessed with the newer clang-tidy
- "3rdparty" in line):
+ ("NEDepthwiseConvolutionLayerNativeKernel.cpp" in line and "cppcoreguidelines-pro-type-member-init" in line)): # This is to prevent false positive, should be reassessed with the newer clang-tidy
print_context=False
continue
diff --git a/tests/SConscript b/tests/SConscript
index 6fc67af747..565aeac4a1 100644
--- a/tests/SConscript
+++ b/tests/SConscript
@@ -88,20 +88,16 @@ else:
if env['os'] in ['bare_metal']:
Import("bootcode_o")
-#FIXME Delete before release
-if env['internal_only']:
- test_env.Append(CPPDEFINES=['INTERNAL_ONLY'])
-
-test_env.Append(CPPPATH = ["#3rdparty/include"])
-test_env.Append(LIBPATH = ["#3rdparty/%s/%s" % (env['os'], env['arch'])])
+if env['external_tests_dir']:
+ test_env.Append(CPPPATH = [env['external_tests_dir'] + "/include"])
+ test_env.Append(LIBPATH = [env['external_tests_dir'] + "/%s/%s" % (env['os'], env['arch'])])
common_files = Glob('*.cpp')
common_objects = [test_env.StaticObject(f) for f in common_files]
files_benchmark = Glob('benchmark/*.cpp')
-#FIXME Delete before release
-if env['internal_only']:
- files_benchmark += Glob('../3rdparty/tests/benchmark/*.cpp')
+if env['external_tests_dir']:
+ files_benchmark += Glob(env['external_tests_dir'] + '/tests/benchmark/*.cpp')
# Add unit tests
files_validation = Glob('validation/UNIT/*/*.cpp')
@@ -118,23 +114,20 @@ if env['opencl']:
files_benchmark += Glob('benchmark/CL/*/' + filter_pattern)
files_benchmark += Glob('benchmark/CL/' + filter_pattern)
- #FIXME Delete before release
- if env['internal_only']:
- files_benchmark += Glob('../3rdparty/tests/benchmark/CL/' + filter_pattern)
+ if env['external_tests_dir']:
+ files_benchmark += Glob(env['external_tests_dir'] + '/tests/benchmark/CL/' + filter_pattern)
files_validation += Glob('validation/CL/*/' + filter_pattern)
files_validation += Glob('validation/CL/' + filter_pattern)
- #FIXME Delete before release
- if env['internal_only']:
- files_validation += Glob('../3rdparty/tests/validation/CL/' + filter_pattern)
+ if env['external_tests_dir']:
+ files_validation += Glob(env['external_tests_dir'] + '/tests/validation/CL/' + filter_pattern)
if env['neon']:
filter_pattern = test_env['test_filter']
files_benchmark += Glob('benchmark/NEON/*/' + filter_pattern)
files_benchmark += Glob('benchmark/NEON/' + filter_pattern)
- #FIXME Delete before release
- if env['internal_only']:
- files_benchmark += Glob('../3rdparty/tests/benchmark/NEON/' + filter_pattern)
+ if env['external_tests_dir']:
+ files_benchmark += Glob(env['external_tests_dir'] + '/tests/benchmark/NEON/' + filter_pattern)
files_validation += Glob('validation/NEON/' + filter_pattern)
if env['os'] == 'bare_metal':
@@ -143,6 +136,8 @@ if env['neon']:
files_validation += Glob('validation/NEON/UNIT/TensorAllocator.cpp' + filter_pattern)
else:
files_validation += Glob('validation/NEON/*/' + filter_pattern)
+ if env['external_tests_dir']:
+ files_validation += Glob(env['external_tests_dir'] + '/tests/validation/NEON/' + filter_pattern)
if env['gles_compute']:
@@ -241,7 +236,10 @@ if test_env['benchmark_examples']:
graph_utils = test_env.Object(source="../utils/GraphUtils.cpp", target="GraphUtils")
graph_params = test_env.Object(source="../utils/CommonGraphOptions.cpp", target="CommonGraphOptions")
arm_compute_benchmark_examples = []
- for examples_folder in [ "../examples", "../3rdparty/examples"]:
+ all_examples_folders = ["../examples"]
+ if env['external_tests_dir']:
+ all_examples_folders.append(env['external_tests_dir'] + "/examples")
+ for examples_folder in all_examples_folders:
if test_env['neon']:
for file in Glob("%s/neon_*.cpp" % examples_folder):
example = "benchmark_" + os.path.basename(os.path.splitext(str(file))[0])