Decouple CpuPoolingKernel data type and data layout
1. Decouple data layout for CpuPoolingKernel: NCHW & NHWC
2. Decouple data type for CpuPoolingKernel NHWC
Partially solves: COMPMID-3999
Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I3c6535eebdddeb467b7c68a7287a16959b5b9695
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5039
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/SConstruct b/SConstruct
index d5461af..5d2002a 100644
--- a/SConstruct
+++ b/SConstruct
@@ -68,6 +68,7 @@
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", "integer"]),
+ ListVariable("data_layout_support", "Enable a list of data layout to support", "all", ["nhwc", "nchw"]),
("toolchain_prefix", "Override the toolchain prefix", ""),
("compiler_prefix", "Override the compiler prefix", ""),
("extra_cxx_flags", "Extra CXX flags to be appended to the build command", ""),
@@ -315,6 +316,12 @@
if any(i in env['data_type_support'] for i in ['all', 'integer']):
env.Append(CXXFLAGS = ['-DENABLE_INTEGER_KERNELS'])
+if env['data_layout_support']:
+ if any(i in env['data_layout_support'] for i in ['all', 'nhwc']):
+ env.Append(CXXFLAGS = ['-DENABLE_NHWC_KERNELS'])
+ if any(i in env['data_layout_support'] for i in ['all', 'nchw']):
+ env.Append(CXXFLAGS = ['-DENABLE_NCHW_KERNELS'])
+
if env['standalone']:
env.Append(CXXFLAGS = ['-fPIC'])
env.Append(LINKFLAGS = ['-static-libgcc','-static-libstdc++'])