aboutsummaryrefslogtreecommitdiff
path: root/tests/SConscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/SConscript')
-rw-r--r--tests/SConscript45
1 files changed, 30 insertions, 15 deletions
diff --git a/tests/SConscript b/tests/SConscript
index df7a6c5686..0907c5713b 100644
--- a/tests/SConscript
+++ b/tests/SConscript
@@ -1,6 +1,7 @@
+#!/usr/bin/python
# -*- coding: utf-8 -*-
-# Copyright (c) 2017-2021 Arm Limited.
+# Copyright (c) 2017-2023,2024 Arm Limited.
#
# SPDX-License-Identifier: MIT
#
@@ -21,7 +22,6 @@
# 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.
-import SCons
import os.path
Import('env')
@@ -68,7 +68,8 @@ Import("arm_compute_test_framework")
test_env.Append(LIBS = arm_compute_test_framework)
# Disable floating-point expression contraction (e.g. fused multiply-add operations)
-test_env.Append(CXXFLAGS = ['-ffp-contract=off'])
+if not 'windows' in env['os']:
+ test_env.Append(CXXFLAGS = ['-ffp-contract=off'])
# Remove -Wnoexcept from tests
if 'g++' in test_env['CXX'] and '-Wnoexcept' in test_env['CXXFLAGS']:
@@ -78,18 +79,19 @@ load_whole_archive = '-Wl,--whole-archive'
noload_whole_archive = '-Wl,--no-whole-archive'
if 'macos' in test_env['os']:
load_whole_archive = '-Wl,-force_load'
- noload_whole_archive = '-Wl,-noall_load'
+ noload_whole_archive = ''
+
+if (env['multi_isa']):
+ test_env.Append(CPPDEFINES=['ARM_COMPUTE_ENABLE_BF16'])
if env['os'] in ['android', 'macos', 'bare_metal'] or env['standalone']:
Import("arm_compute_a")
- Import("arm_compute_core_a")
Import("arm_compute_graph_a")
- test_env.Append(LIBS = [arm_compute_graph_a, arm_compute_a, arm_compute_core_a])
+ test_env.Append(LIBS = [arm_compute_graph_a, arm_compute_a])
arm_compute_lib = arm_compute_graph_a
else:
Import("arm_compute_graph_so")
- Import("arm_compute_core_a")
- test_env.Append(LIBS = ["arm_compute_graph", "arm_compute", "arm_compute_core"])
+ test_env.Append(LIBS = ["arm_compute_graph", "arm_compute"])
arm_compute_lib = arm_compute_graph_so
if env['os'] in ['bare_metal']:
@@ -115,6 +117,10 @@ filter_pattern = test_env['test_filter']
files_validation += Glob('validation/CPP/' + filter_pattern)
if env['opencl']:
+ if env['experimental_dynamic_fusion']:
+ files_validation += Glob('validation/dynamic_fusion/gpu/' + filter_pattern)
+ files_validation += Glob('validation/dynamic_fusion/gpu/cl/' + filter_pattern)
+
filter_pattern = test_env['test_filter']
test_env.Append(CPPDEFINES=['ARM_COMPUTE_CL'])
@@ -126,6 +132,7 @@ if env['opencl']:
files_validation += Glob('validation/CL/*/' + filter_pattern)
files_validation += Glob('validation/CL/' + filter_pattern)
+
if env['external_tests_dir']:
files_validation += Glob(env['external_tests_dir'] + '/tests/validation/CL/' + filter_pattern)
files_validation += Glob('validation/gpu/unit/*.cpp')
@@ -134,6 +141,7 @@ if env['neon']:
filter_pattern = test_env['test_filter']
files_benchmark += Glob('benchmark/NEON/*/' + filter_pattern)
files_benchmark += Glob('benchmark/NEON/' + filter_pattern)
+ test_env.Append(CPPPATH = ["#/src/cpu/kernels/assembly/"])
if env['external_tests_dir']:
files_benchmark += Glob(env['external_tests_dir'] + '/tests/benchmark/NEON/' + filter_pattern)
@@ -151,7 +159,7 @@ if env['neon']:
extra_link_flags = []
if env['os'] == 'android':
test_env.Append(LIBS = ["log"])
-elif env['os'] not in ['bare_metal', 'macos']:
+elif env['os'] not in ['windows','bare_metal', 'macos']:
test_env.Append(LIBS = ["rt"])
extra_link_flags += ['-fstack-protector-strong']
@@ -167,14 +175,20 @@ bm_link_flags = []
if test_env['linker_script']:
bm_link_flags += ['-Wl,--build-id=none', '-T', env['linker_script']]
-if test_env['reference_openmp'] and env['os'] not in ['bare_metal', 'macos']:
- test_env['CXXFLAGS'].append('-fopenmp')
- test_env['LINKFLAGS'].append('-fopenmp')
+if test_env['reference_openmp'] and env['os'] not in ['bare_metal', 'macos','windows']:
+ test_env['CXXFLAGS'].append('-fopenmp')
+ test_env['LINKFLAGS'].append('-fopenmp')
+
+ if 'ndk_above_r21' in env:
+ test_env['LINKFLAGS'].append('-static-openmp')
+
+# Testing for fixed format GEMM kernels.
+if env['fixed_format_kernels'] and test_env['validation_tests']:
+ test_env.Append(CPPDEFINES = ['ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS'])
if test_env['validation_tests']:
- arm_compute_validation_framework = env.StaticLibrary('arm_compute_validation_framework', Glob('validation/reference/*.cpp') + Glob('validation/*.cpp'), LINKFLAGS=test_env['LINKFLAGS'], CXXFLAGS=test_env['CXXFLAGS'], LIBS= [ arm_compute_test_framework, arm_compute_core_a])
+ arm_compute_validation_framework = env.StaticLibrary('arm_compute_validation_framework', Glob('validation/reference/*.cpp') + Glob('validation/*.cpp'), LINKFLAGS=test_env['LINKFLAGS'], CXXFLAGS=test_env['CXXFLAGS'], LIBS= [ arm_compute_test_framework ])
Depends(arm_compute_validation_framework , arm_compute_test_framework)
- Depends(arm_compute_validation_framework , arm_compute_core_a)
program_objects = files_validation + common_objects
if test_env['os'] == 'bare_metal':
@@ -273,8 +287,9 @@ if test_env['benchmark_examples']:
#-Wl,--allow-shlib-undefined: Ignore dependencies of dependencies
prog = test_env.Program(example, [ test_env.Object(source=file, target=example), graph_utils, graph_params]+ files_benchmark_examples, LIBS = test_env["LIBS"] + ["arm_compute_graph"], LINKFLAGS=test_env["LINKFLAGS"]+['-Wl,--allow-shlib-undefined'])
arm_compute_benchmark_examples += [ prog ]
+
arm_compute_benchmark_examples = install_bin(arm_compute_benchmark_examples)
Depends(arm_compute_benchmark_examples, arm_compute_test_framework)
Depends(arm_compute_benchmark_examples, arm_compute_lib)
Default(arm_compute_benchmark_examples)
- Export('arm_compute_benchmark_examples') \ No newline at end of file
+ Export('arm_compute_benchmark_examples')