diff options
author | David Svantesson <david.svantesson@arm.com> | 2023-02-22 11:08:57 +0000 |
---|---|---|
committer | David Svantesson <david.svantesson@arm.com> | 2023-02-24 14:32:23 +0000 |
commit | 4537089a5cd17e49f5bb8d5e7f8374e451872387 (patch) | |
tree | b475936988d47584a182cee0808172bac0023804 /tests | |
parent | 08bc348b9282f73ddd53795e10161104d9a4fd51 (diff) | |
download | ComputeLibrary-4537089a5cd17e49f5bb8d5e7f8374e451872387.tar.gz |
Fixes for CMake and Bazel builds, tests failing in scons
- Fix 4 failing tests for multi_isa builds when experimental_fixed_format_kernels=1
- Fixes for CMake and Bazel builds to pass validation tests
- Update documentation, remove “-DCPPTHREADS=1” flag from CMake build example
Partially resolves: ONCPUML-1181
Signed-off-by: David Svantesson <david.svantesson@arm.com>
Change-Id: I7101676260a0adcb7b6ff6f4342ae36f921e7120
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9189
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/BUILD.bazel | 65 | ||||
-rw-r--r-- | tests/validation/NEON/ConvolutionLayer.cpp | 10 |
2 files changed, 69 insertions, 6 deletions
diff --git a/tests/BUILD.bazel b/tests/BUILD.bazel index 57ea3f6576..8122652991 100644 --- a/tests/BUILD.bazel +++ b/tests/BUILD.bazel @@ -35,8 +35,23 @@ cc_library( "validation/**/*.h", ]), copts = [ - "-march=armv8.2-a+fp16", - ], + "-march=armv8.2-a+fp16", + ] + select({ + "//:debug_flag": [ + "-O0", + "-g", + "-gdwarf-2", + ], + "//conditions:default": ["-O3"], + }) + + select({ + "//:openmp_flag": ["-fopenmp"], + "//conditions:default": [], + }) + + select({ + "//:Werror_flag": ["-Werror"], + "//conditions:default": [], + }), linkstatic = True, deps = [ "//:arm_compute", @@ -60,9 +75,23 @@ cc_binary( "instruments/*.h", ]), copts = [ - "-march=armv8.2-a+fp16", - "-ffp-contract=off", - ], + "-march=armv8.2-a+fp16", + ] + select({ + "//:debug_flag": [ + "-O0", + "-g", + "-gdwarf-2", + ], + "//conditions:default": ["-O3"], + }) + + select({ + "//:openmp_flag": ["-fopenmp"], + "//conditions:default": [], + }) + + select({ + "//:Werror_flag": ["-Werror"], + "//conditions:default": [], + }), linkstatic = True, deps = [ ":validation_framework", @@ -71,6 +100,13 @@ cc_binary( "//:common_defines", "//tests/framework", ], + local_defines = [] + + select({ + "//:bf16_validation_flag": [ + "ARM_COMPUTE_ENABLE_BF16", + ], + "//conditions:default": [], + }) ) #--------------------------------------------------------------------- @@ -82,7 +118,24 @@ cc_binary( "benchmark/NEON/*.cpp", "*.cpp", ]), - copts = ["-march=armv8.2-a+fp16"], + copts = [ + "-march=armv8.2-a+fp16", + ] + select({ + "//:debug_flag": [ + "-O0", + "-g", + "-gdwarf-2", + ], + "//conditions:default": ["-O3"], + }) + + select({ + "//:openmp_flag": ["-fopenmp"], + "//conditions:default": [], + }) + + select({ + "//:Werror_flag": ["-Werror"], + "//conditions:default": [], + }), linkstatic = True, deps = [ ":arm_compute_validation", diff --git a/tests/validation/NEON/ConvolutionLayer.cpp b/tests/validation/NEON/ConvolutionLayer.cpp index 08b6a02375..ea161a11ab 100644 --- a/tests/validation/NEON/ConvolutionLayer.cpp +++ b/tests/validation/NEON/ConvolutionLayer.cpp @@ -530,6 +530,7 @@ TEST_SUITE_END() // FP16 TEST_SUITE_END() // WinogradLayer #ifdef ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS +TEST_SUITE(FIXED_FORMAT_KERNELS) TEST_SUITE(VariableWeightUtils) // UC2_1_* tests: the user requests a specific fixed format, but there is no kernel that supports it. @@ -588,6 +589,8 @@ FIXTURE_DATA_TEST_CASE(UC2_2_NEGEMMConvolutionLayer, HasOptImplFixtureNoFastMath ARM_COMPUTE_EXPECT(_computed_weight_format == arm_compute::WeightFormat::OHWIo4, framework::LogLevel::ERRORS); } +#if defined(ARM_COMPUTE_ENABLE_BF16) + FIXTURE_DATA_TEST_CASE(UC2_2_CpuGemmConv2d_FastMath, HasOptImplFixtureFastMath<cpu::CpuGemmConv2d>, framework::DatasetMode::ALL, combine(framework::dataset::make("DataType", { DataType::F32 }), framework::dataset::make("QueryWeightFormat", { arm_compute::WeightFormat::OHWIo8i4_bf16 }))) @@ -604,6 +607,8 @@ FIXTURE_DATA_TEST_CASE(UC2_2_NEGEMMConvolutionLayer_FastMath, HasOptImplFixtureF ARM_COMPUTE_EXPECT(_computed_weight_format == arm_compute::WeightFormat::OHWIo8i4_bf16, framework::LogLevel::ERRORS); } +#endif // ARM_COMPUTE_ENABLE_BF16 + // UC3_1_* tests: the user queries for ANY fixed format, but there is // no kernel that support the use case specified by the user (for // example, there is no fixed format kernel for the datatype of the @@ -664,6 +669,8 @@ FIXTURE_DATA_TEST_CASE(UC3_2_NEGEMMConvolutionLayer, HasOptImplFixtureNoFastMath ARM_COMPUTE_EXPECT(_computed_weight_format != arm_compute::WeightFormat::UNSPECIFIED, framework::LogLevel::ERRORS); } +#if defined(ARM_COMPUTE_ENABLE_BF16) + FIXTURE_DATA_TEST_CASE(UC3_2_CpuGemmConv2d_FastMath, HasOptImplFixtureFastMath<cpu::CpuGemmConv2d>, framework::DatasetMode::ALL, combine(framework::dataset::make("DataType", { DataType::F32 }), framework::dataset::make("QueryWeightFormat", { arm_compute::WeightFormat::ANY }))) @@ -684,6 +691,8 @@ FIXTURE_DATA_TEST_CASE(UC3_2_NEGEMMConvolutionLayer_FastMath, HasOptImplFixtureF ARM_COMPUTE_EXPECT(arm_compute::is_fixed_format_fast_math(_computed_weight_format), framework::LogLevel::ERRORS); } +#endif // ARM_COMPUTE_ENABLE_BF16 + namespace { using TestCaseType = std::tuple<TensorShape, TensorShape, arm_compute::WeightFormat>; @@ -839,6 +848,7 @@ FIXTURE_DATA_TEST_CASE(NEGEMMRunSmallFloatFastMath, NEGEMMVarWidthFastMath<float #endif // ARM_COMPUTE_ENABLE_BF16 TEST_SUITE_END() // ExperimentalNEAPIVariableWeightWithFixtures +TEST_SUITE_END() // FIXED_FORMAT_KERNELS #endif // ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS |