From 04a729708f986b1a69c1efc42d5cf18271cfae1e Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Mon, 14 Sep 2020 15:44:18 +0100 Subject: IVGCVSW-5157 'Pipe ModelOption through Network::LoadNetwork() to Workload factory' * Pass ModelOptions to WorkloadFactory * Updated signature of CL and NEON Convolution2d workloads added FastMathEnabled param. Signed-off-by: Sadik Armagan Change-Id: I536178be8e4dd4083489e69febadaf0feeba46d2 --- src/armnn/test/CreateWorkload.hpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/armnn/test/CreateWorkload.hpp') diff --git a/src/armnn/test/CreateWorkload.hpp b/src/armnn/test/CreateWorkload.hpp index fe73550bbc..b13b9b538e 100644 --- a/src/armnn/test/CreateWorkload.hpp +++ b/src/armnn/test/CreateWorkload.hpp @@ -32,14 +32,16 @@ using namespace std; // Calls CreateWorkload for a layer, and checks the returned pointer is of the correct type. template -std::unique_ptr MakeAndCheckWorkload(Layer& layer, const IWorkloadFactory& factory) +std::unique_ptr MakeAndCheckWorkload(Layer& layer, + const IWorkloadFactory& factory, + const ModelOptions& modelOptions = {}) { std::unique_ptr workload = layer.CreateWorkload(factory); BOOST_TEST(workload.get() == PolymorphicDowncast(workload.get()), "Cannot convert to derived class"); std::string reasonIfUnsupported; layer.SetBackendId(factory.GetBackendId()); - BOOST_TEST(factory.IsLayerSupported(layer, layer.GetDataType(), reasonIfUnsupported)); + BOOST_TEST(factory.IsLayerSupported(layer, layer.GetDataType(), reasonIfUnsupported, modelOptions)); return std::unique_ptr(static_cast(workload.release())); } @@ -220,7 +222,8 @@ std::unique_ptr CreateBatchNormalizationWorkload template std::unique_ptr CreateConvolution2dWorkloadTest(armnn::IWorkloadFactory& factory, armnn::Graph& graph, - DataLayout dataLayout = DataLayout::NCHW) + DataLayout dataLayout = DataLayout::NCHW, + const ModelOptions& modelOptions = {}) { // Creates the layer we're testing. Convolution2dDescriptor layerDesc; @@ -255,7 +258,7 @@ std::unique_ptr CreateConvolution2dWorkloadTest(armnn::IW CreateTensorHandles(graph, factory); // Makes the workload and checks it. - auto workload = MakeAndCheckWorkload(*layer, factory); + auto workload = MakeAndCheckWorkload(*layer, factory, modelOptions); Convolution2dQueueDescriptor queueDescriptor = workload->GetData(); BOOST_TEST(queueDescriptor.m_Parameters.m_StrideX == 2); -- cgit v1.2.1