From b4c493430567bff25e61e9df0dbab554c29f635d Mon Sep 17 00:00:00 2001 From: Ryan OShea Date: Tue, 25 Jul 2023 14:28:27 +0100 Subject: IVGCVSW-7880 Add check for FP16 backend support * Check if preferred backends have FP16 support before enable fp16-turbo-mode * Unit tests * Replaced global gpuAccCapabilities with getter method construction * Replaced deprecated function call in SL shim Signed-off-by: Narumol Prangnawarat Signed-off-by: Ryan OShea Change-Id: If29b62b330ca8987de8acf6408db11daf25ca0b5 --- src/backends/cl/test/ClOptimizedNetworkTests.cpp | 30 +++++++++++++++++------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'src/backends/cl/test') diff --git a/src/backends/cl/test/ClOptimizedNetworkTests.cpp b/src/backends/cl/test/ClOptimizedNetworkTests.cpp index 3d4341df18..9d721c08ed 100644 --- a/src/backends/cl/test/ClOptimizedNetworkTests.cpp +++ b/src/backends/cl/test/ClOptimizedNetworkTests.cpp @@ -11,6 +11,7 @@ #include #include +#include #include @@ -94,15 +95,28 @@ TEST_CASE("FP16TurboModeTestOnGpuAcc") const armnn::Graph& graph = GetGraphForTesting(optimizedNet.get()); - // Tests that all layers are present in the graph. - CHECK(graph.GetNumLayers() == 5); + if(arm_compute::CLKernelLibrary::get().fp16_supported()) + { + // Tests that all layers are present in the graph. + CHECK(graph.GetNumLayers() == 5); + + // Tests that the vertices exist and have correct names. + CHECK(GraphHasNamedLayer(graph, "input layer")); + CHECK(GraphHasNamedLayer(graph, "convert_fp32_to_fp16-0-input layer")); + CHECK(GraphHasNamedLayer(graph, "activation layer")); + CHECK(GraphHasNamedLayer(graph, "convert_fp16_to_fp32-0-output layer")); + CHECK(GraphHasNamedLayer(graph, "output layer")); + } + else + { + // Tests that all layers except for conversion layers are present in the graph. + CHECK(graph.GetNumLayers() == 3); - // Tests that the vertices exist and have correct names. - CHECK(GraphHasNamedLayer(graph, "input layer")); - CHECK(GraphHasNamedLayer(graph, "convert_fp32_to_fp16-0-input layer")); - CHECK(GraphHasNamedLayer(graph, "activation layer")); - CHECK(GraphHasNamedLayer(graph, "convert_fp16_to_fp32-0-output layer")); - CHECK(GraphHasNamedLayer(graph, "output layer")); + // Tests that the vertices exist and have correct names. + CHECK(GraphHasNamedLayer(graph, "input layer")); + CHECK(GraphHasNamedLayer(graph, "activation layer")); + CHECK(GraphHasNamedLayer(graph, "output layer")); + } } TEST_CASE("FastMathEnabledTestOnGpuAcc") -- cgit v1.2.1