diff options
author | Francis Murtagh <francis.murtagh@arm.com> | 2021-02-15 18:23:17 +0000 |
---|---|---|
committer | Francis Murtagh <francis.murtagh@arm.com> | 2021-02-15 18:23:17 +0000 |
commit | 3d2b4b2bff3be27f12a99e0e01284078870ee954 (patch) | |
tree | 33a9ea2a3267707088fd0a4a727d73a4568bb0a6 /src/backends/cl | |
parent | 052fbe9c86628cfdc534c515d9b451aa8d3d1cb6 (diff) | |
download | armnn-3d2b4b2bff3be27f12a99e0e01284078870ee954.tar.gz |
IVGCVSW-4873 Implement Pimpl Idiom for INetwork and IOptimizedNetwork
!android-nn-driver:5042
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ia1ce8b839e81b46428ba0f78463e085e5906958d
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Diffstat (limited to 'src/backends/cl')
-rw-r--r-- | src/backends/cl/test/ClFallbackTests.cpp | 12 | ||||
-rw-r--r-- | src/backends/cl/test/ClOptimizedNetworkTests.cpp | 18 |
2 files changed, 14 insertions, 16 deletions
diff --git a/src/backends/cl/test/ClFallbackTests.cpp b/src/backends/cl/test/ClFallbackTests.cpp index 5885cbe8ef..4384ae5fec 100644 --- a/src/backends/cl/test/ClFallbackTests.cpp +++ b/src/backends/cl/test/ClFallbackTests.cpp @@ -51,8 +51,7 @@ BOOST_AUTO_TEST_CASE(ClImportEnabledFallbackToNeon) optOptions.m_ImportEnabled = true; IOptimizedNetworkPtr optNet = Optimize(*net, backends, runtime->GetDeviceSpec(), optOptions); - OptimizedNetwork* optNetObjPtr = PolymorphicDowncast<OptimizedNetwork*>(optNet.get()); - Graph& graph = optNetObjPtr->GetGraph(); + Graph& graph = GetGraphForTesting(optNet.get()); armnn::Layer* const layer0 = GetFirstLayerWithName(graph, "input0"); armnn::Layer* const layer1 = GetFirstLayerWithName(graph, "input1"); @@ -177,8 +176,7 @@ BOOST_AUTO_TEST_CASE(ClImportDisabledFallbackToNeon) OptimizerOptions optOptions; IOptimizedNetworkPtr optNet = Optimize(*net, backends, runtime->GetDeviceSpec(), optOptions); - OptimizedNetwork* optNetObjPtr = PolymorphicDowncast<OptimizedNetwork*>(optNet.get()); - Graph& graph = optNetObjPtr->GetGraph(); + Graph& graph = GetGraphForTesting(optNet.get()); armnn::Layer* const layer0 = GetFirstLayerWithName(graph, "input0"); armnn::Layer* const layer1 = GetFirstLayerWithName(graph, "input1"); @@ -307,8 +305,7 @@ BOOST_AUTO_TEST_CASE(ClImportEnabledFallbackSubgraphToNeon) optOptions.m_ImportEnabled = true; IOptimizedNetworkPtr optNet = Optimize(*net, backends, runtime->GetDeviceSpec(), optOptions); - OptimizedNetwork* optNetObjPtr = PolymorphicDowncast<OptimizedNetwork*>(optNet.get()); - Graph& graph = optNetObjPtr->GetGraph(); + Graph& graph = GetGraphForTesting(optNet.get()); armnn::Layer* const layer0 = GetFirstLayerWithName(graph, "input0"); armnn::Layer* const layer1 = GetFirstLayerWithName(graph, "input1"); @@ -445,8 +442,7 @@ BOOST_AUTO_TEST_CASE(ClImportDisableFallbackSubgraphToNeon) OptimizerOptions optOptions; IOptimizedNetworkPtr optNet = Optimize(*net, backends, runtime->GetDeviceSpec(), optOptions); - OptimizedNetwork* optNetObjPtr = PolymorphicDowncast<OptimizedNetwork*>(optNet.get()); - Graph& graph = optNetObjPtr->GetGraph(); + Graph& graph = GetGraphForTesting(optNet.get()); armnn::Layer* const layer0 = GetFirstLayerWithName(graph, "input0"); armnn::Layer* const layer1 = GetFirstLayerWithName(graph, "input1"); diff --git a/src/backends/cl/test/ClOptimizedNetworkTests.cpp b/src/backends/cl/test/ClOptimizedNetworkTests.cpp index dddc5aa8bc..a41c5f87e9 100644 --- a/src/backends/cl/test/ClOptimizedNetworkTests.cpp +++ b/src/backends/cl/test/ClOptimizedNetworkTests.cpp @@ -39,7 +39,9 @@ BOOST_AUTO_TEST_CASE(OptimizeValidateGpuDeviceSupportLayerNoFallback) // validate workloads armnn::ClWorkloadFactory fact = ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager()); - for (auto&& layer : static_cast<armnn::OptimizedNetwork*>(optNet.get())->GetGraph()) + + const armnn::Graph& theGraph = GetGraphForTesting(optNet.get()); + for (auto&& layer : theGraph) { BOOST_CHECK(layer->GetBackendId() == armnn::Compute::GpuAcc); BOOST_CHECK_NO_THROW( @@ -59,17 +61,17 @@ BOOST_AUTO_TEST_CASE(FP16TurboModeTestOnGpuAcc) // if there are inverse conversion layers remove them with optimization // at the moment FloorLayer is not supported in Fp16 so it rolls back to Fp32 // and inverse conversion layers are removed by the optimizer - armnn::Network net; + armnn::INetworkPtr net(armnn::INetwork::Create()); // Defines layers. - auto input = net.AddInputLayer(0, "input layer"); + auto input = net->AddInputLayer(0, "input layer"); // ReLu1 armnn::ActivationDescriptor activation1Descriptor; activation1Descriptor.m_Function = armnn::ActivationFunction::BoundedReLu; activation1Descriptor.m_A = 1.f; activation1Descriptor.m_B = -1.f; - auto activation = net.AddActivationLayer(activation1Descriptor, "activation layer"); - auto output = net.AddOutputLayer(0, "output layer"); + auto activation = net->AddActivationLayer(activation1Descriptor, "activation layer"); + auto output = net->AddOutputLayer(0, "output layer"); // Connects layers. input->GetOutputSlot(0).Connect(activation->GetInputSlot(0)); @@ -89,9 +91,9 @@ BOOST_AUTO_TEST_CASE(FP16TurboModeTestOnGpuAcc) optimizerOptions.m_ReduceFp32ToFp16 = true; armnn::IOptimizedNetworkPtr optimizedNet = armnn::Optimize( - net, backends, runtime->GetDeviceSpec(), optimizerOptions); + *net, backends, runtime->GetDeviceSpec(), optimizerOptions); - const armnn::Graph& graph = static_cast<armnn::OptimizedNetwork*>(optimizedNet.get())->GetGraph(); + const armnn::Graph& graph = GetGraphForTesting(optimizedNet.get()); // Tests that all layers are present in the graph. BOOST_TEST(graph.GetNumLayers() == 5); @@ -127,7 +129,7 @@ BOOST_AUTO_TEST_CASE(FastMathEnabledTestOnGpuAcc) BOOST_CHECK(optimizedNet); - auto modelOptionsOut = static_cast<armnn::OptimizedNetwork*>(optimizedNet.get())->GetModelOptions(); + auto modelOptionsOut = GetModelOptionsForTesting(optimizedNet.get()); BOOST_TEST(modelOptionsOut.size() == 1); BOOST_TEST(modelOptionsOut[0].GetOption(0).GetName() == "FastMathEnabled"); |